/// <summary>Starts transition with given transition provider to a scene with given scene name and in given load mode</summary> public void Transition(ITransitionProvider provider, string sceneName, LoadSceneMode loadMode) { if (IsTransitioning || !SceneIsLoadable(sceneName) || !providers.ContainsValue(provider)) { return; } TransitionStarted?.Invoke(sceneName, loadMode); provider.OnProgressUpdated(0.0f); switch (loadMode) { case LoadSceneMode.Single: StartCoroutine(LoadRoutine(sceneName, loadMode, provider)); break; case LoadSceneMode.Additive: StartCoroutine(TransitionRoutine(sceneName, loadMode, provider)); break; } }
/// <summary>Starts transition with given transitionName set by transition provider to a scene with given scene name and in given load mode</summary> public void Transition(string transitionName, string sceneName, LoadSceneMode loadMode, Action onFinish = null) { if (IsTransitioning || !SceneIsLoadable(sceneName) || !providers.ContainsKey(transitionName)) { return; } TransitionStarted?.Invoke(sceneName, loadMode); ITransitionProvider provider = providers[transitionName]; provider.OnProgressUpdated(0.0f); switch (loadMode) { case LoadSceneMode.Single: StartCoroutine(LoadRoutine(sceneName, loadMode, provider, onFinish)); break; case LoadSceneMode.Additive: StartCoroutine(TransitionRoutine(sceneName, loadMode, provider, onFinish)); break; } }
public void RaiseTransitionStarted(TState targetState, TTrigger trigger) { TransitionStarted?.Invoke(new TransitionEventArgs <TState, TTrigger>(CurrentState, targetState, trigger)); }