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,
71 DependencyType type = DependencyType::kNone;
78 int16 milliseconds = -1;
80 bool satisfied =
false;
84 bool stopEvaluating =
false;
100 enum ExecutionState { kBegin, kRun, kActionTrigger };
101 enum ExecutionType { kOneShot = 1, kRepeating = 2 };
108 _state(ExecutionState::kBegin),
110 _cursorDependency(
nullptr) {}
114 virtual void execute() {}
115 virtual void onPause(
bool pause) {}
117 virtual CursorManager::CursorType getHoverCursor()
const {
return CursorManager::kHotspot; }
118 virtual bool cursorSetFromScript()
const {
return false; }
119 virtual void handleInput(
NancyInput &input) {}
126 virtual bool canHaveHotspot()
const {
return false; }
129 virtual bool isPersistentAcrossScenes()
const {
return false; }
132 void finishExecution();
137 ExecutionType _execType;
148 ExecutionState _state;
163 void onPause(
bool pause)
override {
if (!pause) registerGraphics(); }
168 void execute()
override;
170 Common::String getRecordTypeName()
const override {
return "Unimplemented"; }
176 #endif // NANCY_ACTION_ACTIONRECORD_H
Definition: actionrecord.h:70
Definition: actionrecord.h:167
Definition: actionrecord.h:154
Definition: renderobject.h:36
Definition: actionrecord.h:98
Definition: algorithm.h:29
Definition: actionmanager.h:32