private void NoWayToAttackPointHandler(IntVector2 position) { IntVector2 freePosition = GetFirstFreePositionInUnitRange(GetAttackTargetPosition()); if (_baseActionController.Destination.Equals(freePosition)) { freePosition = GetFirstFreePositionInUnitRange(GetAttackTargetPosition(), 2); _baseActionController.Wait(); } _baseActionController.MoveToPosition(freePosition); }
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(); } }
public void Wait() => _baseActionController.Wait();