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,
61 kTimerLessThanDependencyTime = 13,
62 kTimerGreaterThanDependencyTime = 14,
63 kDifficultyLevel = 15,
64 kClosedCaptioning = 16,
66 kOpenParenthesis = 18,
67 kCloseParenthesis = 19,
71 kTimerEqualsDependencyTime = 23,
72 kTimerBelowDependencyTime = 24,
73 kTimerAboveDependencyTime = 25,
80 DependencyType type = DependencyType::kNone;
87 int16 milliseconds = -1;
89 bool satisfied =
false;
93 bool stopEvaluating =
false;
109 enum ExecutionState { kBegin, kRun, kActionTrigger };
110 enum ExecutionType { kOneShot = 1, kRepeating = 2 };
117 _state(ExecutionState::kBegin),
119 _cursorDependency(
nullptr) {}
123 virtual void execute() {}
124 virtual void onPause(
bool pause) {}
126 virtual CursorManager::CursorType getHoverCursor()
const {
return CursorManager::kHotspot; }
127 virtual bool cursorSetFromScript()
const {
return false; }
128 virtual void handleInput(
NancyInput &input) {}
135 virtual bool canHaveHotspot()
const {
return false; }
145 virtual bool survivesSceneChange(
bool nextSceneIsNoArt)
const {
return false; }
148 void finishExecution();
153 ExecutionType _execType;
164 ExecutionState _state;
179 void onPause(
bool pause)
override {
if (!pause) registerGraphics(); }
184 void execute()
override;
186 Common::String getRecordTypeName()
const override {
return "Unimplemented"; }
192 #endif // NANCY_ACTION_ACTIONRECORD_H
Definition: actionrecord.h:79
Definition: actionrecord.h:183
Definition: actionrecord.h:170
Definition: renderobject.h:36
Definition: actionrecord.h:107
Definition: algorithm.h:29
Definition: actionmanager.h:32