public void UpdateSpawnables(float deltaTimeInSeconds) { // EXPLODE for (int i = 0; i < Spawnables.Count; i++) { if (Spawnables[i] != null) { Spawnable p = Spawnables[i]; // Changing to Bomb.IgnitionDuration instead p.DespawnDrawableAfter // removes Bomb decals too fast or slow (aka. local timescale instead global) if (p.TimeSinceCreation > (float)(p.DespawnDrawableAfter / 1000)) { // SPAWN EXPLOSIONS - just before bomb erases Bomb.BombExplosionTimer.Restart(); // restart wait clock when placed Spawnables.RemoveAt(i); // pop expired bomb } else { p.AddDeltaTime(deltaTimeInSeconds); } } } // Remove old explosions UpdateBombColliders(deltaTimeInSeconds); // remove collider }
public void UpdateBombColliders(float deltaTimeInSeconds) { for (int i = 0; i < BombTriggers.Count; i++) { if (BombTriggers[i] != null) { Spawnable p = BombTriggers[i]; if (p.TimeSinceCreation > p.DespawnDrawableAfter) { BombTriggers.RemoveAt(i); // pop expired collider } else { p.AddDeltaTime(deltaTimeInSeconds); } } } }