Example #1
0
    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;
    }
Example #2
0
 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();
     }
 }