public override void Execute() { base.Execute(); StoreScreen highestLevelScreen = Service.Get <ScreenController>().GetHighestLevelScreen <StoreScreen>(); if (highestLevelScreen != null && highestLevelScreen.IsLoaded()) { Service.Get <EventManager>().RegisterObserver(this, EventId.StoreScreenReady, EventPriority.Default); this.PerformStoreLookup(highestLevelScreen); return; } Service.Get <EventManager>().RegisterObserver(this, EventId.ScreenLoaded, EventPriority.Default); }
public override void Execute() { base.Execute(); StoreScreen highestLevelScreen = Service.Get <ScreenController>().GetHighestLevelScreen <StoreScreen>(); if (highestLevelScreen != null && highestLevelScreen.IsLoaded()) { this.parent.ChildComplete(this); return; } Service.Get <EventManager>().RegisterObserver(this, EventId.ScreenLoaded, EventPriority.Default); if (highestLevelScreen == null) { Service.Get <ScreenController>().AddScreen(new StoreScreen()); } }