Files
2018-07-17 14:15:37 +02:00

109 lines
2.6 KiB
C++

#include "binds.h"
#include "script_components.h"
#include "main/references.h"
namespace scripts {
void RegisterServerSideBinds(bool shadow) {
InterfaceBind inf("Serializable");
//Declarations
RegisterObjectBinds(true, true, shadow);
RegisterObjectDefinitions();
RegisterEmpireBinds(true, true);
RegisterDesignBinds(!shadow, true);
RegisterObjectCreation(true);
RegisterSaveFileBinds(true, true);
RegisterRenderBinds(true, false, true);
RegisterDataBinds();
RegisterThreadingBinds();
RegisterInspectionBinds();
RegisterRenderBinds(false, false, true);
RegisterObjectCreation(false);
RegisterDesignBinds(!shadow, false);
RegisterNetworkBinds(true);
RegisterSaveFileBinds(true, false);
RegisterEventBinds(true, shadow, false);
RegisterComponentInterfaces(true);
RegisterEmpireBinds(false, true);
RegisterObjectBinds(false, true, shadow);
RegisterSoundBinds();
RegisterFormulaBinds(true);
RegisterDynamicTypes(true);
RegisterDatafiles();
RegisterScriptHooks();
RegisterJSONBinds();
RegisterProfileBinds();
}
void RegisterClientSideBinds(bool menu) {
InterfaceBind inf("Serializable");
RegisterObjectBinds(true, false, false);
RegisterObjectDefinitions();
RegisterEmpireBinds(true, false);
RegisterDesignBinds(false, true);
RegisterSaveFileBinds(false, true);
RegisterRenderBinds(true, false, false);
RegisterDataBinds();
RegisterThreadingBinds();
RegisterGeneralBinds(false, false);
RegisterProfileBinds();
RegisterGuiBinds();
RegisterParticleSystemBinds();
RegisterRenderBinds(false, false, false);
RegisterInspectionBinds();
RegisterDesignBinds(false, false);
RegisterJoystickBinds();
RegisterNetworkBinds(false);
RegisterSaveFileBinds(false, false);
RegisterEventBinds(false, false, menu);
RegisterComponentInterfaces(false);
RegisterObjectBinds(false, false, false);
RegisterEmpireBinds(false, false);
RegisterSoundBinds();
RegisterFormulaBinds(false);
RegisterDynamicTypes(false);
RegisterDatafiles();
RegisterScriptHooks();
RegisterJSONBinds();
RegisterWebBinds();
RegisterIRCBinds();
}
void RegisterServerBinds(asIScriptEngine* engine) {
if(!engine)
return;
setEngine(engine);
RegisterServerSideBinds(false);
RegisterGeneralBinds(true, false);
}
void RegisterShadowBinds(asIScriptEngine* engine) {
if(!engine)
return;
setEngine(engine);
RegisterServerSideBinds(true);
RegisterGeneralBinds(true, true);
}
void RegisterClientBinds(asIScriptEngine* engine) {
if(!engine)
return;
setEngine(engine);
RegisterClientSideBinds(false);
RegisterMenuBinds(true);
}
void RegisterMenuBinds(asIScriptEngine* engine) {
if(!engine)
return;
setEngine(engine);
RegisterClientSideBinds(true);
RegisterMenuBinds(false);
}
};