| 1 | #pragma once |
| 2 | |
| 3 | namespace al { |
| 4 | class FunctorBase; |
| 5 | class IUseStageSwitch; |
| 6 | class StageSwitchDirector; |
| 7 | class PlacementInfo; |
| 8 | |
| 9 | void initStageSwitch(IUseStageSwitch* user, StageSwitchDirector* stageSwitchDirector, |
| 10 | const PlacementInfo& placementInfo); |
| 11 | bool isValidStageSwitch(const IUseStageSwitch* user, const char* linkName); |
| 12 | bool isOnStageSwitch(const IUseStageSwitch* user, const char* linkName); |
| 13 | void onStageSwitch(IUseStageSwitch* user, const char* linkName); |
| 14 | void offStageSwitch(IUseStageSwitch* user, const char* linkName); |
| 15 | bool tryOnStageSwitch(IUseStageSwitch* user, const char* linkName); |
| 16 | bool tryOffStageSwitch(IUseStageSwitch* user, const char* linkName); |
| 17 | bool isSameStageSwitch(const IUseStageSwitch* user, const IUseStageSwitch* otherUser, |
| 18 | const char* linkName); |
| 19 | bool isValidSwitchAppear(const IUseStageSwitch* user); |
| 20 | bool isOnSwitchAppear(const IUseStageSwitch* user); |
| 21 | bool isValidSwitchKill(const IUseStageSwitch* user); |
| 22 | bool isValidSwitchDeadOn(const IUseStageSwitch* user); |
| 23 | void onSwitchDeadOn(IUseStageSwitch* user); |
| 24 | void offSwitchDeadOn(IUseStageSwitch* user); |
| 25 | bool tryOnSwitchDeadOn(IUseStageSwitch* user); |
| 26 | bool tryOffSwitchDeadOn(IUseStageSwitch* user); |
| 27 | bool isValidSwitchStart(const IUseStageSwitch* user); |
| 28 | bool isOnSwitchStart(const IUseStageSwitch* user); |
| 29 | bool listenStageSwitchOn(IUseStageSwitch* user, const char* eventName, const FunctorBase& action); |
| 30 | bool listenStageSwitchOff(IUseStageSwitch* user, const char* eventName, const FunctorBase& action); |
| 31 | bool listenStageSwitchOnOff(IUseStageSwitch* user, const char* eventName, |
| 32 | const FunctorBase& actionOn, const FunctorBase& actionOff); |
| 33 | bool listenStageSwitchOnAppear(IUseStageSwitch* user, const FunctorBase& action); |
| 34 | bool listenStageSwitchOnOffAppear(IUseStageSwitch* user, const FunctorBase& actionOn, |
| 35 | const FunctorBase& actionOff); |
| 36 | bool listenStageSwitchOnKill(IUseStageSwitch* user, const FunctorBase& action); |
| 37 | bool listenStageSwitchOnOffKill(IUseStageSwitch* user, const FunctorBase& actionOn, |
| 38 | const FunctorBase& actionOff); |
| 39 | bool trySyncStageSwitchOnOffAppear(IUseStageSwitch* user, const FunctorBase& actionOn, |
| 40 | const FunctorBase& actionOff); |
| 41 | bool trySyncStageSwitchOnOffKill(IUseStageSwitch* user, const FunctorBase& actionOn, |
| 42 | const FunctorBase& actionOff); |
| 43 | bool trySyncStageSwitchOnOffAppearAndKill(IUseStageSwitch* user, const FunctorBase& actionOn, |
| 44 | const FunctorBase& actionOff); |
| 45 | bool trySyncStageSwitchOnOff(IUseStageSwitch* user, const FunctorBase& actionOn, |
| 46 | const FunctorBase& actionOff); |
| 47 | bool listenStageSwitchOnStart(IUseStageSwitch* user, const FunctorBase& action); |
| 48 | bool listenStageSwitchOnOffStart(IUseStageSwitch* user, const FunctorBase& actionOn, |
| 49 | const FunctorBase& actionOff); |
| 50 | bool listenStageSwitchOnStop(IUseStageSwitch* user, const FunctorBase& action); |
| 51 | } // namespace al |
| 52 | |