diff options
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/Utilities/EventProcessor.cpp | 14 | ||||
-rw-r--r-- | src/common/Utilities/EventProcessor.h | 1 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/common/Utilities/EventProcessor.cpp b/src/common/Utilities/EventProcessor.cpp index 07fce187ad3..039ca37b9d7 100644 --- a/src/common/Utilities/EventProcessor.cpp +++ b/src/common/Utilities/EventProcessor.cpp @@ -119,6 +119,20 @@ void EventProcessor::AddEvent(BasicEvent* Event, uint64 e_time, bool set_addtime m_events.insert(std::pair<uint64, BasicEvent*>(e_time, Event)); } +void EventProcessor::ModifyEventTime(BasicEvent* Event, uint64 newTime) +{ + for (auto itr = m_events.begin(); itr != m_events.end(); ++itr) + { + if (itr->second != Event) + continue; + + Event->m_execTime = newTime; + m_events.erase(itr); + m_events.insert(std::pair<uint64, BasicEvent*>(newTime, Event)); + break; + } +} + uint64 EventProcessor::CalculateTime(uint64 t_offset) const { return(m_time + t_offset); diff --git a/src/common/Utilities/EventProcessor.h b/src/common/Utilities/EventProcessor.h index 3b924dbb3e5..2f65957581c 100644 --- a/src/common/Utilities/EventProcessor.h +++ b/src/common/Utilities/EventProcessor.h @@ -79,6 +79,7 @@ class TC_COMMON_API EventProcessor void Update(uint32 p_time); void KillAllEvents(bool force); void AddEvent(BasicEvent* Event, uint64 e_time, bool set_addtime = true); + void ModifyEventTime(BasicEvent* Event, uint64 newTime); uint64 CalculateTime(uint64 t_offset) const; protected: |