private void SelectedLogic() { if (Input.GetKeyDown(KeyCode.Alpha1)) { unitStateHandler.SetState(Unit.UnitState.planningMovement); return; } else if (Input.GetKeyDown(KeyCode.Alpha2)) { unitStateHandler.SetState(Unit.UnitState.planningAttack); return; } }
public void MovementLogic(Vector3 startPos, Vector3 targetPos) { if (IsLegalMove(targetPos)) { DisplayPath(startPos, targetPos); } if (IsLegalMove(targetPos) && Input.GetMouseButtonDown(0) && unit.currentMovementPoints > 0) { StoreTargetInfo(startPos, targetPos); unitStateHandler.SetState(Unit.UnitState.moving); } }
private void InitiateAttack(Vector3 targetPos) { Node selectedNode = grid.NodeFromWorldPosition(targetPos); Unit target = UnitFromNode.SingleUnitFromNode(selectedNode); if (target != null) { unitStateHandler.SetState(Unit.UnitState.attacking); CommitAttack(target, unit.attackPower); } else { unitStateHandler.AttackFinished(); } }