/// <summary> /// Initializing the settings and turnorder for the combat /// </summary> /// <param name="allCharacters"></param> public void SetupNewCombat(List <Character> allCharacters) { TurnOrder = new Queue <Character>(); CharacterInitiative[] characterInitiatives = new CharacterInitiative[allCharacters.Count]; for (int i = 0; i < allCharacters.Count; i++) { characterInitiatives[i] = new CharacterInitiative(allCharacters[i]); characterInitiatives[i].initiative = allCharacters[i].characterData.Agility.CurrentValue + AddRandomizer(); } Array.Sort(characterInitiatives); for (int i = 0; i < characterInitiatives.Length; i++) { TurnOrder.Enqueue(characterInitiatives[i].character); Debug.Log(characterInitiatives[i].initiative); } }
public int CompareTo(object obj) { if (obj == null) { return(1); } CharacterInitiative otherInitiative = obj as CharacterInitiative; if (otherInitiative != null) { return(otherInitiative.initiative.CompareTo(this.initiative)); } else { throw new ArgumentException("Object is not a Character Initiative"); } }