コード例 #1
0
    public IEnumerator EventProcess()
    {
        transform.collider2D.enabled = false;

        if (setCheckpoint == true)
        {
            mainScript.checkpointPos = /*transform.position.x*/ checkpointPosition;
        }

        if (setMusic == true)
        {
            StartCoroutine(mainScript.MusicPlay(music, musicLoop, musicWaitForClipEnd, musicDelay));
        }

        else         // if (setMusic == false)

        if (stopMusic == true)
        {
            StartCoroutine(mainScript.MusicStop(musicFadeOut));
        }


        if (setText == true)
        {
            uiTextMesh.text = text;
            uiTextGO.transform.localPosition = new Vector3(textPosition.x, textPosition.y, uiTextGO.transform.localPosition.z);
            uiTextMesh.characterSize         = textSize;
            uiTextMesh.color = textColor;

            // (Text duration : if set to 0, text duration is null and text will stay displayed)

            if (textDuration > 0)
            {
                yield return(new WaitForSeconds(textDuration));

                uiTextMesh.text = "";
            }
        }

        if (setLevel == true)
        {
            if (setCheckpoint == true)
            {
                PlayerPrefs.SetFloat("Spawn position", checkpointPosition);
            }

            mainScript.level = levelValue;             // Change level value in "MainScript"

            StartCoroutine(mainScript.SetLevel());
        }

        if (setUpgrade == true)
        {
            GameObject upgradeClone = upgradePool.Spawn();
            upgradeClone.transform.position = new Vector3(transform.position.x + upgradePosition.x, transform.position.y + upgradePosition.y, upgradeClone.transform.localPosition.z);
        }
    }