private static IEnumerator RuleScrollCoroutine(RoR2.UI.RuleBookViewerStrip ruleBookViewerStrip, RoR2.UI.RuleChoiceController choiceController) { var localTime = 0F; var velocity = 0F; var endPosition = -choiceController.transform.localPosition.x; ruleBookViewerStrip.currentPosition = ruleBookViewerStrip.choiceContainer.transform.localPosition.x; while (localTime < ruleScrollDuration) { ruleBookViewerStrip.currentPosition = Mathf.SmoothDamp(ruleBookViewerStrip.currentPosition, endPosition, ref velocity, ruleScrollDuration); ruleBookViewerStrip.UpdatePosition(); yield return(new WaitForEndOfFrame()); localTime += Time.deltaTime; } ruleBookViewerStrip.currentPosition = endPosition; ruleBookViewerStrip.UpdatePosition(); }
private static IEnumerator RuleScrollStartDelayCoroutine(RoR2.UI.RuleBookViewerStrip ruleBookViewerStrip) { yield return(new WaitForSeconds(0.1F)); if (ruleBookViewerStrip.choiceControllers.Count == 0) { yield break; } var currentController = ruleBookViewerStrip.choiceControllers[Math.Min(ruleBookViewerStrip.currentDisplayChoiceIndex, ruleBookViewerStrip.choiceControllers.Count - 1)]; ruleBookViewerStrip.currentPosition = -currentController.transform.localPosition.x; ruleBookViewerStrip.UpdatePosition(); var hgButtonHistory = GameObject.Find("RightHandPanel").GetComponentInChildren <RoR2.UI.HGButtonHistory>(true); if (hgButtonHistory.lastRememberedGameObject) { yield break; } hgButtonHistory.lastRememberedGameObject = currentController.hgButton.gameObject; }