public override void HandleBullet(IBulletMovementStrategy strategy) { if (strategy is HomingBuletStrategy) { GameStateSingleton.Instance.State.Player.State.Health -= 10; } else { successor?.HandleBullet(strategy); } }
public Bullet(Directions direction, IBulletMovementStrategy strategy, CloseBulletHandler closeBulletHandler) { _strategy = strategy; State.X = GameStateSingleton.Instance.State.Chaser.State.X; State.Y = GameStateSingleton.Instance.State.Chaser.State.Y; State.Width = 30; State.Height = 30; Direction = direction; State.IsCollidable = true; this.closeBulletHandler = closeBulletHandler; }
public override void HandleBullet(IBulletMovementStrategy strategy) { if (strategy is StraightTravelBulletStrategy) { var stunner = new Stunner(); GameStateSingleton.Instance.State.Player.State.Health -= 5; GameStateSingleton.Instance.State.Player.Accept(stunner); } else { successor?.HandleBullet(strategy); } }
public abstract void HandleBullet(IBulletMovementStrategy strategy);