示例#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);
        }
示例#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();
            }
        }
示例#3
0
 public void Wait() => _baseActionController.Wait();