7 #include <miniscript/miniscript/MiniScript.h>
28 using std::make_unique;
30 using std::unique_ptr;
33 using miniscript::miniscript::MiniScript;
51 void EngineMiniScript::registerDataTypes() {
64 vector<string> scriptAsStringArray;
66 FileSystem::getInstance()->getContentAsStringArray(pathName, fileName, scriptAsStringArray);
68 Console::println(
"MiniScript::loadScript(): An error occurred: " +
string(exception.what()));
73 auto logicMiniScript =
false;
74 auto guiMiniScript =
false;
75 array<string, 2> logicMiniScriptFunctions {
79 array<string, 12> guiMiniScriptFunctions {
83 "onContextMenuRequest",
88 "onTooltipShowRequest",
89 "onTooltipCloseRequest",
93 for (
const auto& scriptLine: scriptAsStringArray) {
94 for (
const auto& functionName: logicMiniScriptFunctions) {
95 if (
StringTools::regexMatch(scriptLine,
"^[\\s]*function:[\\s]*" + functionName +
"[\\s]*\\(.*\\).*$") ==
true) {
96 logicMiniScript =
true;
100 if (logicMiniScript ==
true)
break;
101 for (
const auto& functionName: guiMiniScriptFunctions) {
102 if (
StringTools::regexMatch(scriptLine,
"^[\\s]*function:[\\s]*" + functionName +
"[\\s]*\\(.*\\).*$") ==
true) {
103 guiMiniScript =
true;
107 if (guiMiniScript ==
true)
break;
111 unique_ptr<EngineMiniScript> scriptInstance;
112 if (logicMiniScript ==
true) {
113 scriptInstance = make_unique<LogicMiniScript>();
114 scriptInstance->parseScript(pathName, fileName);
116 if (guiMiniScript ==
true) {
117 scriptInstance = make_unique<GUIMiniScript>(
nullptr);
118 scriptInstance->parseScript(pathName, fileName);
120 scriptInstance = make_unique<EngineMiniScript>();
121 scriptInstance->parseScript(pathName, fileName);
124 return scriptInstance.release();
131 return "tdme::utilities::EngineMiniScript";
136 "src/tdme/utilities/MiniScript.cpp",
137 "src/tdme/utilities/MiniScriptArray.cpp",
138 "src/tdme/utilities/MiniScriptBase.cpp",
139 "src/tdme/utilities/MiniScriptConsole.cpp",
140 "src/tdme/utilities/MiniScriptJSON.cpp",
141 "src/tdme/utilities/MiniScriptMap.cpp",
142 "src/tdme/utilities/MiniScriptMath.cpp",
143 "src/tdme/utilities/MiniScriptScript.cpp",
144 "src/tdme/utilities/MiniScriptSet.cpp",
145 "src/tdme/utilities/MiniScriptString.cpp",
146 "src/tdme/utilities/MiniScriptTime.cpp",
147 "src/tdme/utilities/MiniScriptXML.cpp",
148 "src/tdme/utilities/MiniScriptMatrix3x3.cpp",
149 "src/tdme/utilities/MiniScriptMatrix4x4.cpp",
150 "src/tdme/utilities/MiniScriptQuaternion.cpp",
151 "src/tdme/utilities/MiniScriptTransform.cpp",
152 "src/tdme/utilities/MiniScriptTranspiler.cpp",
153 "src/tdme/utilities/MiniScriptVector2.cpp",
154 "src/tdme/utilities/MiniScriptVector3.cpp",
155 "src/tdme/utilities/MiniScriptVector4.cpp"
File system singleton class.
static void println()
Print new line to console.
const string getBaseClass()
EngineMiniScript()
Public constructor.
const vector< string > getTranspilationUnits()
static EngineMiniScript * loadScript(const string &pathName, const string &fileName)
Load script.
MiniScript Matrix3x3 data type.
MiniScript Matrix4x4 data type.
MiniScript Quaternion data type.
MiniScript Vector2 data type.
MiniScript Vector3 data type.
MiniScript Vector4 data type.
std::exception Exception
Exception base class.