public CombatantWrapper(Combatant combatant) { this.Combatant = combatant; this.Count = 1; }
public void RemoveCombatant(Combatant combatant) { if (combatant == null) { throw new ArgumentNullException("combatant"); } CombatantWrapper wrapper; if (this.Combatants.TryGetValue(combatant.Handle, out wrapper) && (wrapper.RenderType != RenderType.Character)) { if (wrapper.Count <= 1) { this.Combatants.Remove(combatant.Handle); } else { wrapper.Count--; } } else if (wrapper.RenderType == RenderType.Character) { this.Combatants.Remove(combatant.Handle); } }
public CombatParticipant(Combatant combatant) { this.Combatant = combatant; this.Effects = new ObservableKeyedCollection<int, Effect>(e => e.Key); }
public void AddCombatant(Combatant combatant) { if (combatant == null) { throw new ArgumentNullException("combatant"); } CombatantWrapper wrapper; if (this.Combatants.TryGetValue(combatant.Handle, out wrapper)) { if (wrapper.RenderType != RenderType.Character) { wrapper.Count++; } } else { this.Combatants.Add(new CombatantWrapper(combatant)); } }