示例#1
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}");
        }
    }
示例#2
0
    private void HandleMsgSending()
    {
        if (Input.GetKeyDown(KeyCode.Return))
        {
            GameObject obj = EventSystem.current.currentSelectedGameObject;

            if (obj != null && obj.name.Equals("MsgInputField", StringComparison.InvariantCultureIgnoreCase))
            {
                string msgCommand = _msgInput.text;

                if (!String.IsNullOrWhiteSpace(msgCommand))
                {
                    LocalCommandHandler cmdHandler = MainGameHandler.GetLocalCommandHandler();
                    cmdHandler.ExecuteCommand(msgCommand);
                    _msgInput.text = "";
                }
            }
        }
    }