aboutsummaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/common')
-rw-r--r--src/common/Utilities/EventProcessor.cpp14
-rw-r--r--src/common/Utilities/EventProcessor.h1
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: