Exemplo n.º 1
0
        protected void SetupNewScene(TransitionPoint.TransitionType transitionType, TransitionDestination entrance)
        {
            if (entrance == null)
            {
                Debug.LogWarning("Restart information has not been set. ");
                return;
            }

            if (transitionType == TransitionPoint.TransitionType.DifferentZone)
            {
                SetZoneStart(entrance);
            }
        }
Exemplo n.º 2
0
        protected void SetEnteringGameObjectLocation(TransitionDestination entrance)
        {
            if (entrance == null)
            {
                Debug.LogWarning("Entering Transform's location has not been set yet. ");
                return;
            }
            Transform entranceLocation  = entrance.transform;
            Transform enteringTransform = entrance.transitioningGameObject.transform;

            enteringTransform.position = entranceLocation.position;
            enteringTransform.rotation = entranceLocation.rotation;
        }
Exemplo n.º 3
0
        protected IEnumerator Transition(string newSceneName, bool resetInputValues, TransitionDestination.DestinationTag destinationTag, TransitionPoint.TransitionType transitionType = TransitionPoint.TransitionType.DifferentZone)
        {
            m_Transitioning = true;

            yield return(SceneManager.LoadSceneAsync(newSceneName));

            TransitionDestination entrance = GetDestination(destinationTag);

            SetEnteringGameObjectLocation(entrance);
            SetupNewScene(transitionType, entrance);
            if (entrance != null)
            {
                entrance.onReachDestination.Invoke();
            }

            m_Transitioning = false;
        }
Exemplo n.º 4
0
 protected void SetZoneStart(TransitionDestination entrance)
 {
     m_CurrentZoneScene          = entrance.gameObject.scene;
     m_ZoneRestartDestinationTag = entrance.destinationTag;
 }