Ejemplo n.º 1
0
        private static void Update()
        {
            while (true)
            {
                Task t1 = ((ScoringSeason)ScoringManager.m_currentSeason).Update();
                Task t2 = ((ScoringSeason)ScoringManager.m_lastSeason)?.Update();

                t1.Wait();
                t2?.Wait();

                if (((ScoringSeason)ScoringManager.m_currentSeason).IsEnded())
                {
                    DateTime utcTime = DateTime.UtcNow.AddMonths(1);

                    ScoringManager.m_lastSeason    = ScoringManager.m_currentSeason;
                    ScoringManager.m_currentSeason = ScoringManager.LoadOrCreateSeason(new LogicLong(utcTime.Year, utcTime.Month));
                }

                for (int i = 1, count = ServerManager.GetServerCount(26); i < count; i++)
                {
                    ServerMessageManager.SendMessage(new ScoringSyncMessage
                    {
                        CurrentSeasonDocument = ScoringManager.m_currentSeason,
                        LastSeasonDocument    = ScoringManager.m_lastSeason,
                    }, 26, i);
                }

                Thread.Sleep(2000);
            }
        }
        public override void Decode(ByteStream stream)
        {
            this.CurrentSeasonDocument = CouchbaseDocument.Decode <SeasonDocument>(stream);

            if (stream.ReadBoolean())
            {
                this.LastSeasonDocument = CouchbaseDocument.Decode <SeasonDocument>(stream);
            }
        }
Ejemplo n.º 3
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();
            }
        }
Ejemplo n.º 4
0
 public static void OnScoringSyncMessageReceived(ScoringSyncMessage message)
 {
     ScoringManager.m_currentSeason = message.CurrentSeasonDocument;
     ScoringManager.m_lastSeason    = message.LastSeasonDocument;
 }