void Awake() { dungeonManager = DungeonManager.instance; mapManager = dungeonManager.mapManager; var createBlock = BlockManager.instance.OnCreateBlockAsObservable(); createBlock.Subscribe(block => { var onTap = block.OnTapAsObservable() .Where(_ => dungeonManager.activeState == DungeonState.None) .Select(_ => block.location) .Subscribe(OnTap); block.OnBreakAsObservable() .Subscribe(_ => onTap.Dispose()); }); OnWalkBeginAsObservable() .Do(_ => animator.SetBool("moving", true)) .Select(_ => DungeonState.PlayerMoving) .Subscribe(dungeonManager.EnterState); OnWalkEndAsObservable() .Do(_ => animator.SetBool("moving", false)) .Subscribe(_ => dungeonManager.ExitState()); speed = _speed; }
private void ExitMapViewer() { transform.localPosition = basePosition; activeObjects.ForEach(g => g.SetActive(true)); returnButton.gameObject.SetActive(false); menuButton.SetUIActive(false); dungeonManager.ExitState(); }