22 #ifndef MEDIASTATION_MEDIASCRIPT_SCRIPTVALUE_H 23 #define MEDIASTATION_MEDIASCRIPT_SCRIPTVALUE_H 25 #include "common/str.h" 27 #include "mediastation/datafile.h" 28 #include "mediastation/mediascript/scriptconstants.h" 29 #include "mediastation/mediascript/collection.h" 37 ScriptValue() : _type(kScriptValueTypeEmpty), _collection(
nullptr) {}
42 ScriptValueType getType()
const {
return _type; }
44 void setToFloat(uint i);
45 void setToFloat(
int i);
46 void setToFloat(
double d);
47 double asFloat()
const;
48 int asIntFromFloat()
const;
50 void setToBool(
bool b);
53 void setToTime(
double d);
54 double asTime()
const;
56 void setToParamToken(uint paramToken);
57 uint asParamToken()
const;
59 void setToActorId(uint actorId);
60 uint asActorId()
const;
68 void setToFunctionId(uint functionId);
69 uint asFunctionId()
const;
71 void setToMethodId(BuiltInMethod methodId);
72 BuiltInMethod asMethodId()
const;
96 ScriptValueType _type = kScriptValueTypeEmpty;
103 BuiltInMethod methodId;
107 void clearCollection();
111 static bool compareEmptyValues(Opcode op);
113 static bool compare(Opcode op, uint left, uint right);
114 static bool compare(Opcode op,
bool left,
bool right);
115 static bool compare(Opcode op,
double left,
double right);
119 static double binaryMathOperation(Opcode op,
double left,
double right);