Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
 private void ExitMapViewer()
 {
     transform.localPosition = basePosition;
     activeObjects.ForEach(g => g.SetActive(true));
     returnButton.gameObject.SetActive(false);
     menuButton.SetUIActive(false);
     dungeonManager.ExitState();
 }