示例#1
0
 /// <summary>
 /// Moves player into the specified direction.
 /// </summary>
 /// <param name="direction">The direction in which player should be moved.</param>
 public void MovePlayer(Direction direction)
 {
     if (!_movementChecker.CheckMovement(_player, direction))
     {
         return;
     }
     _player.Move(direction);
 }
 /// <summary>
 /// Moves all the enemies. This is explicit interface implementation.
 /// </summary>
 void IEnemyMovementManager.MoveEnemies()
 {
     foreach (var enemy in Enemies)
     {
         Direction direction = enemy?.MovementAlgorithm?.ProvideDirection(enemy) ?? Direction.None;
         if (_movementChecker.CheckMovement(enemy, direction) && !_movementChecker.IsElementNextTo <Enemy>(enemy, direction))
         {
             enemy?.Move(direction);
         }
     }
 }