summaryrefslogtreecommitdiff
path: root/src/manager/flagAndOperatorManager.c
blob: 6236ef91bb82f4a2f5bd018c98facc36b448c8f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
 * @file flagAndOperatorManager.c
 * @ingroup Managers
 *
 * @brief Sets a flag if all of the flags are set.
 */
#include "manager/flagAndOperatorManager.h"
#include "flags.h"

void FlagAndOperatorManager_Main(FlagAndOperatorManager* this) {
    if (super->action == 0) {
        super->action = 1;
        if (CheckFlags(this->setFlag)) {
            DeleteThisEntity();
        }
    } else {
        if (CheckFlags(this->checkFlags)) {
            SetFlag(this->setFlag);
            DeleteThisEntity();
        }
    }
}