Esempio n. 1
0
 public void PlayerWait(PlayerFSM player)
 {
     player.TransitionToState(player.InWindowState);
     spriteRenderer.sprite = openedWithRopeAndPlayerSprite;
     windowEnterState      = WindowEnterState.PlayerInside;
     player.InWindowState.OnWindowExit.AddListener(ExitWindow);
 }
Esempio n. 2
0
        public void Interact(PlayerFSM player)
        {
            if (!canBeOpened)
            {
                return;
            }

            switch (windowEnterState)
            {
            case WindowEnterState.Closed:
                OpenWindow();
                windowEnterState = WindowEnterState.Opened;
                break;

            case WindowEnterState.Opened:
                if (player.Inventory.HasItem(typeof(Rope)) && windowExit != null)
                {
                    SetRope(player);
                    windowEnterState = WindowEnterState.OpenedWithRope;
                }
                break;

            case WindowEnterState.PlayerInside:
                break;

            case WindowEnterState.OpenedWithRope:
                if (windowExit != null)
                {
                    StartCoroutine(EnterWindowAnimation(player));
                }
                break;
            }
        }
Esempio n. 3
0
 public void ExitWindow(PlayerFSM player)
 {
     windowEnterState      = WindowEnterState.OpenedWithRope;
     spriteRenderer.sprite = openedWithRopeSprite;
     player.Visibility.SetVisibilityState(HeyEscape.Core.Player.VisibilityState.State.Visible);
     player.VirtualCamera.gameObject.SetActive(true);
     windowExit.SetEnabledVirtualCamera(false);
     SetEnabledVirtualCamera(false);
 }