3 protected ref array<SCR_DamageManagerComponent> m_aDamageManagers = {};
6 override bool ShouldBePaused()
12 protected override void OnUpdate(ESystemPoint point)
14 float timeSlice = GetWorld().GetFixedTimeSlice();
16 foreach (SCR_DamageManagerComponent component : m_aDamageManagers)
19 component.UpdateFireDamage(timeSlice);
24 override void OnDiag(
float timeSlice)
26 DbgUI.Begin(
"FireDamageSystem");
28 DbgUI.Text(
"Damage managers: " + m_aDamageManagers.Count());
30 if (DbgUI.Button(
"Dump active fire damage manager components"))
32 foreach (SCR_DamageManagerComponent component : m_aDamageManagers)
34 Print(component.GetOwner(), LogLevel.ERROR);
43 void Register(SCR_DamageManagerComponent component)
46 if (component.GetOwner().IsDeleted() || (component.GetOwner().GetFlags() & EntityFlags.USER5))
49 if (!m_aDamageManagers.Contains(component))
50 m_aDamageManagers.Insert(component);
54 void Unregister(SCR_DamageManagerComponent component)
56 m_aDamageManagers.RemoveItem(component);
60 component.UpdateFireDamage(GetWorld().GetFixedTimeSlice());