コード例 #1
0
    /// <summary>
    /// 隱藏Adv系統所有的可見項目,需另外注意隱藏後還必須釋放使用者輸入
    /// </summary>
    public void StopAdvScene()
    {
        //因為Adv系統 Dialog Fadeout後 自動Inactive
        advTargetAlpha = 0;

        if (CanvasAdvStageObject.CanContrl)
        {
            advStage.CloseStage();
        }

        if (IsEndToStopAdvBGM)
        {
            Fungus.FungusManager.Instance.MusicManager.StopMusic();
            //PluginBridge.ResumeMainBgm();
        }

        AdvSignals.DoAdvStopping();
    }
コード例 #2
0
    IEnumerator Start()
    {
        submitButton = EventSystem.current.GetComponent <StandaloneInputModule>().submitButton;

        base.transform.position  = new Vector3(0, 0, -1); //Make sure adv object's position
        Camera.main.orthographic = true;
        Debug.Log("Auto Set Main Camera to Orthographic");

        BlockSignals.OnBlockEnd += (block) => { AdvSignals.DoAdvCheckFlowchartEnd(); };

        if (CanvasAdvStageObject == null)
        {
            Debug.LogError("Adv Prefab not initialize");
            yield break;
        }

        StopAdvScene();
        ExitAllCanvas();

        yield return(null);  //Wait for other plugin setup

        OnLanguageChange(AdvUserSettingManager.Instance.AdvLanguage);
    }
コード例 #3
0
    /// <summary>
    /// 隱藏與顯示皆由一個 Alpha參數控制,因此以Update監控Alpha參數
    /// </summary>
    void UpdateUI()
    {
        if (CanvasAdvStageObject == null)
        {
            Debug.LogError("Adv Prefab not initialize");
            return;
        }

        if (fadeDuration <= 0f)
        {
            //No Fade Animation , so assign value immediately
            AssignAllCanvasAlpha(advTargetAlpha);
        }
        else
        {
            float delta = (1f / fadeDuration) * Time.deltaTime;
            float alpha = Mathf.MoveTowards(CanvasAdvStageObject.Alpha, advTargetAlpha, delta);

            AssignAllCanvasAlpha(alpha);

            if (alpha <= 0f)
            {
                // once invisible , set canvas uninteractivable
                ExitAllCanvas();

                AdvSignals.DoAdvStopped();
            }
        }

        if (!isUIShow)
        {
            //ESC Buttom to Display UI
            CanvasAdvMenu.Alpha   = 0;
            CanvasAdvSystem.Alpha = 0;
            CanvasAdvDialog.Alpha = 0;
        }
    }