Ejemplo n.º 1
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);
                }
            }
        }
Ejemplo n.º 2
0
 public RealmDB(VF_RealmPlayersDatabase.RealmDatabase _RealmDB)
 {
     m_RealmDB = _RealmDB;
 }