Ejemplo n.º 1
0
        private void NoWayToAttackPointHandler(IntVector2 position)
        {
            IntVector2 freePosition = GetFirstFreePositionInUnitRange(GetAttackTargetPosition());

            if (_baseActionController.Destination.Equals(freePosition))
            {
                freePosition = GetFirstFreePositionInUnitRange(GetAttackTargetPosition(), 2);
                _baseActionController.Wait();
            }

            _baseActionController.MoveToPosition(freePosition);
        }
Ejemplo n.º 2
0
        private void WaitForPoint(List <IOneUnitController> units)
        {
            var unit = GetNearestUnit(_baseActionController.Position, units);

            if (unit.Position.GetAdjacentPoints().Contains(_baseActionController.Position))
            {
                _baseActionController.WaitPosition(unit.Position);
            }
            else
            {
                _baseActionController.Wait();
            }
        }
Ejemplo n.º 3
0
 public void Wait() => _baseActionController.Wait();