Пример #1
0
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();

        if (GUILayout.Button("TestPlay"))
        {
            SEState sEState = target as SEState;
            sEState.TestPlay();
        }
    }
Пример #2
0
    /// <summary>
    ///  再生メソッド
    /// </summary>
    void SEPlay(SEState sState)
    {
        switch (sState)
        {
        case SEState.SE1:
            GetComponent <AudioSource>().clip = SE[0];
            break;

        case SEState.SE2:
            GetComponent <AudioSource>().clip = SE[1];
            break;

        case SEState.SE3:
            GetComponent <AudioSource>().clip = SE[2];
            break;
        }

        GetComponent <AudioSource>().Play();
    }
Пример #3
0
    /// <summary>
    ///  再生終了コルーチン
    /// </summary>
    /// <param name="time"></param>
    /// <returns></returns>
    IEnumerator SECourutin(ButtonState bState, SEState sState)
    {
        SEPlay(sState);

        yield return(new WaitForSecondsRealtime(0.5f));

        // 各関数で分岐
        switch (bState)
        {
        case ButtonState.Retry:      // もう一度

            // 現在のシーンがリザルトまたはゲームオーバーのシーンなら
            if (SceneManager.GetActiveScene().name == SceneGameOrver || SceneManager.GetActiveScene().name == SceneResult)
            {
                //Fade_Downオブジェクト生成
                GameObject retry_Obj = Instantiate(Fade_Down) as GameObject;
                retry_Obj.transform.parent = GameObject.Find("FadePoint").transform; // FadePointを探してその子に設定

                StartCoroutine("VolumeDown_Courutin");                               // BGMフェード

                // アルファ値を0まで下げる
                while (Panel_UI.GetComponent <CanvasGroup>().alpha > 0)
                {
                    Panel_UI.GetComponent <CanvasGroup>().alpha -= downAlpha;
                    yield return(null);
                }
            }
            // それ以外なら
            else
            {
                if (Time.timeScale <= 0)
                {
                    Time.timeScale = 1;                                              // タイムスケールを元に戻す
                }
                player.GetComponent <StarFishOriginal>().RemoveGravity();            // 海星の重力を消す
                GameObject retry_Obj = Instantiate(Fade_Down) as GameObject;         // Fade_Dwonオブジェクト生成
                retry_Obj.transform.parent = GameObject.Find("FadePoint").transform; // FadePointを探してその子に設定

                GameObject.Find("SoundManager").GetComponent <SoundManager>().BGM_Fade();

                // 指定のUIのアルファ値が0になるまで回す
                while (PauseUI_Panel.GetComponent <CanvasGroup>().alpha > 0 && Pause_UI.GetComponent <CanvasGroup>().alpha > 0)
                {
                    PauseUI_Panel.GetComponent <CanvasGroup>().alpha -= downAlpha;
                    Pause_UI.GetComponent <CanvasGroup>().alpha      -= downAlpha;
                    yield return(null);
                }
            }

            yield return(new WaitForSecondsRealtime(2));

            // 前回プレイしたシーンを読み込み
            SceneManager.LoadScene(GameDirector.Instance.GetSceneName);

            break;

        case ButtonState.Play:      // 再開
            Time.timeScale = 1;
            break;

        case ButtonState.YES:

            if (Time.timeScale <= 0)
            {
                Time.timeScale = 1;
            }
            player.GetComponent <StarFishOriginal>().RemoveGravity();        // 海星の重力を消す
            GameObject yes_Obj = Instantiate(Black_Fade) as GameObject;
            yes_Obj.transform.parent = GameObject.Find("FadePoint").transform;

            GameObject.Find("SoundManager").GetComponent <SoundManager>().BGM_Fade();

            // 指定のUIのアルファ値が0になるまで回す
            while (PauseUI_Panel_Yes.GetComponent <CanvasGroup>().alpha > 0 && Pause_UI.GetComponent <CanvasGroup>().alpha > 0)
            {
                PauseUI_Panel_Yes.GetComponent <CanvasGroup>().alpha -= downAlpha;
                Pause_UI.GetComponent <CanvasGroup>().alpha          -= downAlpha;
                yield return(null);
            }
            yield return(new WaitForSecondsRealtime(2.0f));

            SceneManager.LoadScene(SceneMenu);
            break;

        case ButtonState.Menu:                                                  // メニュー

            GameObject menu_Obj = Instantiate(Black_Fade) as GameObject;        // Black_Fade生成
            menu_Obj.transform.parent = GameObject.Find("FadePoint").transform; // FadePointをさがしてその子に設定

            StartCoroutine("VolumeDown_Courutin");                              // BGMフェード

            while (Panel_UI.GetComponent <CanvasGroup>().alpha > 0)
            {
                Panel_UI.GetComponent <CanvasGroup>().alpha -= downAlpha;
                yield return(null);
            }
            yield return(new WaitForSecondsRealtime(2.0f));

            SceneManager.LoadScene(SceneMenu);
            break;

        case ButtonState.Next:      // 次

            GameObject next_Obj = Instantiate(Fade_Down) as GameObject;
            next_Obj.transform.parent = GameObject.Find("FadePoint").transform; // FadePointを探してその子に設定

            StartCoroutine("VolumeDown_Courutin");                              // BGMフェード

            while (Panel_UI.GetComponent <CanvasGroup>().alpha > 0)
            {
                Panel_UI.GetComponent <CanvasGroup>().alpha -= downAlpha;
                Debug.Log(Panel_UI.GetComponent <CanvasGroup>().alpha);
                yield return(null);
            }

            yield return(new WaitForSecondsRealtime(2.0f));

            SceneManager.LoadScene(STAGE_NAME + GameDirector.Instance.GetSceneNumber.ToString());

            break;

        case ButtonState.Title:      // タイトルへ

            GameObject title_Obj = Instantiate(Black_Fade) as GameObject;
            title_Obj.transform.parent = GameObject.Find("FadePoint").transform;

            StartCoroutine("VolumeDown_Courutin");       // BGMフェード

            while (Panel_UI_Title.GetComponent <CanvasGroup>().alpha > 0)
            {
                Panel_UI_Title.GetComponent <CanvasGroup>().alpha -= downAlpha;
                Debug.Log(Panel_UI.GetComponent <CanvasGroup>().alpha);
                yield return(null);
            }

            yield return(new WaitForSecondsRealtime(2.0f));

            SceneManager.LoadScene("SpecialResult");

            break;
        }

        Time.timeScale = 1;
    }