public IState OnStateUpdate() { if (Input.IsKeyDown(KeyCode.Space) && !timer.IsActive) { Bomb bomb = GlobalFactory <Bomb> .Get(typeof(Bomb)); bomb.Active = true; bomb.GetComponent <AnimationRenderer>().Enabled = true; bomb.Transform.Position = new Vector2((int)(owner.Transform.Position.X + 0.5f), (int)(owner.Transform.Position.Y + 0.5f)); //AudioManager.PlayClip(AudioType.SOUND_DROP); if (owner.CurrentExplosion == 0) { bomb.IsBig = false; } else { bomb.IsBig = true; } if (firstTimeSpawn) { GameObject.Spawn(bomb); Console.WriteLine("first spawn time of bomb"); firstTimeSpawn = false; } timer.Start(true); } //Maybe no restart if (timer.IsActive) { timer.Update(true); } return(this); }
private void ChooseBomb() { if (!IsBig) { for (int i = 0; i < littleExplosion; i++) { Explosion toAdd = GlobalFactory <Explosion> .Get(typeof(Explosion)); toAdd.Active = false; explosionList.Add(toAdd); } } else { for (int i = 0; i < bigExplosion; i++) { Explosion toAdd = GlobalFactory <Explosion> .Get(typeof(Explosion)); toAdd.Active = false; explosionList.Add(toAdd); } } }