public void NextTurn() { TBC_CanvasManager.instance.ClearSelectionButtons(); TBC_CanvasManager.instance.descriptionText.text = ""; TBC_GameManager.instance.SetNextEntityTurn(); TBC_GameManager.instance.ActiveTurnEntity.startTurnEvent.Invoke(); if (TBC_GameManager.instance.ActiveTurnEntity != null) { foreach (TBC_Attack attack in TBC_GameManager.instance.ActiveTurnEntity.attackList) { attack.cooldownCount--; } if (ActiveTurnEntity.GetType() == typeof(TBC_EnemyEntity)) { TBC_Attack enemyAttack = null; while (enemyAttack == null) { enemyAttack = ActiveTurnEntity.attackList[Random.Range(0, ActiveTurnEntity.attackList.Length)]; if (enemyAttack.cooldownCount > 0) { enemyAttack = null; } } enemyAttack.ResetTargets(); if (enemyAttack.maxTargets < TBC_GameManager.instance.playerEntities.Count) { bool finishedAttack = false; while (!finishedAttack) { finishedAttack = enemyAttack.TryAddTarget(TBC_GameManager.instance.playerEntities[Random.Range(0, TBC_GameManager.instance.playerEntities.Count)]); } } else { foreach (TBC_PlayerEntity playerEntity in TBC_GameManager.instance.playerEntities) { enemyAttack.TryAddTarget(playerEntity); } } NextTurn(); } } }
public void SetNextEntityTurn() { if (playerSelectedAttack != null) { playerSelectedAttack.ResetTargets(); playerSelectedAttack = null; } ActiveTurnEntity.spriteUI.SetTurnUI(false); activeTurnEntityIndex = activeTurnEntityIndex + 1 >= playerEntities.Count + enemyEntities.Count ? 0 : activeTurnEntityIndex + 1; ActiveTurnEntity.spriteUI.SetTurnUI(true); }
public void SetupUI(TBC_Attack attack) { selectionButtonText.text = attack.name; if (attack.cooldownCount > 0) { cooldownUI.SetActive(true); cooldownText.text = attack.cooldownCount.ToString(); selectionButton.interactable = false; } else { cooldownUI.SetActive(false); selectionButton.interactable = true; } selectAttack = attack; }