22 #ifndef NANCY_ACTION_ACTIONRECORD_H 23 #define NANCY_ACTION_ACTIONRECORD_H 25 #include "engines/nancy/time.h" 26 #include "engines/nancy/cursor.h" 27 #include "engines/nancy/commontypes.h" 28 #include "engines/nancy/renderobject.h" 31 class SeekableReadStream;
42 enum struct DependencyType : int16 {
48 kElapsedSceneTime = 5,
49 kElapsedPlayerTime = 6,
53 kElapsedPlayerDay = 10,
56 kTimerLessThanDependencyTime = 13,
57 kTimerGreaterThanDependencyTime = 14,
58 kDifficultyLevel = 15,
59 kClosedCaptioning = 16,
61 kOpenParenthesis = 18,
62 kCloseParenthesis = 19,
70 DependencyType type = DependencyType::kNone;
77 int16 milliseconds = -1;
79 bool satisfied =
false;
83 bool stopEvaluating =
false;
102 enum ExecutionState { kBegin, kRun, kActionTrigger };
103 enum ExecutionType { kOneShot = 1, kRepeating = 2 };
110 _state(ExecutionState::kBegin),
112 _cursorDependency(
nullptr) {}
116 virtual void execute() {}
117 virtual void onPause(
bool pause) {}
119 virtual CursorManager::CursorType getHoverCursor()
const {
return CursorManager::kHotspot; }
120 virtual void handleInput(
NancyInput &input) {}
123 void finishExecution();
124 virtual bool canHaveHotspot()
const {
return false; }
132 ExecutionType _execType;
143 ExecutionState _state;
156 void onPause(
bool pause)
override {
if (!pause) registerGraphics(); }
161 void execute()
override;
163 Common::String getRecordTypeName()
const override {
return "Unimplemented"; }
169 #endif // NANCY_ACTION_ACTIONRECORD_H
Definition: actionrecord.h:69
Definition: actionrecord.h:160
Definition: actionrecord.h:149
Definition: actionmanager.h:48
Definition: renderobject.h:36
Definition: actionrecord.h:97
Definition: algorithm.h:29
Definition: actionmanager.h:32