public void UpdateTurnIcon(int characterBattleId, CharacterProperties properties) { //if this character take step now TurnIcon turnIcon = null; if (characterBattleId == CurrentTurnIcon.ChainedCharacterBattleId) { CurrentTurnIcon.UpdateIcon(properties); } foreach (var icon in TurnIcons) { if (characterBattleId == icon.ChainedCharacterBattleId) { turnIcon = icon; break; } } //update icon if it was found if (turnIcon != null) { turnIcon.UpdateIcon(properties); } }
public void RemoveTurnIcon(int characterBattleId) { //character's turn if (CurrentTurnIcon.ChainedCharacterBattleId == characterBattleId && _lastTurnIcon != null) { Destroy(_lastTurnIcon.gameObject); _lastTurnIcon = null; } else { //find turn icon TurnIcon targetTurnIcon = null; int i; for (i = 0; i < TurnIcons.Count; ++i) { if (TurnIcons[i].ChainedCharacterBattleId == characterBattleId) { targetTurnIcon = TurnIcons[i]; break; } } TurnIcons.RemoveAt(i); targetTurnIcon.gameObject.SetActive(false); Destroy(targetTurnIcon.gameObject); } }
public void AddIcon(Character character, CharacterProperties properties) { GameObject gameObject = Instantiate(TurnIconPrefab, TurnIconsHandler.transform); TurnIcon turnIcon = gameObject.GetComponent <TurnIcon>(); turnIcon.SetCharacter(character.BattleId, properties); TurnIcons.Add(turnIcon); turnIcon.OnTurnIconClick.AddListener(ProcessTurnIconClick); }
int ComparerDepth(TurnIcon lhs, TurnIcon rhs) { int now = rhs.MoveSpeedCount.CompareTo(lhs.MoveSpeedCount); if (now == 0) { return(rhs.name.CompareTo(lhs.name)); } else { return(now); } }