summaryrefslogtreecommitdiff
path: root/src/KingSystem/ActorSystem/actBaseProcMap.cpp
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2020-06-05 17:09:06 +0200
committerLéo Lam <leo@leolam.fr>2020-08-18 22:50:25 +0200
commit2de366be0fa75e571c605e017b5604bccbdb75bf (patch)
treeb8044fc96bba792b1875067032da2fd4498a44a3 /src/KingSystem/ActorSystem/actBaseProcMap.cpp
Initial commit
Diffstat (limited to 'src/KingSystem/ActorSystem/actBaseProcMap.cpp')
-rw-r--r--src/KingSystem/ActorSystem/actBaseProcMap.cpp22
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