Exemple #1
0
        private void HandleAuthResponseMessage(object source, MessageEventArgs e)
        {
            AuthenticatedMessage authenticated = JsonConvert.DeserializeObject <AuthenticatedMessage>(e.Data.ToString());

            if (authenticated.MessageType != MessageTypeNames.Authenticated)
            {
                ResetSavedSession();
                return;
            }

            if (authenticated.Status != AuthenticationStatus.Authenticated)
            {
                Log($"Player login rejected {authenticated.Status} : {authenticated.StatusMessage}");
                ResetSavedSession();
                return;
            }

            _currentPlayer = new PlayerClientInfo
            {
                Name      = authenticated.PlayerName,
                SessionId = authenticated.SessionId
            };

            SaveSession();
            Log($"Player is authenticated as {_currentPlayer.Name} with sessionId = {_currentPlayer.SessionId}");
        }
Exemple #2
0
        private void MainAction()
        {
            while (!ShouldExit)
            {
                bool needsAuth = (_currentPlayer == null);

                if (needsAuth)
                {
                    if (HasSavedSession())
                    {
                        _currentPlayer = LoadSession();
                    }
                    else
                    {
                        Authenticate();
                    }
                }
                else
                {
                    ProcessMessages();
                }
            }
        }
Exemple #3
0
 private void ResetSavedSession()
 {
     File.Delete(SessionSaveFilename);
     _currentPlayer = null;
 }