public IReadOnlyDictionary <long, FinalPlayerBuffs> GetActiveBuffs(BuffEnum type, ParsedEvtcLog log, long start, long end) { if (_buffStats == null) { _buffStats = new CachingCollectionCustom <BuffEnum, Dictionary <long, FinalPlayerBuffs>[]>(log, BuffEnum.Self); } if (!_buffStats.TryGetValue(start, end, type, out Dictionary <long, FinalPlayerBuffs>[] value)) { value = SetBuffs(log, start, end, type); _buffStats.Set(start, end, type, value); } return(value[1]); }
public List <Dictionary <long, FinalBuffs> > GetBuffs(ParsedLog log, BuffEnum type) { if (_selfBuffs == null) { SetBuffs(log); } switch (type) { case BuffEnum.Group: return(_groupBuffs); case BuffEnum.OffGroup: return(_offGroupBuffs); case BuffEnum.Squad: return(_squadBuffs); case BuffEnum.Self: default: return(_selfBuffs); } }
public IReadOnlyDictionary <long, FinalActorBuffs> GetActiveBuffs(BuffEnum type, ParsedEvtcLog log, long start, long end) { return(_buffHelper.GetActiveBuffs(type, log, start, end)); }
internal virtual Dictionary <long, FinalActorBuffs>[] ComputeBuffs(ParsedEvtcLog log, long start, long end, BuffEnum type) { Dictionary <long, FinalActorBuffs>[] empty = { new Dictionary <long, FinalActorBuffs>(), new Dictionary <long, FinalActorBuffs>() }; switch (type) { case BuffEnum.Group: return(empty); case BuffEnum.OffGroup: return(empty); case BuffEnum.Squad: var otherPlayers = log.PlayerList.Where(p => p != this).ToList(); return(FinalActorBuffs.GetBuffsForPlayers(otherPlayers, log, AgentItem, start, end)); case BuffEnum.Self: default: return(FinalActorBuffs.GetBuffsForSelf(log, this, start, end)); } }
public static List <BuffData> BuildActiveBuffGenerationData(ParsedEvtcLog log, IReadOnlyList <Buff> listToUse, PhaseData phase, BuffEnum type) { var list = new List <BuffData>(); foreach (Player player in log.PlayerList) { list.Add(new BuffData(listToUse, player.GetActiveBuffs(type, log, phase.Start, phase.End))); } return(list); }
private Dictionary <long, FinalPlayerBuffs>[] SetBuffs(ParsedEvtcLog log, long start, long end, BuffEnum type) { switch (type) { case BuffEnum.Group: var otherPlayersInGroup = log.PlayerList .Where(p => p.Group == Group && Agent != p.Agent) .ToList(); return(FinalPlayerBuffs.GetBuffsForPlayers(otherPlayersInGroup, log, AgentItem, start, end)); case BuffEnum.OffGroup: var offGroupPlayers = log.PlayerList.Where(p => p.Group != Group).ToList(); return(FinalPlayerBuffs.GetBuffsForPlayers(offGroupPlayers, log, AgentItem, start, end)); case BuffEnum.Squad: var otherPlayers = log.PlayerList.Where(p => p.Agent != Agent).ToList(); return(FinalPlayerBuffs.GetBuffsForPlayers(otherPlayers, log, AgentItem, start, end)); case BuffEnum.Self: default: return(FinalPlayerBuffs.GetBuffsForSelf(log, this, start, end)); } }
internal override Dictionary <long, FinalActorBuffs>[] ComputeBuffs(ParsedEvtcLog log, long start, long end, BuffEnum type) { switch (type) { case BuffEnum.Group: var otherPlayersInGroup = log.PlayerList .Where(p => p.Group == Group && this != p) .ToList(); return(FinalActorBuffs.GetBuffsForPlayers(otherPlayersInGroup, log, AgentItem, start, end)); case BuffEnum.OffGroup: var offGroupPlayers = log.PlayerList.Where(p => p.Group != Group).ToList(); return(FinalActorBuffs.GetBuffsForPlayers(offGroupPlayers, log, AgentItem, start, end)); case BuffEnum.Squad: var otherPlayers = log.PlayerList.Where(p => p != this).ToList(); return(FinalActorBuffs.GetBuffsForPlayers(otherPlayers, log, AgentItem, start, end)); case BuffEnum.Self: default: return(FinalActorBuffs.GetBuffsForSelf(log, this, start, end)); } }
public static List <BuffData> BuildActiveBuffGenerationData(ParsedEvtcLog log, IReadOnlyList <Buff> listToUse, PhaseData phase, BuffEnum type) { var list = new List <BuffData>(); foreach (AbstractSingleActor actor in log.Friendlies) { list.Add(new BuffData(listToUse, actor.GetActiveBuffs(type, log, phase.Start, phase.End))); } return(list); }
public Dictionary <long, FinalPlayerBuffs> GetActiveBuffs(ParsedLog log, int phaseIndex, BuffEnum type) { if (_selfBuffsActive == null) { SetBuffs(log); } switch (type) { case BuffEnum.Group: return(_groupActiveBuffs[phaseIndex]); case BuffEnum.OffGroup: return(_offGroupActiveBuffs[phaseIndex]); case BuffEnum.Squad: return(_squadActiveBuffs[phaseIndex]); case BuffEnum.Self: default: return(_selfBuffsActive[phaseIndex]); } }
internal static List <BuffData> BuildActiveBuffGenerationData(ParsedEvtcLog log, List <Buff> listToUse, int phaseIndex, BuffEnum target) { var list = new List <BuffData>(); foreach (Player player in log.PlayerList) { Dictionary <long, FinalPlayerBuffs> uptimes; uptimes = player.GetActiveBuffs(log, phaseIndex, target); list.Add(new BuffData(listToUse, uptimes)); } return(list); }
public List <Dictionary <long, FinalPlayerBuffs> > GetActiveBuffs(ParsedEvtcLog log, BuffEnum type) { if (_selfBuffsActive == null) { SetBuffs(log); } switch (type) { case BuffEnum.Group: return(_groupActiveBuffs); case BuffEnum.OffGroup: return(_offGroupActiveBuffs); case BuffEnum.Squad: return(_squadActiveBuffs); case BuffEnum.Self: default: return(_selfBuffsActive); } }