MCPcopy Create free account
hub / github.com/Illation/ETEngine / TriggerRealTime

Method TriggerRealTime

Engine/source/EtCore/UpdateCycle/TickManager.cpp:43–69  ·  view source on GitHub ↗

--------------------------------- TickManager::TriggerRealTime Trigger a tick if this triggerer is currently registered and has already triggered a tick in the last cycle

Source from the content-addressed store, hash-verified

41// Trigger a tick if this triggerer is currently registered and has already triggered a tick in the last cycle
42//
43void TickManager::TriggerRealTime(I_RealTimeTickTriggerer* const triggerer)
44{
45 std::vector<T_RealTimeTriggerer> triggerersCopy = m_RealTimeTriggerers; // ensure adding or removing during tick doesn't cause issues
46
47 auto findResult = std::find_if(triggerersCopy.begin(), triggerersCopy.end(), [triggerer](T_RealTimeTriggerer const& rt)
48 {
49 return rt.first == triggerer;
50 });
51
52 // only trigger a tick if this triggerer is registered
53 if (findResult != triggerersCopy.cend())
54 {
55 // If this triggerer has already been rendered but is calling again we should update everything
56 if (findResult->second)
57 {
58 EndTick();
59
60 for (T_RealTimeTriggerer& rt : triggerersCopy)
61 {
62 rt.second = false;
63 }
64
65 Tick();
66 }
67 findResult->second = true;
68 }
69}
70
71//---------------------------------
72// TickManager::TriggerDefault

Callers 1

TriggerTickMethod · 0.80

Calls 2

beginMethod · 0.80
endMethod · 0.80

Tested by

no test coverage detected