void LuaScriptExports::registerScripts( void ) { LuaPlus::LuaObject globals = LuaStateManager::instance()->getGlobalVars(); // Init InternalLuaScriptExports::init(); // Resource loading globals.RegisterDirect("loadAndExecuteScriptResource",InternalLuaScriptExports::loadAndExecutreScriptResource); // Process manager globals.RegisterDirect("attachProcess",&InternalLuaScriptExports::attachScriptProcess); // Event system globals.RegisterDirect("registerEventListener", &InternalLuaScriptExports::registerEventListener); globals.RegisterDirect("removeEventListener", &InternalLuaScriptExports::removeEventListener); globals.RegisterDirect("queueEvent", &InternalLuaScriptExports::queueEvent); globals.RegisterDirect("triggerEvent", &InternalLuaScriptExports::triggerEvent); // Actors globals.RegisterDirect("createActor", &InternalLuaScriptExports::createActor); // Lua log globals.RegisterDirect("log",&InternalLuaScriptExports::lualog); }
//--------------------------------------------------------------------------------------------------------------------- // This function registers all the ScriptExports functions with the scripting system. It is called in // Application::Init(). //--------------------------------------------------------------------------------------------------------------------- void ScriptExports::Register(void) { LuaPlus::LuaObject globals = LuaStateManager::Get()->GetGlobalVars(); // init InternalScriptExports::Init(); // resource loading globals.RegisterDirect("LoadAndExecuteScriptResource", &InternalScriptExports::LoadAndExecuteScriptResource); // actors globals.RegisterDirect("CreateActor", &InternalScriptExports::CreateActor); // event system globals.RegisterDirect("RegisterEventListener", &InternalScriptExports::RegisterEventListener); globals.RegisterDirect("RemoveEventListener", &InternalScriptExports::RemoveEventListener); globals.RegisterDirect("QueueEvent", &InternalScriptExports::QueueEvent); globals.RegisterDirect("TriggerEvent", &InternalScriptExports::TriggerEvent); // process system globals.RegisterDirect("AttachProcess", &InternalScriptExports::AttachScriptProcess); // math LuaPlus::LuaObject mathTable = globals.GetByName("GccMath"); GCC_ASSERT(mathTable.IsTable()); mathTable.RegisterDirect("GetYRotationFromVector", &InternalScriptExports::GetYRotationFromVector); mathTable.RegisterDirect("WrapPi", &InternalScriptExports::WrapPi); mathTable.RegisterDirect("GetVectorFromRotation", &InternalScriptExports::GetVectorFromRotation); // misc globals.RegisterDirect("Log", &InternalScriptExports::LuaLog); globals.RegisterDirect("GetTickCount", &InternalScriptExports::GetTickCount); // Physics globals.RegisterDirect("ApplyForce", &InternalScriptExports::ApplyForce); globals.RegisterDirect("ApplyTorque", &InternalScriptExports::ApplyTorque); }
//============================================================= // C Functions for registering C++ functions to Lua script //============================================================= void LuaScriptExports::Register() { LuaPlus::LuaObject globals = LuaStateManager::Get()->GetGlobalVars(); // init LuaInternalScriptExports::Init(); // resource loading globals.RegisterDirect("LoadAndExecuteScriptResource", &LuaInternalScriptExports::LoadAndExecuteScriptResource); // gameobjects globals.RegisterDirect("CreateObject", &LuaInternalScriptExports::CreateGameObject); // events globals.RegisterDirect("RegisterEventListener", &LuaInternalScriptExports::RegisterEventListener); globals.RegisterDirect("RemoveEventListener", &LuaInternalScriptExports::RemoveEventListener); globals.RegisterDirect("QueueEvent", &LuaInternalScriptExports::QueueEvent); globals.RegisterDirect("TriggerEvent", &LuaInternalScriptExports::TriggerEvent); // processes globals.RegisterDirect("AttachProcess", &LuaInternalScriptExports::AttachScriptProcess); // math (these are registered to GccMath, not global LuaPlus::LuaObject mathTable = globals.GetByName("GccMath"); CB_ASSERT(mathTable.IsTable()); mathTable.RegisterDirect("GetYRotationFromVector", &LuaInternalScriptExports::GetYRotationFromVector); mathTable.RegisterDirect("WrapPi", &LuaInternalScriptExports::WrapPi); mathTable.RegisterDirect("GetVectorFromRotation", &LuaInternalScriptExports::GetVectorFromRotation); // misc globals.RegisterDirect("Log", &LuaInternalScriptExports::LuaLog); globals.RegisterDirect("GetTickCount", &LuaInternalScriptExports::GetTickCount); // physics globals.RegisterDirect("ApplyForce", &LuaInternalScriptExports::ApplyForce); globals.RegisterDirect("ApplyTorque", &LuaInternalScriptExports::ApplyTorque); }