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 OnClick() { if (OpositeArrow == null) { OpositeArrow = Destination.ArrowsComingOut.Find(x => x.Destination == this.Source); } SendTroopsBox.Instance.Activate(this, OpositeArrow); FMODPlayer.Instance.Play("arrow"); // Cancelar transferência de soldados //if (OpositeArrow.SoldiersToBeTransfered > 0 && tipo != ArrowType.Battle) //{ //OpositeArrow.SoldiersToBeTransfered--; //OpositeArrow.Source.RemoveSoldiers(SoldierType.ToGetOut, 1); //OpositeArrow.UpdateArrowText(); //} // Transferir soldados //else if (Source.GetSoldiers(SoldierType.ToGetOut) < Source.GetSoldiers(SoldierType.InProperty) // && tipo != ArrowType.Abort) //{ //this.Source.AddSoldiers(SoldierType.ToGetOut, 1); //this.SoldiersToBeTransfered++; //this.UpdateArrowText(); //} //Source.UpdateSoldierInfo(); //Destination.UpdateSoldierInfo(); }
public void CancelOperation() { canvasGroup.DOFade(0, fadeDuration); canvasGroup.interactable = false; canvasGroup.blocksRaycasts = false; numberOfSoldiers = 0; UpdateText(); currentSourceArrow = null; currentOpositeArrow = null; isActivaded = false; }
private void Start() { canvasGroup = GetComponent <CanvasGroup>(); canvasGroup.alpha = 0; canvasGroup.interactable = false; canvasGroup.blocksRaycasts = false; numberOfSoldiers = 0; currentSourceArrow = null; currentOpositeArrow = null; 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(); } }
public void UpdateSoldierButton(int callNumber = 0) { CreateSoldierButton(); if (OpositeArrow == null) { OpositeArrow = Destination.ArrowsComingOut.Find(x => x.Destination == this.Source); } if (callNumber > 0) { return; //AVOID STACKOVERFLOW } OpositeArrow.UpdateSoldierButton(1); }
private void Start() { TimerPanel.OnDayEnd += OnDayEnd; TimerPanel.OnAfterDayEnd += OnAfterDayEnd; TimerPanel.OnBattleEnded += OnBattleEnd; sectionManager = GameManager.Instance.CanvasHUD.GetComponent <SectionManager>(); EditButtons = GameManager.Instance.EditButtons; if (dominated == false) { soldiers = Random.Range(10, 20); } NumSoldier = Instantiate(GameManager.Instance.NumSoldier, GameManager.Instance.CanvasBattle.transform); NumSoldier.GetComponent <Text>().text = soldiers.ToString(); NumSoldier.GetComponent <NumSoldiersTextController>().Owner = this.transform; NumSoldier.transform.position = this.transform.position; foreach (Property neighbor in Neighbors) { GameObject NewArrow; NewArrow = Instantiate(GameManager.Instance.ArrowPrefab, EditButtons.transform); BattleArrowController newBAC = NewArrow.GetComponent <BattleArrowController>(); newBAC.SetSourceAndDestination(this, destination: neighbor); newBAC.CreateSoldierButton(); newBAC.NumSoldierFather = NumSoldier; newBAC.SetPosition(); ArrowsComingOut.Add(newBAC); neighbor.ArrowsComingIn.Add(newBAC); } UpdateSoldierInfo(); originalKingdom = kingdom; }