Exemple #1
0
        public static void Init()
        {
            ScoringManager.m_diamondPrizes = new LogicArrayList <int>();
            ScoringManager.m_diamondPrizes.Add(50000);
            ScoringManager.m_diamondPrizes.Add(30000);
            ScoringManager.m_diamondPrizes.Add(15000);

            if (ServerCore.Id == 0)
            {
                DateTime seasonTime     = DateTime.UtcNow.AddMonths(1);
                DateTime lastSeasonTime = seasonTime.AddMonths(-1);

                ScoringManager.m_currentSeason = ScoringManager.LoadOrCreateSeason(new LogicLong(seasonTime.Year, seasonTime.Month));
                ScoringManager.m_lastSeason    = ScoringManager.LoadSeason(new LogicLong(lastSeasonTime.Year, lastSeasonTime.Month));
                ScoringManager.m_thread        = new Thread(ScoringManager.Update);
                ScoringManager.m_thread.Start();
            }
        }
Exemple #2
0
        private static ScoringSeason LoadOrCreateSeason(LogicLong id)
        {
            ScoringSeason scoringSeason = ScoringManager.LoadSeason(id);

            if (scoringSeason == null)
            {
                IOperationResult <string> result = ServerScoring.SeasonDatabase.Insert(id, CouchbaseDocument.Save(scoringSeason = new ScoringSeason(id))).Result;

                if (!result.Success)
                {
                    throw result.Exception;
                }

                scoringSeason.NextCheckTime = DateTime.UtcNow.Date.AddDays(1);
                scoringSeason.Init();
            }

            return(scoringSeason);
        }