/// <summary> /// this method signals a cleanup (duh) and notifies event listeners /// </summary> private void cleanup() { if (_instance == null) { return; } if (onTransitionComplete != null) { onTransitionComplete(); } _transitionKitDelegate = null; context = null; // if we are keeping TK alive we only need to free resources and not delete ourself completely if (keepTransitionKitInstance) { GetComponent <MeshRenderer>().material.mainTexture = null; GetComponent <MeshFilter>().mesh = null; gameObject.SetActive(false); transitionKitCamera.enabled = false; } else { Destroy(gameObject); _instance = null; } }
public IEnumerator onScreenObscured(TransitionEngine transitionKit) { transitionKit.transitionKitCamera.clearFlags = CameraClearFlags.Nothing; transitionKit.material.color = fadeToColor; if (nextScene >= 0) { SceneManager.LoadSceneAsync(nextScene); } yield return(transitionKit.StartCoroutine(transitionKit.tickProgressPropertyInMaterial(duration))); transitionKit.makeTextureTransparent(); if (fadedDelay > 0) { yield return(new WaitForSeconds(fadedDelay)); } // we dont transition back to the new scene unless it is loaded if (nextScene >= 0) { yield return(transitionKit.StartCoroutine(transitionKit.waitForLevelToLoad(nextScene))); } yield return(transitionKit.StartCoroutine(transitionKit.tickProgressPropertyInMaterial(duration, true))); }
public IEnumerator onScreenObscured(TransitionEngine transitionKit) { transitionKit.transitionKitCamera.clearFlags = CameraClearFlags.Nothing; // set some material properties transitionKit.material.SetFloat("_Size", size); transitionKit.material.SetFloat("_WindVerticalSegments", windVerticalSegments); // we dont transition back to the new scene unless it is loaded if (nextScene >= 0) { SceneManager.LoadSceneAsync(nextScene); yield return(transitionKit.StartCoroutine(transitionKit.waitForLevelToLoad(nextScene))); } yield return(transitionKit.StartCoroutine(transitionKit.tickProgressPropertyInMaterial(duration))); }