Beispiel #1
0
 public RaidBossFight.PlayerIdentifier RD_GetPlayerIdentifier(string _Name, RaidBossFight _RaidBossFight)
 {
     return(RD_GetPlayerIdentifier(_Name, _RaidBossFight.GetFightCacheData().m_FightDataCollection.m_RaidMembers));
 }
Beispiel #2
0
        public static List <FightEvent> GenerateFightEvents(RaidBossFight _Fight)
        {
            //var bossUnitData = _Fight.GetUnitData(_Fight.m_Fight.FightName);
            //if (bossUnitData == null)
            //{
            //    bossUnitData = null;
            //}
            //double bossDmgTaken = bossUnitData.DmgTaken;
            List <FightEvent> fightEvents = new List <FightEvent>();

            //bool added20PercentageEvent = false;

            var fightDetails = _Fight.GetFightDetails();
            int firstTime    = _Fight.GetFightData().TimeSlices.First().Time;

            //TimeSlice lastTimeSlice = null;
            for (int i = 0; i < fightDetails.Count; ++i)
            {
                var fightDetail = fightDetails[i];

                foreach (var fightEvent in fightDetail.Events)
                {
                    if (fightEvent.StartsWith("Phase"))
                    {
                        string phaseType = fightEvent.Split(new char[] { '=', ' ' })[0];
                        if (phaseType.EndsWith("_Y"))
                        {
                            phaseType = phaseType.Substring(0, phaseType.Length - 2);
                        }

                        fightEvents.Add(new FightEvent
                        {
                            m_FightEvent       = FightEventEnum.PhaseChange,
                            m_StringData       = phaseType,
                            m_TimeIntoTheFight = fightDetail.Time
                        });
                    }
                    else if (fightEvent.StartsWith("BossHealth"))
                    {
                        fightEvents.Add(new FightEvent
                        {
                            m_FightEvent       = FightEventEnum.BossHealth,
                            m_StringData       = fightEvent,
                            m_TimeIntoTheFight = fightDetail.Time
                        });
                    }
                }
                foreach (var unitData in fightDetail.UnitDatas)
                {
                    if (unitData.Value.I.Death > 0)
                    {
                        fightEvents.Add(new FightEvent
                        {
                            m_FightEvent       = FightEventEnum.UnitDeath,
                            m_StringData       = unitData.Key,
                            m_TimeIntoTheFight = fightDetail.Time
                        });
                    }
                }
            }
            return(fightEvents);
        }
Beispiel #3
0
 public Func <string, RaidBossFight.PlayerIdentifier> RD_GetPlayerIdentifierFunc(RaidBossFight _RaidBossFight)
 {
     return((_Value) => RD_GetPlayerIdentifier(_Value, _RaidBossFight.GetFightCacheData().m_FightDataCollection.m_RaidMembers));
 }
Beispiel #4
0
 public bool RD_IsPlayer(string _Name, RaidBossFight _RaidBossFight)
 {
     return(RD_IsPlayer(_Name, _RaidBossFight.GetFightCacheData().m_FightDataCollection.m_RaidMembers));
 }
Beispiel #5
0
 public Func <string, bool> RD_IsPlayerFunc(RaidBossFight _RaidBossFight)
 {
     return((_Value) => RD_IsPlayer(_Value, _RaidBossFight.GetFightCacheData().m_FightDataCollection.m_RaidMembers));
 }
Beispiel #6
0
 public VF_RealmPlayersDatabase.PlayerData.Player RD_FindPlayer(string _Name, RaidBossFight _RaidBossFight)
 {
     return(RD_FindPlayer(_Name, _RaidBossFight.GetFightCacheData().m_FightDataCollection.m_RaidMembers));
 }
Beispiel #7
0
 public Func <string, VF_RealmPlayersDatabase.PlayerData.Player> RD_FindPlayerFunc(RaidBossFight _RaidBossFight)
 {
     return((_Value) => RD_FindPlayer(_Value, _RaidBossFight.GetFightCacheData().m_FightDataCollection.m_RaidMembers));
 }