Esempio n. 1
0
 private void Start()
 {
     _netService = new MultiPlayerNetService(_mainThreadActions);
     _netService.OnStartGame.Subscribe(StartMultiplayerGame).DisposeBy(this);
     _appData.OnAppClose.Subscribe(_netService.Close).DisposeBy(this);
     _menu.Bind(_gameData, _startSingleGame, _appData, _netService);
     _gameView.gameObject.SetActive(false);
 }
Esempio n. 2
0
        private System.Collections.IEnumerator CheatSendInput(MultiPlayerNetService netService)
        {
            var inputListener = new PointerPositionListener();
            var delay         = new WaitForSeconds(.2f);

            yield return(null);

            var gameView = Launcher.GetFieldValue <GameView>("_gameView");

            while (gameView.gameObject.activeSelf)
            {
                yield return(delay);

                var pos = inputListener.XPosition;
                var bw  = new ByteWriter(5);
                bw.WriteByte(20);
                bw.WriteFloat(pos);
                netService.InvokeMethod("OnHostReceiveData", bw.Data, 5, CheatIP);
            }
        }
Esempio n. 3
0
        public void Bind(GameData gameData, Signal startSingleGame, AppData appData, MultiPlayerNetService netService)
        {
            _mainMenu.Init(gameData);

            appData.OnStartGame.Subscribe(() => {
                _mainMenu.SetObjectActive(false);
                _multiplayerMenu.SetObjectActive(false);
            }).DisposeBy(this);
            appData.OnGameOver.Subscribe(() => {
                _mainMenu.gameObject.SetActive(true);
                _multiplayerMenu.SetInteractable(true);
            }).DisposeBy(this);
            _mainMenu.OnStartGameClicked.Subscribe(startSingleGame.Dispatch).DisposeBy(this);
            _mainMenu.OnToggleRandomColorOnStart.Subscribe(value => gameData.RandomColorOnStart = value).DisposeBy(this);
            _mainMenu.OnBallColorChanged.Subscribe(value => gameData.BallColor     = value).DisposeBy(this);
            _mainMenu.OnControlTypeChanged.Subscribe(value => gameData.ControlType = value).DisposeBy(this);

            _multiplayerMenu.OnHostButtonClicked.Subscribe(netService.StartHost).DisposeBy(this);
            _multiplayerMenu.OnConnectButtonClicked.Subscribe(netService.StartConnected).DisposeBy(this);
            _multiplayerMenu.OnBackButtonClicked.Subscribe(netService.Close).DisposeBy(this);
        }