IEnumerator SpinWheelPhase() { hasSpun = false; arenaAnimator.OpenRoulette(); yield return(new WaitUntil(() => hasSpun)); Rules rule = RuleInfo.ToRuleEnum(roulette.GetPointedTo()); arenaAnimator.CloseRoulette(); Parameters param = new Parameters(); param.PutObjectExtra(RuleManager.RULE_PARAM, new RuleInfo(rule)); EventBroadcaster.Instance.PostEvent(EventNames.UI.RULE_UPDATE, param); HandleRouletteEvent(rule); yield return(StartCoroutine(EvaluateWheelPhase())); }
IEnumerator SpinWheelPhase() { MainScreenManager_PhaseScreen.Instance.ShowRoulettePhase(); hasSpun = false; arenaAnimator.OpenRoulette(); yield return(new WaitUntil(() => hasSpun)); // Hide roulette phase panel MainScreenManager_PhaseScreen.Instance.Hide(); this.currentRule = RuleInfo.ToRuleEnum(roulette.GetPointedTo()); arenaAnimator.CloseRoulette(); Debug.Log("CURRENT RULE: " + currentRule + "--" + roulette.GetPointedTo()); Parameters param = new Parameters(); param.PutObjectExtra(RuleManager.RULE_PARAM, new RuleInfo(currentRule)); EventBroadcaster.Instance.PostEvent(EventNames.UI.RULE_UPDATE, param); HandleRouletteEvent(currentRule); currentCoroutine = StartCoroutine(EvaluateWheelPhase()); }