Exemple #1
0
        public GameLevel GameStart(int gameId)
        {
            try
            {
                var level = _service.GameStart(gameId);
                if (level != null)
                {
                    long serverTime = GetServerGameTime();
                    // todo change
                    GameController.StartTime = TimeHelper.NowMilliseconds - serverTime;

                    _pingTimer.Stop();

                    // DifferenceTime = serverTime;

                    Trace.WriteLine("Game started on server");

                    // todo долго выполняется (~40 мс), нужно как-то изменить
                    InitializeThreadAndTimers();

                    Trace.WriteLine("ConnectionManager: thread and timers initialized");
                }
                return(level);
            }
            catch (Exception e)
            {
                FatalError(e);
                throw;
            }
        }
 private void UpdateStatus()
 {
     while (Level == null)
     {
         Thread.Sleep(100);
         if (_activeGame != null)
         {
             Level = _service.GameStart(_activeGame.GameId);
             UpdatePlayerList();
         }
     }
     // close this windows
     CloseThis();
 }