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(); }