/// <summary> /// Initialize using a top-level screen /// </summary> /// <param name="screen"></param> public void Initialize(AbstractScreen screen) { this.ScreenStack = new Stack<AbstractScreen>(); this.ScreenStack.Push(screen); this.ActiveScreen = screen; }
/// <summary> /// Navigate back /// </summary> public void NavigateBack() { if (this.ScreenStack.Count > 1) { this.ScreenStack.Pop(); this.ActiveScreen = this.ScreenStack.Peek(); } }
/// <summary> /// Navigate to a different screen /// </summary> /// <param name="screen">Screen</param> public void NavigateTo(AbstractScreen screen) { AbstractScreen activeScreen = this.ScreenStack.Peek(); if (activeScreen != screen) { this.ScreenStack.Push(screen); this.ActiveScreen = screen; } }