aboutsummaryrefslogtreecommitdiff
path: root/src/game/GameEventMgr.cpp
diff options
context:
space:
mode:
authorn0n4m3 <none@none>2009-12-23 08:04:10 +0100
committern0n4m3 <none@none>2009-12-23 08:04:10 +0100
commit3fe0bc52541d8cdf4fa992d9b8b3101cde5848f0 (patch)
treebe5871dc19f69f4555d9ffa7c57e5d964b8e60e0 /src/game/GameEventMgr.cpp
parent7ea2510980d4b1c96f0341e9c8b9d5784862dc72 (diff)
Replaced time(NULL) on sGameTime.GetGameTime() this is used for better performance.
Original Timer.h divided into 2 parts. Shared project has no need to know about GameTime Singleton. 2 Identical structures with different types are now replaced with one generic templated structure and 2 typedefs. --HG-- branch : trunk
Diffstat (limited to 'src/game/GameEventMgr.cpp')
-rw-r--r--src/game/GameEventMgr.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/game/GameEventMgr.cpp b/src/game/GameEventMgr.cpp
index c48a0f3f892..735ee67ae01 100644
--- a/src/game/GameEventMgr.cpp
+++ b/src/game/GameEventMgr.cpp
@@ -30,6 +30,7 @@
#include "GossipDef.h"
#include "Player.h"
#include "BattleGroundMgr.h"
+#include "TimeMgr.h"
INSTANTIATE_SINGLETON_1(GameEventMgr);
@@ -40,7 +41,7 @@ bool GameEventMgr::CheckOneGameEvent(uint16 entry) const
default:
case GAMEEVENT_NORMAL:
{
- time_t currenttime = time(NULL);
+ time_t currenttime = sGameTime.GetGameTime();
// Get the event information
return mGameEvent[entry].start < currenttime
&& currenttime < mGameEvent[entry].end
@@ -57,7 +58,7 @@ bool GameEventMgr::CheckOneGameEvent(uint16 entry) const
// if inactive world event, check the prerequisite events
case GAMEEVENT_WORLD_INACTIVE:
{
- time_t currenttime = time(NULL);
+ time_t currenttime = sGameTime.GetGameTime();
for (std::set<uint16>::const_iterator itr = mGameEvent[entry].prerequisite_events.begin(); itr != mGameEvent[entry].prerequisite_events.end(); ++itr)
{
if( (mGameEvent[*itr].state != GAMEEVENT_WORLD_NEXTPHASE && mGameEvent[*itr].state != GAMEEVENT_WORLD_FINISHED) || // if prereq not in nextphase or finished state, then can't start this one
@@ -73,7 +74,7 @@ bool GameEventMgr::CheckOneGameEvent(uint16 entry) const
uint32 GameEventMgr::NextCheck(uint16 entry) const
{
- time_t currenttime = time(NULL);
+ time_t currenttime = sGameTime.GetGameTime();
// for NEXTPHASE state world events, return the delay to start the next event, so the followup event will be checked correctly
if ((mGameEvent[entry].state == GAMEEVENT_WORLD_NEXTPHASE || mGameEvent[entry].state == GAMEEVENT_WORLD_FINISHED) && mGameEvent[entry].nextstart >= currenttime)
@@ -128,7 +129,7 @@ bool GameEventMgr::StartEvent( uint16 event_id, bool overwrite )
ApplyNewEvent(event_id);
if(overwrite)
{
- mGameEvent[event_id].start = time(NULL);
+ mGameEvent[event_id].start = sGameTime.GetGameTime();
if(mGameEvent[event_id].end <= mGameEvent[event_id].start)
mGameEvent[event_id].end = mGameEvent[event_id].start+mGameEvent[event_id].length;
}
@@ -168,7 +169,7 @@ void GameEventMgr::StopEvent( uint16 event_id, bool overwrite )
if(overwrite && !serverwide_evt)
{
- mGameEvent[event_id].start = time(NULL) - mGameEvent[event_id].length * MINUTE;
+ mGameEvent[event_id].start = sGameTime.GetGameTime() - mGameEvent[event_id].length * MINUTE;
if(mGameEvent[event_id].end <= mGameEvent[event_id].start)
mGameEvent[event_id].end = mGameEvent[event_id].start+mGameEvent[event_id].length;
}
@@ -1045,7 +1046,7 @@ uint32 GameEventMgr::Initialize() // return the next e
uint32 GameEventMgr::Update() // return the next event delay in ms
{
- time_t currenttime = time(NULL);
+ time_t currenttime = sGameTime.GetGameTime();
uint32 nextEventDelay = max_ge_check_delay; // 1 day
uint32 calcDelay;
std::set<uint16> activate, deactivate;
@@ -1598,7 +1599,7 @@ bool GameEventMgr::CheckOneGameEventConditions(uint16 event_id)
// set the followup events' start time
if(!mGameEvent[event_id].nextstart)
{
- time_t currenttime = time(NULL);
+ time_t currenttime = sGameTime.GetGameTime();
mGameEvent[event_id].nextstart = currenttime + mGameEvent[event_id].length * 60;
}
return true;