summaryrefslogtreecommitdiff
path: root/src/KingSystem/Resource/resCounter.cpp
blob: b85ff5e3d67545314d5ec93560c83a47849d6de0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include "KingSystem/Resource/resCounter.h"

namespace ksys::res {

CounterBase::CounterBase(sead::Heap*) {}

CounterBase::~CounterBase() = default;

bool CounterBase::setData(const CounterBase::Data& data) {
    return doSetData_(data);
}

void CounterBase::incrementRef() {
    mRefCount.increment();
}

void CounterBase::decrementRef() {
    if (mRefCount)
        mRefCount.decrement();
}

void CounterBase::setFlag() {
    mFlag = true;
}

void CounterBase::reset() {
    [[maybe_unused]] const auto count = mRefCount;
    mFlag = false;
}

bool CounterBase::isFlagSet() const {
    return mFlag;
}

bool Counter::doSetData_(const CounterBase::Data& data) {
    mData = data.mData;
    return true;
}

}  // namespace ksys::res