private void Enqueue(Type screenType) { var typeToEnque = ScreensManager.GetInstanceByType(screenType); if (_typesToShow.Count > 0) { if (!_typesToShow.Contains(screenType)) { for (int i = 0; i < _typesToShow.Count; i++) { var enquedType = ScreensManager.GetInstanceByType(_typesToShow[i]); if (typeToEnque.Priority >= enquedType.Priority) { _typesToShow.Insert(i, screenType); return; } } _typesToShow.Add(screenType); } } else { _typesToShow.Insert(0, screenType); } }
public override void Show(Type screenType) { BaseScreen to = ScreensManager.GetInstanceByType(screenType); Transitions.Transition(CurrentTop, to); CurrentTop = to; }
protected void ShowNext() { if (_typesToShow.Count > 0) { Type nextType = _typesToShow[_typesToShow.Count - 1]; _typesToShow.RemoveAt(_typesToShow.Count - 1); ShowInstance(ScreensManager.GetInstanceByType(nextType)); } }
public override void Show(Type screenType) { if (CurrentTop == null) { ShowInstance(ScreensManager.GetInstanceByType(screenType)); } else { Enqueue(screenType); } }
public override void Show(Type screenType) { BaseScreen to = ScreensManager.GetInstanceByType(screenType); Transitions.Transition(null, to); }
public override void Hide(Type screenType) { BaseScreen to = ScreensManager.GetInstanceByType(screenType); Transitions.Transition(to, null); }