Rigs of Rods 2026.01
Soft-body Physics Simulation
Loading...
Searching...
No Matches
DashBoardManagerAngelscriptGeneric.cpp
Go to the documentation of this file.
1#include "Application.h"
2#include "ScriptEngine.h"
3#include "DashBoardManager.h"
4#include "../../autowrapper/aswrappedcall.h"
5
6#include <angelscript.h>
7
8using namespace AngelScript;
9
10static std::string DashBoardManagerGetString(RoR::DashBoardManager* self, int key)
11{
12 char* s = self->getChar(key);
13 return s != nullptr ? std::string(s) : "";
14}
15
16static void DashBoardManagerSetString(RoR::DashBoardManager* self, int key, const std::string& value)
17{
18 self->setChar(key, value.c_str());
19}
20
21void RoR::RegisterDashBoardManagerGeneric(asIScriptEngine* engine)
22{
23 int result = 0;
24
25 DashBoardManager::RegisterRefCountingObjectGeneric(engine, "DashBoardManagerClass");
26 DashBoardManagerPtr::RegisterRefCountingObjectPtrGeneric(engine, "DashBoardManagerClassPtr", "DashBoardManagerClass");
27
28 // PLEASE maintain same order as in 'gui/DashBoardManager.cpp' and 'doc/angelscript/Script2Game/DashBoardManagerClass.h'
29 result = engine->RegisterObjectMethod("DashBoardManagerClass", "bool getBool(int key)", WRAP_MFN(DashBoardManager, _getBool), asCALL_GENERIC); ROR_ASSERT(result >= 0);
30 result = engine->RegisterObjectMethod("DashBoardManagerClass", "float getNumeric(int key)", WRAP_MFN(DashBoardManager, getNumeric), asCALL_GENERIC); ROR_ASSERT(result >= 0);
31
32 result = engine->RegisterObjectMethod("DashBoardManagerClass", "string getString(int key)", WRAP_OBJ_FIRST_PR(DashBoardManagerGetString, (DashBoardManager*, int), std::string), asCALL_GENERIC); ROR_ASSERT(result >= 0);
33
34 result = engine->RegisterObjectMethod("DashBoardManagerClass", "bool getEnabled(int key)", WRAP_MFN(DashBoardManager, getEnabled), asCALL_GENERIC); ROR_ASSERT(result >= 0);
35
36 result = engine->RegisterObjectMethod("DashBoardManagerClass", "void setBool(int key, bool value)", WRAP_MFN(DashBoardManager, setBool), asCALL_GENERIC); ROR_ASSERT(result >= 0);
37 result = engine->RegisterObjectMethod("DashBoardManagerClass", "void setInt(int key, int value)", WRAP_MFN(DashBoardManager, setInt), asCALL_GENERIC); ROR_ASSERT(result >= 0);
38 result = engine->RegisterObjectMethod("DashBoardManagerClass", "void setFloat(int key, float value)", WRAP_MFN(DashBoardManager, setFloat), asCALL_GENERIC); ROR_ASSERT(result >= 0);
39
40 result = engine->RegisterObjectMethod("DashBoardManagerClass", "void setString(int key, const string&in value)", WRAP_OBJ_FIRST_PR(DashBoardManagerSetString, (DashBoardManager*, int, const std::string&), void), asCALL_GENERIC); ROR_ASSERT(result >= 0);
41
42 result = engine->RegisterObjectMethod("DashBoardManagerClass", "void setEnabled(int key, bool value)", WRAP_MFN(DashBoardManager, setEnabled), asCALL_GENERIC); ROR_ASSERT(result >= 0);
43 result = engine->RegisterObjectMethod("DashBoardManagerClass", "DashboardDataTypes getDataType(int key)", WRAP_MFN(DashBoardManager, getDataType), asCALL_GENERIC); ROR_ASSERT(result >= 0);
44 result = engine->RegisterObjectMethod("DashBoardManagerClass", "int getLinkIDForName(const string&in key)", WRAP_MFN(DashBoardManager, getLinkIDForName), asCALL_GENERIC); ROR_ASSERT(result >= 0);
45 result = engine->RegisterObjectMethod("DashBoardManagerClass", "void updateFeatures()", WRAP_MFN(DashBoardManager, updateFeatures), asCALL_GENERIC); ROR_ASSERT(result >= 0);
46}
Central state/object manager and communications hub.
#define ROR_ASSERT(_EXPR)
Definition Application.h:40
static std::string DashBoardManagerGetString(RoR::DashBoardManager *self, int key)
static void DashBoardManagerSetString(RoR::DashBoardManager *self, int key, const std::string &value)
#define WRAP_MFN(ClassType, name)
#define WRAP_OBJ_FIRST_PR(name, Parameters, ReturnType)
void setChar(int key, const char *val)
void RegisterDashBoardManagerGeneric(AngelScript::asIScriptEngine *engine)