Esempio n. 1
0
    public IEnumerator Focus(Selectable selectable, float focusDistance, bool frontFace)
    {
        IEnumerator gameRoomFocus      = GameRoom.Instance?.BombCommanderFocus(Bomb, selectable, focusDistance, frontFace);
        bool        continueInvocation = true;

        if (gameRoomFocus != null && gameRoomFocus.MoveNext() && gameRoomFocus.Current is bool continueInvoke)
        {
            continueInvocation = continueInvoke;
            do
            {
                yield return(gameRoomFocus.Current);
            } while (gameRoomFocus.MoveNext());
        }

        if (!continueInvocation || FloatingHoldable == null)
        {
            yield break;
        }
        IEnumerator holdCoroutine = HoldBomb(frontFace);

        while (holdCoroutine.MoveNext())
        {
            yield return(holdCoroutine.Current);
        }

        float focusTime = FloatingHoldable.FocusTime;

        FloatingHoldable.Focus(selectable.transform, focusDistance, false, false, focusTime);

        selectable.HandleSelect(false);
        selectable.HandleInteract();
    }
    public IEnumerator Focus(Selectable selectable, float focusDistance, bool frontFace)
    {
        IEnumerator holdCoroutine = HoldBomb(frontFace);

        while (holdCoroutine.MoveNext())
        {
            yield return(holdCoroutine.Current);
        }

        float focusTime = FloatingHoldable.FocusTime;

        FloatingHoldable.Focus(selectable.transform, focusDistance, false, false, focusTime);
        selectable.HandleSelect(false);
        selectable.HandleInteract();
    }