Rigs of Rods 2026.01
Soft-body Physics Simulation
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::RegisterDashBoardManagerNative(asIScriptEngine* engine)
10{
11 int result = 0;
12
13 DashBoardManager::RegisterRefCountingObject(engine, "DashBoardManagerClass");
14 DashBoardManagerPtr::RegisterRefCountingObjectPtr(engine, "DashBoardManagerClassPtr", "DashBoardManagerClass");
15
16 // PLEASE maintain same order as in 'gui/DashBoardManager.cpp' and 'doc/angelscript/Script2Game/DashBoardManagerClass.h'
17 result = engine->RegisterObjectMethod("DashBoardManagerClass", "bool getBool(int key)", asMETHOD(DashBoardManager, _getBool), asCALL_THISCALL); ROR_ASSERT(result >= 0);
18 result = engine->RegisterObjectMethod("DashBoardManagerClass", "float getNumeric(int key)", asMETHOD(DashBoardManager, getNumeric), asCALL_THISCALL); ROR_ASSERT(result >= 0);
19
20 result = engine->RegisterObjectMethod("DashBoardManagerClass", "string getString(int key)", asFUNCTIONPR([](DashBoardManager* self, int key) -> std::string {
21 char* s = self->getChar(key);
22 return s != NULL ? std::string(s) : ""; }, (DashBoardManager*, int), std::string), asCALL_CDECL_OBJFIRST); ROR_ASSERT(result >= 0);
23
24 result = engine->RegisterObjectMethod("DashBoardManagerClass", "bool getEnabled(int key)", asMETHOD(DashBoardManager, getEnabled), asCALL_THISCALL); ROR_ASSERT(result >= 0);
25
26 result = engine->RegisterObjectMethod("DashBoardManagerClass", "void setBool(int key, bool value)", asMETHOD(DashBoardManager, setBool), asCALL_THISCALL); ROR_ASSERT(result >= 0);
27 result = engine->RegisterObjectMethod("DashBoardManagerClass", "void setInt(int key, int value)", asMETHOD(DashBoardManager, setInt), asCALL_THISCALL); ROR_ASSERT(result >= 0);
28 result = engine->RegisterObjectMethod("DashBoardManagerClass", "void setFloat(int key, float value)", asMETHOD(DashBoardManager, setFloat), asCALL_THISCALL); ROR_ASSERT(result >= 0);
29
30 result = engine->RegisterObjectMethod("DashBoardManagerClass", "void setString(int key, const string value)", asFUNCTIONPR([](DashBoardManager* self, int key, const std::string value) {
31 self->setChar(key, value.c_str()); }, (DashBoardManager*, int, const std::string), void), asCALL_CDECL_OBJFIRST); ROR_ASSERT(result >= 0);
32
33 result = engine->RegisterObjectMethod("DashBoardManagerClass", "void setEnabled(int key, bool value)", asMETHOD(DashBoardManager, setEnabled), asCALL_THISCALL); ROR_ASSERT(result >= 0);
34 result = engine->RegisterObjectMethod("DashBoardManagerClass", "DashboardDataTypes getDataType(int key)", asMETHOD(DashBoardManager, getDataType), asCALL_THISCALL); ROR_ASSERT(result >= 0);
35 result = engine->RegisterObjectMethod("DashBoardManagerClass", "int getLinkIDForName(string key)", asMETHOD(DashBoardManager, getLinkIDForName), asCALL_THISCALL); ROR_ASSERT(result >= 0);
36 result = engine->RegisterObjectMethod("DashBoardManagerClass", "void updateFeatures()", asMETHOD(DashBoardManager, updateFeatures), asCALL_THISCALL); ROR_ASSERT(result >= 0);
37}
Central state/object manager and communications hub.
#define ROR_ASSERT(_EXPR)
Definition Application.h:40
void RegisterDashBoardManagerNative(AngelScript::asIScriptEngine *engine)