Esempio n. 1
0
        public void GoToPreviousScreen()
        {
            if (Screens == null)
            {
                Debug.Log("Screens not assigned");
                return;
            }
            if (PreviousScreens == null || PreviousScreens.Count == 0)
            {
                Debug.Log("No previous screens to go back to");
                GlobalBackButton.gameObject.SetActive(false);
                return;
            }
            Transform previousScreen = PreviousScreens[PreviousScreens.Count - 1];

            if (previousScreen == null)
            {
                Debug.Log("Previous screen is null");
                return;
            }

            if (ScreenTransitionDuration > 0f)
            {
                if (BlockInputsDuringTransitions)
                {
                    InputBlockerActive(true);
                }
                Screens.DOComplete();
                DG.Tweening.Core.TweenerCore <Vector3, Vector3, DG.Tweening.Plugins.Options.VectorOptions> tweenerCore = Screens.DOMove(GetMoveDelta(CurrentScreen.transform, previousScreen.transform), ScreenTransitionDuration);
                if (BlockInputsDuringTransitions)
                {
                    tweenerCore.OnComplete(() => InputBlockerActive(false));
                }
            }
            else
            {
                Screens.position = GetMoveDelta(CurrentScreen.transform, previousScreen.transform);
            }

            CurrentScreen = previousScreen;
            PreviousScreens.Remove(previousScreen);

            if (PreviousScreens.Count == 0)
            {
                GlobalBackButton.gameObject.SetActive(false);
            }
        }
        static StackObject *OnStart_0(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject *ptr_of_this_method;
            StackObject *__ret = ILIntepreter.Minus(__esp, 2);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            DG.Tweening.TweenCallback @action = (DG.Tweening.TweenCallback) typeof(DG.Tweening.TweenCallback).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            DG.Tweening.Core.TweenerCore <UnityEngine.Vector2, UnityEngine.Vector2, DG.Tweening.Plugins.Options.VectorOptions> @t = (DG.Tweening.Core.TweenerCore <UnityEngine.Vector2, UnityEngine.Vector2, DG.Tweening.Plugins.Options.VectorOptions>) typeof(DG.Tweening.Core.TweenerCore <UnityEngine.Vector2, UnityEngine.Vector2, DG.Tweening.Plugins.Options.VectorOptions>).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);


            var result_of_this_method = DG.Tweening.TweenSettingsExtensions.OnStart <DG.Tweening.Core.TweenerCore <UnityEngine.Vector2, UnityEngine.Vector2, DG.Tweening.Plugins.Options.VectorOptions> >(@t, @action);

            return(ILIntepreter.PushObject(__ret, __mStack, result_of_this_method));
        }
Esempio n. 3
0
        public void GoToScreen(Transform newScreen)
        {
            if (Screens == null)
            {
                Debug.Log("Screens not assigned");
                return;
            }
            if (newScreen == null)
            {
                Debug.LogError("Screen not assigned");
                return;
            }

            if (ScreenTransitionDuration > 0f)
            {
                if (BlockInputsDuringTransitions)
                {
                    InputBlockerActive(true);
                }
                Screens.DOComplete();
                DG.Tweening.Core.TweenerCore <Vector3, Vector3, DG.Tweening.Plugins.Options.VectorOptions> tweenerCore = Screens.DOMove(GetMoveDelta(CurrentScreen.transform, newScreen), ScreenTransitionDuration);
                if (BlockInputsDuringTransitions)
                {
                    tweenerCore.OnComplete(() => InputBlockerActive(false));
                }
            }
            else
            {
                Screens.position = GetMoveDelta(CurrentScreen.transform, newScreen);
            }

            PreviousScreens.Add(CurrentScreen);
            CurrentScreen = newScreen;

            if (!GlobalBackButton.gameObject.activeInHierarchy)
            {
                GlobalBackButton.gameObject.SetActive(true);
            }
        }