22 #ifndef ALCACHOFA_SCRIPT_H 23 #define ALCACHOFA_SCRIPT_H 25 #include "alcachofa/common.h" 27 #include "common/hashmap.h" 28 #include "common/span.h" 29 #include "common/stream.h" 30 #include "common/system.h" 77 enum class ScriptKernelTask {
118 SetMaxCamSpeedFactor,
125 LerpCamToObjectWithScale,
126 LerpCamToObjectResettingZ,
133 LerpCamToObjectKeepingZ
136 enum class ScriptFlags {
138 AllowMissing = (1 << 0),
139 IsBackground = (1 << 1)
141 inline ScriptFlags operator | (ScriptFlags a, ScriptFlags b) {
142 return (ScriptFlags)(((uint)a) | ((uint)b));
144 inline bool operator & (ScriptFlags a, ScriptFlags b) {
145 return ((uint)a) & ((uint)b);
160 void updateCommonVariables();
161 int32 variable(
const char *name)
const;
162 int32 &variable(
const char *name);
164 MainCharacterKind character,
166 ScriptFlags flags = ScriptFlags::None);
168 MainCharacterKind character,
171 ScriptFlags flags = ScriptFlags::None);
175 using VariableNameIterator = Common::HashMap<Common::String, uint32>::const_iterator;
176 inline VariableNameIterator beginVariables()
const {
return _variableNames.begin(); }
177 inline VariableNameIterator endVariables()
const {
return _variableNames.end(); }
178 inline bool hasVariable(
const char *name)
const {
return _variableNames.contains(name); }
181 friend struct ScriptTask;
182 friend struct ScriptTimerTask;
188 uint32 _scriptTimer = 0;
193 #endif // ALCACHOFA_SCRIPT_H Definition: alcachofa.h:45
Definition: scheduler.h:164
Definition: serializer.h:79