private void Start() { _gameStateModel.SetStageNum(_stageObjects.Length); var stream = _gameStateModel.OnGameStateChanged .TakeUntilDestroy(this) .Publish() .RefCount(); stream.Where(s => s == GameState.OnPlay) .Subscribe(_ => CreateStage(_gameStateModel.GetStage())); stream.Where(s => s == GameState.Non) .Subscribe(_ => ReturnTitle()); }