1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-01 03:21:41 +00:00
OpenMW/apps/openmw/mwlua/globalscripts.hpp

38 lines
1.1 KiB
C++
Raw Normal View History

2020-12-18 22:21:10 +00:00
#ifndef MWLUA_GLOBALSCRIPTS_H
#define MWLUA_GLOBALSCRIPTS_H
#include <memory>
#include <set>
#include <string>
#include <components/lua/luastate.hpp>
#include <components/lua/scriptscontainer.hpp>
#include "object.hpp"
namespace MWLua
{
class GlobalScripts : public LuaUtil::ScriptsContainer
{
public:
GlobalScripts(LuaUtil::LuaState* lua) :
LuaUtil::ScriptsContainer(lua, "Global", ESM::LuaScriptCfg::sGlobal)
2020-12-18 22:21:10 +00:00
{
registerEngineHandlers({&mActorActiveHandlers, &mNewGameHandlers, &mPlayerAddedHandlers});
}
void newGameStarted() { callEngineHandlers(mNewGameHandlers); }
void actorActive(const GObject& obj) { callEngineHandlers(mActorActiveHandlers, obj); }
void playerAdded(const GObject& obj) { callEngineHandlers(mPlayerAddedHandlers, obj); }
private:
EngineHandlerList mActorActiveHandlers{"onActorActive"};
EngineHandlerList mNewGameHandlers{"onNewGame"};
EngineHandlerList mPlayerAddedHandlers{"onPlayerAdded"};
};
}
#endif // MWLUA_GLOBALSCRIPTS_H