Ejemplo n.º 1
0
 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]);
 }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
 public IReadOnlyDictionary <long, FinalActorBuffs> GetActiveBuffs(BuffEnum type, ParsedEvtcLog log, long start, long end)
 {
     return(_buffHelper.GetActiveBuffs(type, log, start, end));
 }
Ejemplo n.º 4
0
        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));
            }
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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));
            }
        }
Ejemplo n.º 7
0
        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));
            }
        }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
        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]);
            }
        }
Ejemplo n.º 10
0
        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);
            }
        }