//------------------------------------------------------------------------------------------------------------- public STSTransition GetTransitionsParams(Scene sScene) { STSTransition tTransitionParametersScript; if (STSTransition.SharedInstanceExists(sScene)) { //Debug.LogWarning("tTransitionParametersScript exists"); tTransitionParametersScript = STSTransition.SharedInstance(sScene); } else { //Debug.LogWarning("tTransitionParametersScript not exists"); tTransitionParametersScript = STSTransition.SharedInstance(sScene); if (DefaultEffectOnEnter != null) { tTransitionParametersScript.EffectOnEnter = DefaultEffectOnEnter.Dupplicate(); } else { tTransitionParametersScript.EffectOnEnter = STSEffectType.Default.Dupplicate(); } if (DefaultEffectOnExit != null) { tTransitionParametersScript.EffectOnExit = DefaultEffectOnExit.Dupplicate(); } else { tTransitionParametersScript.EffectOnExit = STSEffectType.Default.Dupplicate(); } } /* * //Debug.Log("STSSceneManager GetTransitionsParams()"); * STSTransition tTransitionParametersScript = null; * GameObject[] tAllRootObjects = sScene.GetRootGameObjects(); * // quick solution?! * foreach (GameObject tObject in tAllRootObjects) * { * if (tObject.GetComponent<STSTransition>() != null) * { * tTransitionParametersScript = tObject.GetComponent<STSTransition>(); * break; * } * } * // slower solution?! * if (tTransitionParametersScript == null) * { * foreach (GameObject tObject in tAllRootObjects) * { * if (tObject.GetComponentInChildren<STSTransition>() != null) * { * tTransitionParametersScript = tObject.GetComponent<STSTransition>(); * break; * } * } * } * // no solution?! * if (tTransitionParametersScript == null) * { * Scene tActual = SceneManager.GetActiveScene(); * SceneManager.SetActiveScene(sScene); * // create Game Object? * //Debug.Log ("NO PARAMS"); * GameObject tObjToSpawn = new GameObject(STSConstants.K_TRANSITION_DEFAULT_OBJECT_NAME); * tObjToSpawn.AddComponent<STSSceneController>(); * tTransitionParametersScript = tObjToSpawn.AddComponent<STSTransition>(); * if (DefaultEffectOnEnter != null) * { * tTransitionParametersScript.EffectOnEnter = DefaultEffectOnEnter.Dupplicate(); * } * else * { * tTransitionParametersScript.EffectOnEnter = STSEffectType.Default.Dupplicate(); * } * if (DefaultEffectOnEnter != null) * { * tTransitionParametersScript.EffectOnExit = DefaultEffectOnExit.Dupplicate(); * } * else * { * tTransitionParametersScript.EffectOnExit = STSEffectType.Default.Dupplicate(); * } * SceneManager.SetActiveScene(tActual); * } */ return(tTransitionParametersScript); }