Exemple #1
0
        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
        }
Exemple #2
0
 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);
             }
         }
     }
 }