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

Method TriggerDefault

Engine/source/EtCore/UpdateCycle/TickManager.cpp:76–106  ·  view source on GitHub ↗

--------------------------------- TickManager::TriggerDefault Trigger a tick if this triggerer is currently registered and has already triggered a tick in the last cycle, and there are no real time triggerers

Source from the content-addressed store, hash-verified

74// Trigger a tick if this triggerer is currently registered and has already triggered a tick in the last cycle, and there are no real time triggerers
75//
76void TickManager::TriggerDefault(I_DefaultTickTriggerer* const triggerer)
77{
78 // if we are rendering in real time default triggerers shouldn't tick
79 if (m_RealTimeTriggerers.size() > 0u)
80 {
81 return;
82 }
83
84 auto findResult = std::find_if(m_DefaultTriggerers.begin(), m_DefaultTriggerers.end(), [triggerer](T_DefaultTriggerer const& dt)
85 {
86 return dt.first == triggerer;
87 });
88
89 // only trigger a tick if this triggerer is registered
90 if (findResult != m_DefaultTriggerers.cend())
91 {
92 // If this triggerer has already been rendered but is calling again we should update everything
93 if (findResult->second)
94 {
95 EndTick();
96
97 for (T_DefaultTriggerer& dt : m_DefaultTriggerers)
98 {
99 dt.second = false;
100 }
101
102 Tick();
103 }
104 findResult->second = true;
105 }
106}
107
108//---------------------------------
109// TickManager::RegisterRealTimeTriggerer

Callers 1

TriggerTickMethod · 0.80

Calls 2

beginMethod · 0.80
endMethod · 0.80

Tested by

no test coverage detected