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); }
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); } } }
private void AddPVPSummary(WowRealm _Realm, string _Player, PVPSummary _PVPSummary) { m_PVPSummaries.Add(VF_RealmPlayersDatabase.Utility.GetRealmPreString(_Realm) + _Player, _PVPSummary); }