private void LoadCharacterList()
    {
        LobbyCharactersHandler lobbyCharHandler = MainGameHandler.GetLobbyCharactersHandler();

        lobbyCharHandler.ListConfirmed = false;
        lobbyCharHandler.Clear();
        CommandHandler.Send(new GetAccountCharsCmdBuilder()); //sends request to the server
    }
示例#2
0
    private static void InitializeHandlers()
    {
        try
        {
            //CHAT
            _chatHandler = ChatHandler.GetInstance();

            //LOCAL SETTINGS
            _localSettingsHandler = LocalSettingsHandler.GetInstance(_chatHandler);

            //COMMAND HANDLER
            _commandHandler = new CommandHandler(_chatHandler);
            _commandHandler.RegisterCommandHandlingStrategy(new CmdPingResponseStrategy());
            _commandHandler.RegisterCommandHandlingStrategy(new CmdServerTimeStrategy());
            _commandHandler.RegisterCommandHandlingStrategy(new CmdCharPositionUpdateStrategy(_chatHandler, _gameStateDetails));
            _commandHandler.RegisterCommandHandlingStrategy(new CmdCharPositionBasicDetailsStrategy(_chatHandler, _gameStateDetails));
            _commandHandler.RegisterCommandHandlingStrategy(new CmdLocalTerrainDetailsStrategy(_chatHandler, _gameStateDetails));
            _commandHandler.RegisterCommandHandlingStrategy(new CmdLocalCharacterDetailsStrategy(_chatHandler, _gameStateDetails));
            _commandHandler.RegisterCommandHandlingStrategy(new CmdWorldPlaceDetailsStrategy(_chatHandler, _gameStateDetails));
            _commandHandler.RegisterCommandHandlingStrategy(new CmdChatMessageStrategy(_chatHandler));
            _commandHandler.RegisterCommandHandlingStrategy(new CmdInfoStrategy());
            _commandHandler.RegisterCommandHandlingStrategy(new CmdLoginSuccessStrategy());
            _commandHandler.RegisterCommandHandlingStrategy(new CmdLobbyInfoStrategy(_chatHandler));
            _commandHandler.RegisterCommandHandlingStrategy(new CmdCharChoosingSuccessStrategy());

            //LOCAL COMMAND HANDLER
            _localCommandHandler = new LocalCommandHandler(_chatHandler);
            _localCommandHandler.RegisterCommandHandlingStrategy(new LocalCmdQuitStrategy());
            _localCommandHandler.RegisterCommandHandlingStrategy(new LocalCmdShowColliderBoxesStrategy(_chatHandler));
            _localCommandHandler.RegisterCommandHandlingStrategy(new LocalCmdSwitchPlaceStrategy());

            //CONNECTION HANDLER
            _tcpConnectionHandler = TcpConnectionHandler.GetInstance(_chatHandler, _commandHandler);
            _tcpConnectionHandler.StartConnection(_localSettingsHandler.GetSettings().TcpConnSettings);

            //CONNECTION CHECKER
            _connectionChecker = new ConnectionChecker();

            //LOBBY CHARS HANDLER
            _lobbyCharsHandler = new LobbyCharactersHandler();
        }
        catch (Exception exception)
        {
            Debug.Log($"Handler initializing error: {exception.Message} | {exception.StackTrace}");
        }
    }
示例#3
0
    public static void Reload()
    {
        if (_lastInstance == null)
        {
            return;
        }

        try
        {
            LobbyCharactersHandler charHandler = MainGameHandler.GetLobbyCharactersHandler();
            _lastInstance._lobbyCharDetailsList = charHandler.GetAll();
            _lastInstance.ReloadCharactersPosition();
        }
        catch (Exception exception)
        {
            Debug.Log($"CharacterListPanelHandler - Reload() - error: {exception.Message}");
        }
    }
示例#4
0
        public bool Execute()
        {
            bool executed = false;

            try
            {
                LobbyCharactersHandler handler = MainGameHandler.GetLobbyCharactersHandler();
                if (handler == null)
                {
                    throw new Exception("lobby char. handler is NULL!");
                }

                if (_cmdElements.Length == 2 && _cmdElements[1].Equals("endlist", GlobalData.InputDataStringComparison))
                {
                    handler.ListConfirmed = true;

                    if (MainGameHandler.CheckIfSceneActive(MainGameHandler.SceneType.CharLobby, SceneManager.GetActiveScene()))
                    {
                        CharacterListPanelHandler.Reload();
                    }

                    MainGameHandler.HideLoadingScreen();
                    executed = true;
                }
                else
                if (_cmdElements.Length > 2 && _cmdElements[1].Equals("position", GlobalData.InputDataStringComparison))
                {
                    string           discardedText = $"{_keyWord} position";
                    LobbyCharDetails charDetails   = JsonConvert.DeserializeObject <LobbyCharDetails>(_rawText.Substring(discardedText.Length));
                    handler.Add(charDetails);
                    executed = true;
                }
            }
            catch (Exception exception)
            {
                _chat.UpdateLog($"Lobby char. command execution error: {exception.Message}");
            }

            return(executed);
        }