1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2024-12-29 12:20:41 +00:00
OpenMW/apps/openmw/mwlua/globalscripts.hpp

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

59 lines
2.2 KiB
C++
Raw Normal View History

2020-12-18 22:21:10 +00:00
#ifndef MWLUA_GLOBALSCRIPTS_H
#define MWLUA_GLOBALSCRIPTS_H
#include <components/lua/luastate.hpp>
#include <components/lua/scriptscontainer.hpp>
#include "object.hpp"
namespace MWLua
{
class GlobalScripts : public LuaUtil::ScriptsContainer
{
public:
2022-05-20 19:47:13 +00:00
GlobalScripts(LuaUtil::LuaState* lua)
: LuaUtil::ScriptsContainer(lua, "Global")
2020-12-18 22:21:10 +00:00
{
registerEngineHandlers({
&mObjectActiveHandlers,
&mActorActiveHandlers,
&mItemActiveHandlers,
&mNewGameHandlers,
&mPlayerAddedHandlers,
&mOnActivateHandlers,
&mOnUseItemHandlers,
&mOnNewExteriorHandlers,
});
2020-12-18 22:21:10 +00:00
}
void newGameStarted() { callEngineHandlers(mNewGameHandlers); }
void objectActive(const GObject& obj) { callEngineHandlers(mObjectActiveHandlers, obj); }
2020-12-18 22:21:10 +00:00
void actorActive(const GObject& obj) { callEngineHandlers(mActorActiveHandlers, obj); }
void itemActive(const GObject& obj) { callEngineHandlers(mItemActiveHandlers, obj); }
2020-12-18 22:21:10 +00:00
void playerAdded(const GObject& obj) { callEngineHandlers(mPlayerAddedHandlers, obj); }
void onActivate(const GObject& obj, const GObject& actor)
{
callEngineHandlers(mOnActivateHandlers, obj, actor);
}
void onUseItem(const GObject& obj, const GObject& actor, bool force)
{
callEngineHandlers(mOnUseItemHandlers, obj, actor, force);
}
void onNewExterior(const GCell& cell) { callEngineHandlers(mOnNewExteriorHandlers, cell); }
2020-12-18 22:21:10 +00:00
private:
EngineHandlerList mObjectActiveHandlers{ "onObjectActive" };
2020-12-18 22:21:10 +00:00
EngineHandlerList mActorActiveHandlers{ "onActorActive" };
EngineHandlerList mItemActiveHandlers{ "onItemActive" };
2020-12-18 22:21:10 +00:00
EngineHandlerList mNewGameHandlers{ "onNewGame" };
EngineHandlerList mPlayerAddedHandlers{ "onPlayerAdded" };
EngineHandlerList mOnActivateHandlers{ "onActivate" };
EngineHandlerList mOnUseItemHandlers{ "_onUseItem" };
EngineHandlerList mOnNewExteriorHandlers{ "onNewExterior" };
2020-12-18 22:21:10 +00:00
};
}
#endif // MWLUA_GLOBALSCRIPTS_H