public virtual void Tick(RealmTime time)
{
if (IsLimbo) return;
for (var i = 0; i < Timers.Count; i++)
if (Timers[i].Tick(this, time))
{
Timers.RemoveAt(i);
i--;
}
foreach (var i in Players)
i.Value.Tick(time);
if (EnemiesCollision != null)
{
foreach (var i in EnemiesCollision.GetActiveChunks(PlayersCollision))
i.Tick(time);
foreach (var i in StaticObjects.Where(x => x.Value is Decoy))
i.Value.Tick(time);
}
else
{
foreach (var i in Enemies)
i.Value.Tick(time);
foreach (var i in StaticObjects)
i.Value.Tick(time);
}
foreach (var i in Projectiles)
i.Value.Tick(time);
}