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); }