private void LoadCharacterList() { LobbyCharactersHandler lobbyCharHandler = MainGameHandler.GetLobbyCharactersHandler(); lobbyCharHandler.ListConfirmed = false; lobbyCharHandler.Clear(); CommandHandler.Send(new GetAccountCharsCmdBuilder()); //sends request to the server }
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}"); } }
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}"); } }
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); }