Beispiel #1
0
 private void Check()
 {
     for (var i = 0; i < checks.Length; i++)
     {
         checks[i] = movable.CanMove(i);
     }
 }
Beispiel #2
0
        public override void Do(PlayerObject player)
        {
            var destination = player.Movable.IntPosition + 2 * Constants.Directions[player.Movable.Direction];

            if (MovableComponent.CanMove(destination))
            {
                player.Movable.Position = destination;
            }
        }
Beispiel #3
0
        public override void Move(MovableComponent movable, int direction)
        {
            var position = movable.IntPosition;

            while (MovableComponent.CanMove(position + Constants.Directions[direction]))
            {
                position += Constants.Directions[direction];
            }

            movable.Move(position);
        }
Beispiel #4
0
 public override void Idle(MovableComponent movable)
 {
     foreach (var i in new int[] { 0, 2, 1, 3 })
     {
         var direction = (movable.Direction + i) % 4;
         if (movable.CanMove(direction))
         {
             movable.Move(direction);
             return;
         }
     }
 }