From dd030fa8920d8cf9c863d2ffdcd791edc1749172 Mon Sep 17 00:00:00 2001 From: madmaxoft Date: Mon, 19 Aug 2013 09:28:22 +0200 Subject: Implemented the OnWorldTick hook. Triggerred for each world every time it ticks, parameters are the cWorld and the previous tick length (a_Dt) --- source/PluginManager.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'source/PluginManager.cpp') diff --git a/source/PluginManager.cpp b/source/PluginManager.cpp index de1963f91..104f58aaa 100644 --- a/source/PluginManager.cpp +++ b/source/PluginManager.cpp @@ -1180,6 +1180,27 @@ bool cPluginManager::CallHookWeatherChanging(cWorld & a_World, eWeather & a_NewW +bool cPluginManager::CallHookWorldTick(cWorld & a_World, float a_Dt) +{ + HookMap::iterator Plugins = m_Hooks.find(HOOK_WORLD_TICK); + if (Plugins == m_Hooks.end()) + { + return false; + } + for (PluginList::iterator itr = Plugins->second.begin(); itr != Plugins->second.end(); ++itr) + { + if ((*itr)->OnWorldTick(a_World, a_Dt)) + { + return true; + } + } + return false; +} + + + + + bool cPluginManager::HandleCommand(cPlayer * a_Player, const AString & a_Command, bool a_ShouldCheckPermissions) { ASSERT(a_Player != NULL); -- cgit v1.2.3