예제 #1
0
    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()));
    }
예제 #2
0
    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());
    }