Exemplo n.º 1
0
 private void RefreshButtonText(InitiativeCharacter initChar)
 {
     foreach (InitiativeCharacterButton b in initiativeCharacterButtons)
     {
         if (b.initCharacter.IsSameOriginDevice(initChar.characterDataMini))
         {
             b.UpdateText();
         }
     }
 }
Exemplo n.º 2
0
 public int CompareTo(InitiativeCharacter other)
 {
     if (other == null)
     {
         return(1);
     }
     else
     {
         return(this.initiativeNumber.CompareTo(other.initiativeNumber));
     }
 }
Exemplo n.º 3
0
 public void AddCharacter(InitiativeCharacter initChar)
 {
     initiativeCharacters.Add(initChar);
     RefreshButtons();
 }
Exemplo n.º 4
0
    // 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);
            }
        }
    }