public IEnumerable <UnitSpellSum> getUnitTotalSpellHealing(int raid, int encounter, String source) { HealingEvent[] events = getHealingForRaidEncounter(raid, encounter); List <HealingEvent> forSource = WowEvent.filterBySource <HealingEvent>(source, events); return(HealingEvent.groupBySpell(forSource.ToArray())); }
public void AddHealingEvent(HealingEvent healing) { if (healing != null) { healing.eventID = GenerateUUID(); Instance.healingList.Add(healing); } }
//Healing public void NewHealingEvent() { HealingEvent healingEvent = new HealingEvent(); if (player) { HealthTimesCount++; healingEvent.seconds_since_start = timer_since_start; healingEvent.health_num = HealthTimesCount; } writer.AddHealingEvent(healingEvent); }
internal HealingEvent[] getHealingForRaidEncounter(int raid, int encounter, bool forceRefresh = false) { if (forceRefresh) { List <HealingEvent> list = HealingEvent.convert(Cassandra.Instance.GetHealingForRaidEncounter(raid, encounter)); foreach (HealingEvent evt in list) { healingIndex.Put(evt.getKey(), evt); } return(list.ToArray()); } object[] temp = healingIndex.GetPrefix(HealingEvent.getRaidEncounterPrefix(raid, encounter)); if (temp.Length == 0) { return(getHealingForRaidEncounter(raid, encounter, true)); } return(convertToList <HealingEvent>(temp).ToArray()); }
private UnitTotalHealing getTotalHealingBySource(int raid, int encounter, String Source, bool forceRefresh = false) { UnitTotalHealing healing; if (forceRefresh) { HealingEvent[] events = getHealingForRaidEncounter(raid, encounter); foreach (UnitTotalHealing unit in HealingEvent.groupBySource(events)) { healingIndex.Set(String.Format(String.Format("TOTAL:{0}:{1}:{2}:", raid, encounter, unit.Source)), unit); } healing = (UnitTotalHealing)healingIndex.Get(String.Format("TOTAL:{0}:{1}:{2}:", raid, encounter, Source)); if (healing == null) { throw new ArgumentOutOfRangeException(Source + " does not exist in the encounter"); } else { return(healing); } } healing = (UnitTotalHealing)healingIndex.Get(String.Format("TOTAL:{0}:{1}:{2}:", raid, encounter, Source)); if (healing == null) { return(getTotalHealingBySource(raid, encounter, Source, true)); } else { return((UnitTotalHealing)healing); } }