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); } }