void ToggleInit() { isInit = !isInit; if (isInit) { logger = new RemoteLogger(); logger.Create("log"); disposable = new CompositeDisposable(); logger.remote.OnEvent.Subscribe(_ => { if (_.Type != NetEventType.ReliableMessageReceived && _.Type != NetEventType.UnreliableMessageReceived ) { return; } string message = Encoding.UTF8.GetString( _.MessageData.Buffer, 0, _.MessageData.ContentLength); view.SpawnText(_.ConnectionId + ". " + message); }).AddTo(disposable); logger.remote.OnEvent .Where(_ => _.Type == NetEventType.ServerInitialized) .Subscribe(_ => view.startButton .GetComponentInChildren <Text>().text = "Stop server") .AddTo(disposable); } else { logger.Disconnect(); disposable.Dispose(); } view.Toggle(isInit); }