Exemplo n.º 1
0
        public GroupInfo GetGroupInfo(WowRealm _Realm, string _GroupName)
        {
            GroupInfo retValue = null;

            if (m_GroupInfos.TryGetValue(Utility.GetRealmPreString(_Realm) + _GroupName, out retValue) == false)
            {
                return(null);
            }

            return(retValue);
        }
Exemplo n.º 2
0
        public GroupRaidCollection GetGroupRC(WowRealm _Realm, string _GroupName)
        {
            GroupRaidCollection retValue = null;

            if (m_GroupRCs.TryGetValue(Utility.GetRealmPreString(_Realm) + _GroupName, out retValue) == false)
            {
                return(null);
            }

            return(retValue);
        }
Exemplo n.º 3
0
        public void GeneratePlayerSummaries()
        {
            if (m_PlayerSummaries.Count == 0)
            {
                lock (m_PlayerSummaries)
                {
                    if (m_PlayerSummaries.Count != 0)
                    {
                        return;
                    }

                    foreach (var groupRC in GroupRCs)
                    {
                        foreach (var raid in groupRC.Value.Raids)
                        {
                            List <string> bossFightsAdded = new List <string>();
                            foreach (var bossFight in raid.Value.BossFights)
                            {
                                if (bossFight.AttemptType != AttemptType.KillAttempt)
                                {
                                    continue;
                                }

                                if (bossFightsAdded.Contains(bossFight.BossName))
                                {
                                    continue;//Do not add duplicates!
                                }
                                bossFightsAdded.Add(bossFight.BossName);

                                foreach (var playerData in bossFight.PlayerFightData)
                                {
                                    if (playerData.Item2.Deaths > 0 || playerData.Item2.Damage > 0 || playerData.Item2.RawHeal > 0)
                                    {//If check can be removed if SummaryDatabase is fresh generated after 2014-04-12. This check exists in BossFight.cs generation aswell
                                        string playerKeyName = Utility.GetRealmPreString(groupRC.Value.m_Realm) + playerData.Item1;
                                        if (m_PlayerSummaries.ContainsKey(playerKeyName) == false)
                                        {
                                            m_PlayerSummaries.Add(playerKeyName, new PlayerSummary(playerData.Item1, groupRC.Value.Realm));
                                        }
                                        var currPlayerSummary = m_PlayerSummaries[playerKeyName];
                                        currPlayerSummary.AddBossFightData(bossFight, playerData.Item2);
                                    }
                                }
                            }
                        }
                    }
                    foreach (var playerSummary in m_PlayerSummaries)
                    {
                        playerSummary.Value.SortBossFights();
                    }
                }
            }
        }
Exemplo n.º 4
0
        public PlayerSummary GetPlayerSummary(string _Player, WowRealm _Realm)
        {
            if (m_PlayerSummaries.Count == 0)
            {
                GeneratePlayerSummaries();
            }
            PlayerSummary retValue = null;

            if (m_PlayerSummaries.TryGetValue(Utility.GetRealmPreString(_Realm) + _Player, out retValue) == false)
            {
                return(null);
            }

            return(retValue);
        }
Exemplo n.º 5
0
        public void GeneratePlayerSummaries(bool _ForceGenerate = false)
        {
            if (m_PlayerSummaries.Count == 0 || _ForceGenerate == true)
            {
                VF_RealmPlayersDatabase.Logger.ConsoleWriteLine("Started generating PlayerSummary");
                Dictionary <string, PlayerSummary> playerSummaries = new Dictionary <string, VF_RDDatabase.PlayerSummary>();
                foreach (var groupRC in GroupRCs)
                {
                    foreach (var raid in groupRC.Value.Raids)
                    {
                        List <string> bossFightsAdded = new List <string>();
                        foreach (var bossFight in raid.Value.BossFights)
                        {
                            if (bossFight.AttemptType != AttemptType.KillAttempt)
                            {
                                continue;
                            }

                            if (bossFightsAdded.Contains(bossFight.BossName))
                            {
                                continue;//Do not add duplicates!
                            }
                            bossFightsAdded.Add(bossFight.BossName);

                            foreach (var playerData in bossFight.PlayerFightData)
                            {
                                if (playerData.Item2.Deaths > 0 || playerData.Item2.Damage > 0 || playerData.Item2.RawHeal > 0)
                                {//If check can be removed if SummaryDatabase is fresh generated after 2014-04-12. This check exists in BossFight.cs generation aswell
                                    string playerKeyName = Utility.GetRealmPreString(groupRC.Value.m_Realm) + playerData.Item1;
                                    if (playerSummaries.ContainsKey(playerKeyName) == false)
                                    {
                                        playerSummaries.Add(playerKeyName, new PlayerSummary(playerData.Item1, groupRC.Value.Realm));
                                    }
                                    var currPlayerSummary = playerSummaries[playerKeyName];
                                    currPlayerSummary.AddBossFightData(bossFight, playerData.Item2);
                                }
                            }
                        }
                    }
                }
                foreach (var playerSummary in playerSummaries)
                {
                    playerSummary.Value.SortBossFights();
                }
                m_PlayerSummaries = playerSummaries;
                VF_RealmPlayersDatabase.Logger.ConsoleWriteLine("Done generating PlayerSummary");
            }
        }
Exemplo n.º 6
0
        public PlayerSummary GetPlayerSummary(string _Player, WowRealm _Realm)
        {
            if (m_PlayerSummaries.Count == 0)
            {
                DateTime timer = DateTime.Now;
                GC.Collect();
                GeneratePlayerSummaries();
                GC.Collect();
                VF_RealmPlayersDatabase.Logger.ConsoleWriteLine("Done with generating PlayerSummary after " + (DateTime.Now - timer));
            }
            PlayerSummary retValue = null;

            if (m_PlayerSummaries.TryGetValue(Utility.GetRealmPreString(_Realm) + _Player, out retValue) == false)
            {
                return(null);
            }

            return(retValue);
        }
Exemplo n.º 7
0
 private void AddGroupRC(GroupRaidCollection _GroupRaidCollection)
 {
     m_GroupRCs.Add(Utility.GetRealmPreString(_GroupRaidCollection.Realm) + _GroupRaidCollection.GroupName, _GroupRaidCollection);
 }
Exemplo n.º 8
0
 private void AddGroupInfo(GroupInfo _GroupInfo)
 {
     m_GroupInfos.Add(Utility.GetRealmPreString(_GroupInfo.Realm) + _GroupInfo.GroupName, _GroupInfo);
 }