示例#1
0
 public override void Hide(IUITransitable panel, UITransitionConfig config)
 {
     transitionQueue.Enqueue(new RouterItem {
         panel = panel, config = config, toShow = false
     });
     CheckQueue();
 }
示例#2
0
 public override void Show(IUITransitable panel, RouterHistoryMode mode, UITransitionConfig config)
 {
     transitionQueue.Enqueue(new RouterItem {
         panel = panel, mode = mode, config = config, toShow = true
     });
     CheckQueue();
 }
示例#3
0
 public UITransitionContext(UITransitionConfig inConfig, IUITransitable fromPanel = null, IUITransitable toPanel = null)
 {
     if (inConfig == null)
     {
         Debug.LogError("Transition config must be defined to run a transition.");
     }
     config = inConfig;
     from   = fromPanel;
     to     = toPanel;
 }
示例#4
0
        public override void HideTopmost(UITransitionConfig config)
        {
            if (viewStack.Count <= 0)
            {
                Debug.LogError("No Component");
                return;
            }

            if (config == null)
            {
                Debug.LogError("config null");
                return;
            }

            IUITransitable currentPanel = topPanel;
            IUITransitable toPanel      = viewStack.Count > 1 ? viewStack.Skip(1).First() : null;
            UITransition   transition   = Registry.transitionRegistry[config.type];

            if (transition == null)
            {
                Debug.LogError("No transition found to hide view.");
                return;
            }

            transitionInProcess = true;
            UITransitionContext context = new UITransitionContext(config, currentPanel, toPanel);

            transition.Do(context, (string error, UITransitionContext inContext) => {
                transitionInProcess = false;
                if (error != null)
                {
                    Debug.LogError(error);
                    return;
                }

                viewStack.RemoveFirst();
                CheckQueue();
            });
        }
 public virtual void Hide(UITransitionConfig config)
 {
     Registry.router.Hide(this, config);
 }
 public virtual void Show(RouterHistoryMode mode, UITransitionConfig config)
 {
     Registry.router.Show(this, mode, config);
 }
示例#7
0
 public abstract void HideTopmost(UITransitionConfig config);
示例#8
0
 public abstract void Hide(IUITransitable panel, UITransitionConfig config);
示例#9
0
 public abstract void Show(IUITransitable panel, RouterHistoryMode mode, UITransitionConfig config);