private void RefreshButtonText(InitiativeCharacter initChar) { foreach (InitiativeCharacterButton b in initiativeCharacterButtons) { if (b.initCharacter.IsSameOriginDevice(initChar.characterDataMini)) { b.UpdateText(); } } }
public int CompareTo(InitiativeCharacter other) { if (other == null) { return(1); } else { return(this.initiativeNumber.CompareTo(other.initiativeNumber)); } }
public void AddCharacter(InitiativeCharacter initChar) { initiativeCharacters.Add(initChar); RefreshButtons(); }
// Update is called once per frame void Update() { lock (charactersQueue) { while (charactersQueue.Count > 0) { Debug.Log("charactersQueue > 0"); lock (initiativeCharacters) { for (int i = charactersQueue.Count - 1; i >= 0; i--) { bool shouldAdd = true; Debug.Log("charactersQueue loop " + i); foreach (InitiativeCharacter initChar in initiativeCharacters) { Debug.Log("initChar loop"); if (initChar.IsSameOriginDevice(charactersQueue[i])) //same clients character we already have { initChar.UpdateCharacterDataMini(charactersQueue[i]); RefreshButtonText(initChar); Debug.Log("we have this char"); shouldAdd = false; } } if (initiativeCharacters.Count == 0 || shouldAdd) { Debug.Log("we dont have this char"); InitiativeCharacter newInitChar = new InitiativeCharacter(charactersQueue[i]); initiativeCharacters.Add(newInitChar); buttonsNeedToBeRefreshed = true; } charactersQueue.RemoveAt(i); } } } } if (buttonsNeedToBeRefreshed) { RefreshButtons(); } if (Input.GetKeyDown(KeyCode.Home)) { for (int i = 0; i < 10; i++) { CharacterDataMini newCharDat = new CharacterDataMini(); newCharDat.maxHealth = i; newCharDat.ac = i; newCharDat.name = "test" + i.ToString(); newCharDat.currentHealth = i; newCharDat.uniqueID = "host"; newCharDat.tempHealth = 0; InitiativeCharacter newInitChar = new InitiativeCharacter(newCharDat); newInitChar.initiativeNumber = i; newInitChar.isClientCharacter = false; AddCharacter(newInitChar); } } }