public void AddTactic(Tactic tactic) { int count = gameInfo.unusedTactics[Login.playerID].Count; if (count == Lineup.tacticLimit) { StartCoroutine(ShowFullTacticBag()); } else { gameInfo.AddTactic(tactic); tacticObjs[count].parent.gameObject.SetActive(true); int index = 0; if (count != 0) { index = gameInfo.unusedTactics[Login.playerID].IndexOf(tactic); for (int i = count; i > index; i--) { TacticInfo tacticInfo = tacticObjs[i - 1].GetComponent <TacticInfo>(); tacticObjs[i].GetComponent <TacticInfo>().SetAttributes(tacticInfo.tacticAttributes, Login.playerID, tacticInfo.tactic.original); } } TacticAttributes tacticAttributes = Database.FindTacticAttributes(tactic.tacticName); tacticObjs[index].GetComponent <TacticInfo>().SetAttributes(tacticAttributes, Login.playerID, false); tacticTriggers.Insert(index, tacticAttributes.trigger); SetTacticInteractable(); } }
public void RemoveTactic(Tactic tactic) { int index = gameInfo.FindUnusedTactic(tactic.tacticName, Login.playerID); int count = gameInfo.unusedTactics[Login.playerID].Count; if (count > 1) { for (int i = index; i < count - 1; i++) { TacticInfo tacticInfo = tacticObjs[i + 1].GetComponent <TacticInfo>(); tacticObjs[i].GetComponent <TacticInfo>().SetAttributes(tacticInfo.tacticAttributes, Login.playerID, tacticInfo.tactic.original); } } else { tacticObjs[0].GetComponent <TacticInfo>().Clear(); } tacticTriggers.RemoveAt(index); tacticObjs[count - 1].parent.gameObject.SetActive(false); gameInfo.RemoveTactic(index); SetTacticInteractable(); CancelTacticHighlight(); }