summaryrefslogtreecommitdiff
path: root/src/KingSystem/ActorSystem/actBaseProcMap.cpp
blob: c38072e9547f88b1d0d428eb3fbb864c1ff3b4f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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