public void ConfirmSoldiers() { // Executa as movimentações de soldados supondo que o número é válido switch (currentSourceArrow.GetTipo()) { case ArrowType.Battle: case ArrowType.Arrow: currentSourceArrow.Source.SetSoldiers(SoldierType.ToGetOut, numberOfSoldiers); currentSourceArrow.SetSoldiersToBeTransfered(numberOfSoldiers); currentSourceArrow.UpdateArrowText(); break; case ArrowType.Abort: currentOpositeArrow.SetSoldiersToBeTransfered(currentOpositeArrow.GetSoldiersToBeTransfered() - numberOfSoldiers); currentOpositeArrow.Source.RemoveSoldiers(SoldierType.ToGetOut, numberOfSoldiers); currentOpositeArrow.UpdateArrowText(); break; } canvasGroup.DOFade(0, fadeDuration); canvasGroup.interactable = false; canvasGroup.blocksRaycasts = false; currentSourceArrow.Source.UpdateSoldierInfo(); currentOpositeArrow.Source.UpdateSoldierInfo(); currentSourceArrow = null; currentOpositeArrow = null; numberOfSoldiers = 0; UpdateText(); isActivaded = false; }
public void Activate(BattleArrowController sourceArrow, BattleArrowController opositeArrow) { canvasGroup.DOFade(1, fadeDuration); canvasGroup.interactable = true; canvasGroup.blocksRaycasts = true; currentSourceArrow = sourceArrow; currentOpositeArrow = opositeArrow; isActivaded = true; if (sourceArrow.GetSoldiersToBeTransfered() > 0) { numberOfSoldiers = sourceArrow.GetSoldiersToBeTransfered(); UpdateText(); } }