/// <summary> /// Change Screen and Draw the new Screen. Calls OnScreenChanged Signal /// </summary> /// <param name="id">The new Screen to Draw</param> public static void ChangeScreen(ScreenIds id) { var screen = GetScreen(id); OnScreenChanged?.Invoke(CurrentScreen); CurrentScreen = screen; if (screen != null) { screen.Init(); Clear(0x00555555); var gc = GraphicContext.FromBuffer(VBEDisplay.Framebuffer); screen.Draw(gc); } }