Ejemplo n.º 1
0
        /// <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;
            }
        }
Ejemplo n.º 2
0
        /// <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));
 }