public override void Hide(IUITransitable panel, UITransitionConfig config) { transitionQueue.Enqueue(new RouterItem { panel = panel, config = config, toShow = false }); CheckQueue(); }
public override void Show(IUITransitable panel, RouterHistoryMode mode, UITransitionConfig config) { transitionQueue.Enqueue(new RouterItem { panel = panel, mode = mode, config = config, toShow = true }); CheckQueue(); }
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; }
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); }
public abstract void HideTopmost(UITransitionConfig config);
public abstract void Hide(IUITransitable panel, UITransitionConfig config);
public abstract void Show(IUITransitable panel, RouterHistoryMode mode, UITransitionConfig config);