public override void OnEntering(IScreen last) { backgroundStack?.Push(ownedBackground = CreateBackground()); background = backgroundStack?.CurrentScreen as BackgroundScreen; if (ownedBackground != background) { ownedBackground?.Dispose(); ownedBackground = null; } base.OnEntering(last); }
public void Push(BackgroundScreen screen) { if (screen == null) { return; } if (EqualityComparer <BackgroundScreen> .Default.Equals((BackgroundScreen)CurrentScreen, screen)) { return; } base.Push(screen); }