コード例 #1
0
        private void OnChangeStateMessage(ClientSocket clientSocket, ChangeStateMessage message)
        {
            var user = _gameManager.FindUserByClientSocket(clientSocket);

            if (user == null)
            {
                return;
            }

            user.IsReady = message.isReady;
            _uiSystem.ChangeLobbyPlayerState(user);

            _gameManager.UpdateLobbyState();
            _uiSystem.UpdateLobbyState(_gameManager.State);
        }
コード例 #2
0
        private void OnChangeStateMessage(ChangeStateMessage message)
        {
            if (message.State == ResultsState.RevealCountry)
            {
            }

            if (message.State == ResultsState.FirstGroupOfPoints)
            {
                CurrentCountryNumber++;
                currentCountryId        = message.CurrentCountry.Id;
                CurrentCountryName      = message.CurrentCountry.Name;
                CurrentCountryFlagImage = message.CurrentCountry.FlagImage?.ToBitmapImage();

                foreach (var country in Countries)
                {
                    country.CurrentPoints = 0;
                    country.RaisePropertyChanged("CurrentPoints");
                }
            }

            if (message.State == ResultsState.EightPoints)
            {
                RevealPoints(8);
                Messenger.Default.Send(new ReorderCountriesMessage());
            }

            if (message.State == ResultsState.TenPoints)
            {
                RevealPoints(10);
                Messenger.Default.Send(new ReorderCountriesMessage());
            }

            if (message.State == ResultsState.TwelvePoints)
            {
                RevealPoints(12);
                Messenger.Default.Send(new ReorderCountriesMessage());
            }

            if (message.State == ResultsState.RevealWinner)
            {
                var winner = Countries.OrderByDescending(c => c.TotalPoints).First();

                WinningCountryName       = winner.Name;
                WinningCountryFlagImage  = winner.FlagImage;
                WinningCountryPointsText = $"{winner.TotalPoints} points";
            }
        }
コード例 #3
0
ファイル: IpcOperations.cs プロジェクト: Mixi59/Stump
 private void Handle(ChangeStateMessage message)
 {
     Managers.WorldServerManager.Instance.ChangeWorldState(WorldServer, message.State);
     Client.ReplyRequest(new CommonOKMessage(), message);
 }