Пример #1
0
        public PVPSummary GetPVPSummary(WowRealm _Realm, string _Player)
        {
            PVPSummary retValue = null;
            string     realm    = VF_RealmPlayersDatabase.Utility.GetRealmPreString(_Realm);

            if (m_PVPSummaries.TryGetValue(realm + _Player, out retValue) == false)
            {
                return(null);
            }

            return(retValue);
        }
Пример #2
0
        public void UpdateRealm(VF_RealmPlayersDatabase.RealmDatabase _RealmDB)
        {
            DateTime nostalrius_HighestRank_FixDate = new DateTime(2017, 5, 30);

            foreach (var playerHistory in _RealmDB.PlayersHistory)
            {
                try
                {
                    if (playerHistory.Value.HonorHistory.Count < 1)
                    {
                        continue;
                    }

                    PVPSummary playerSummary = new PVPSummary();

                    DateTime currPVPWeek = DateTime.MinValue;
                    foreach (var honorHistory in playerHistory.Value.HonorHistory)
                    {
                        if (honorHistory.Data.LifetimeHighestRank > playerSummary.m_HighestRank.Key && honorHistory.Data.LifetimeHighestRank > honorHistory.Data.CurrentRank && (_RealmDB.Realm != WowRealm.Nostalrius || (_RealmDB.Realm == WowRealm.Nostalrius && honorHistory.Uploader.GetTime() > nostalrius_HighestRank_FixDate)))
                        {
                            playerSummary.m_HighestRank = new KeyValuePair <float, DateTime>(honorHistory.Data.LifetimeHighestRank, honorHistory.Uploader.GetTime());
                        }
                        else if (honorHistory.Data.GetRankTotal() > playerSummary.m_HighestRank.Key)
                        {
                            if (honorHistory.Data.CurrentRank > playerSummary.m_HighestRank.Key)
                            {
                                playerSummary.m_HighestRank = new KeyValuePair <float, DateTime>(honorHistory.Data.GetRankTotal(), honorHistory.Uploader.GetTime());
                            }
                            else
                            {
                                playerSummary.m_HighestRank = new KeyValuePair <float, DateTime>(honorHistory.Data.GetRankTotal(), playerSummary.m_HighestRank.Value);
                            }
                        }
                        if (currPVPWeek < honorHistory.Uploader.GetTime())
                        {
                            if (honorHistory.Data.LastWeekStanding > 0)
                            {
                                currPVPWeek = StaticValues.CalculateLastRankUpdadeDateUTC(_RealmDB.Realm, honorHistory.Uploader.GetTime()).AddDays(7);
                                playerSummary.m_ActivePVPWeeks += 1;
                            }
                        }
                    }
                    AddPVPSummary(_RealmDB.Realm, playerHistory.Key, playerSummary);
                }
                catch (Exception ex)
                {
                    VF_RealmPlayersDatabase.Logger.LogException(ex);
                }
            }
        }
Пример #3
0
 private void AddPVPSummary(WowRealm _Realm, string _Player, PVPSummary _PVPSummary)
 {
     m_PVPSummaries.Add(VF_RealmPlayersDatabase.Utility.GetRealmPreString(_Realm) + _Player, _PVPSummary);
 }