Rigs of Rods 2023.09
Soft-body Physics Simulation
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Loading...
Searching...
No Matches
DashBoardManagerAngelscript.cpp
Go to the documentation of this file.
1#include "Application.h"
2#include "ScriptEngine.h"
3#include "DashBoardManager.h"
4
5#include <angelscript.h>
6
7using namespace AngelScript;
8
9void RoR::RegisterDashBoardManager(asIScriptEngine* engine)
10{
11 int result = 0;
12
13 DashBoardManager::RegisterRefCountingObject(engine, "DashBoardManagerClass");
14 DashBoardManagerPtr::RegisterRefCountingObjectPtr(engine, "DashBoardManagerClassPtr", "DashBoardManagerClass");
15
16 // enum DashboardDataTypes
17 result = engine->RegisterEnum("DashboardDataTypes"); ROR_ASSERT(result >= 0);
18 result = engine->RegisterEnumValue("DashboardDataTypes", "DC_BOOL", DC_BOOL); ROR_ASSERT(result >= 0);
19 result = engine->RegisterEnumValue("DashboardDataTypes", "DC_INT", DC_INT); ROR_ASSERT(result >= 0);
20 result = engine->RegisterEnumValue("DashboardDataTypes", "DC_FLOAT", DC_FLOAT); ROR_ASSERT(result >= 0);
21 result = engine->RegisterEnumValue("DashboardDataTypes", "DC_STRING", DC_CHAR); ROR_ASSERT(result >= 0);
22 result = engine->RegisterEnumValue("DashboardDataTypes", "DC_INVALID", DC_INVALID); ROR_ASSERT(result >= 0);
23
24 // PLEASE maintain same order as in 'gui/DashBoardManager.cpp' and 'doc/angelscript/Script2Game/DashBoardManagerClass.h'
25 result = engine->RegisterObjectMethod("DashBoardManagerClass", "bool getBool(int key)", asMETHOD(DashBoardManager, _getBool), asCALL_THISCALL); ROR_ASSERT(result >= 0);
26 result = engine->RegisterObjectMethod("DashBoardManagerClass", "float getNumeric(int key)", asMETHOD(DashBoardManager, getNumeric), asCALL_THISCALL); ROR_ASSERT(result >= 0);
27
28 result = engine->RegisterObjectMethod("DashBoardManagerClass", "string getString(int key)", asFUNCTIONPR([](DashBoardManager* self, int key) -> std::string {
29 char* s = self->getChar(key);
30 return s != NULL ? std::string(s) : ""; }, (DashBoardManager*, int), std::string), asCALL_CDECL_OBJFIRST); ROR_ASSERT(result >= 0);
31
32 result = engine->RegisterObjectMethod("DashBoardManagerClass", "bool getEnabled(int key)", asMETHOD(DashBoardManager, getEnabled), asCALL_THISCALL); ROR_ASSERT(result >= 0);
33
34 result = engine->RegisterObjectMethod("DashBoardManagerClass", "void setBool(int key, bool value)", asMETHOD(DashBoardManager, setBool), asCALL_THISCALL); ROR_ASSERT(result >= 0);
35 result = engine->RegisterObjectMethod("DashBoardManagerClass", "void setInt(int key, int value)", asMETHOD(DashBoardManager, setInt), asCALL_THISCALL); ROR_ASSERT(result >= 0);
36 result = engine->RegisterObjectMethod("DashBoardManagerClass", "void setFloat(int key, float value)", asMETHOD(DashBoardManager, setFloat), asCALL_THISCALL); ROR_ASSERT(result >= 0);
37
38 result = engine->RegisterObjectMethod("DashBoardManagerClass", "void setString(int key, const string& value)", asFUNCTIONPR([](DashBoardManager* self, int key, const std::string& value) {
39 self->setChar(key, value.c_str()); }, (DashBoardManager*, int, const std::string&), void), asCALL_CDECL_OBJFIRST); ROR_ASSERT(result >= 0);
40
41 result = engine->RegisterObjectMethod("DashBoardManagerClass", "void setEnabled(int key, bool value)", asMETHOD(DashBoardManager, setEnabled), asCALL_THISCALL); ROR_ASSERT(result >= 0);
42 result = engine->RegisterObjectMethod("DashBoardManagerClass", "DashboardDataTypes getDataType(int key)", asMETHOD(DashBoardManager, getDataType), asCALL_THISCALL); ROR_ASSERT(result >= 0);
43 result = engine->RegisterObjectMethod("DashBoardManagerClass", "int getLinkIDForName(string& key)", asMETHOD(DashBoardManager, getLinkIDForName), asCALL_THISCALL); ROR_ASSERT(result >= 0);
44 result = engine->RegisterObjectMethod("DashBoardManagerClass", "void updateFeatures()", asMETHOD(DashBoardManager, updateFeatures), asCALL_THISCALL); ROR_ASSERT(result >= 0);
45}
Central state/object manager and communications hub.
#define ROR_ASSERT(_EXPR)
Definition Application.h:40
void RegisterDashBoardManager(AngelScript::asIScriptEngine *engine)