diff options
Diffstat (limited to 'src/KingSystem/ActorSystem/actBaseProcMap.cpp')
| -rw-r--r-- | src/KingSystem/ActorSystem/actBaseProcMap.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/KingSystem/ActorSystem/actBaseProcMap.cpp b/src/KingSystem/ActorSystem/actBaseProcMap.cpp new file mode 100644 index 00000000..c38072e9 --- /dev/null +++ b/src/KingSystem/ActorSystem/actBaseProcMap.cpp @@ -0,0 +1,22 @@ +#include "KingSystem/ActorSystem/actBaseProcMap.h" + +namespace ksys::act { + +void BaseProcMapNode::add(BaseProcMapNode* node) { + auto next = mNext; + node->mPrev = this; + node->mNext = next; + mNext = node; + if (next) + next->mPrev = node; +} + +void BaseProcMap::insert(BaseProcMapNode* node) { + if (auto existing_node = find(node->key())) + existing_node->add(node); + else + StrTreeMap::insert(node); + node->setInserted(); +} + +} // namespace ksys::act |
