コード例 #1
0
        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();
        }
コード例 #2
0
        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;
        }