private void Initiative()
    {
        combatLogController.Clear();
        combatLogController.SetAnouncement("ROUND 1");

        enumCombatants = combatants.GetEnumerator();
        enumCombatants.MoveNext();
        InitiativeCombatant next = (InitiativeCombatant)enumCombatants.Current;

        next.combatant.GiveTurn();
    }
    public void EndTurn()
    {
        if (combatEnded)
        {
            return;
        }

        if (!enumCombatants.MoveNext())
        {
            round++;
            combatLogController.SetAnouncement("ROUND " + round);
            enumCombatants = combatants.GetEnumerator();
            enumCombatants.MoveNext();
        }

        InitiativeCombatant next = (InitiativeCombatant)enumCombatants.Current;

        next.combatant.GiveTurn();
    }
    private void InsertCombatant(InitiativeCombatant combatant)
    {
        int i = 0;

        for (i = 0; i < combatants.Count; i++)
        {
            if (combatants [i].initiative < combatant.initiative)
            {
                combatants.Insert(i, combatant);
                return;
            }
            else if (combatants [i].initiative == combatant.initiative && combatants [i].bonus < combatant.bonus)
            {
                combatants.Insert(i, combatant);
                return;
            }
        }

        // if we get here, we just insert it in last position
        combatants.Insert(i, combatant);
    }