public static void RunLoop() { while (IsExist is true) { //update time Time.Update(); SystemScene?.Update(Time.DeltaSeconds); MainScene?.Update(Time.DeltaSeconds); BehaviorSystems.ForEach((system) => UpdateBehaviorSystem(system)); if (EngineWindow != null && EngineWindow.IsExisted != false) { EngineWindow.Update(Time.DeltaSeconds); } if (EngineWindow != null && EngineWindow.IsExisted == false) { IsExist = false; } PresentRender.BeginDraw(); BehaviorSystems.ForEach((system) => system.Present(PresentRender)); PresentRender.EndDraw(false); } }
private static void InitializeRuntime(GameStartInfo gameStartInfo) { if (gameStartInfo.Adapter == null) { var adapters = GpuAdapter.EnumerateGraphicsAdapter(); LogEmitter.Assert(adapters.Count > 0, LogLevel.Error, "[Initialize Graphics Device Failed without Support Adapter] from [GameSystems]"); GpuDevice = new GpuDevice(adapters[0]); } else { GpuDevice = new GpuDevice(gameStartInfo.Adapter); } EngineWindow = new EngineWindow( gameStartInfo.WindowName, gameStartInfo.IconName, gameStartInfo.WindowSize); EngineWindow.Show(); PresentRender = new PresentRender(GpuDevice, EngineWindow.Handle, EngineWindow.Size); //init resize event EngineWindow.OnSizeChangeEvent += (sender, eventArg) => { PresentRender.ReSize(eventArg.After); VisualGuiSystem.Area = new Rectangle <int>(0, 0, eventArg.After.Width, eventArg.After.Height); }; }
public static void RunLoop() { while (IsExist is true) { //update time Time.Update(); if (EngineWindow != null && EngineWindow.IsExisted != false) { EngineWindow.Update(Time.DeltaSeconds); } if (EngineWindow != null && EngineWindow.IsExisted == false) { IsExist = false; } //update time InputListener.Update(); Gui.Update(Time.DeltaSeconds); //draw time Gui.Draw(); //present time PresentRender.BeginDraw(); Gui.Present(PresentRender); PresentRender.EndDraw(false); InputListener.Clear(); } }
public static void Initialize(GameStartInfo gameStartInfo) { GameName = gameStartInfo.GameName; BehaviorSystems = new List <BehaviorSystem>(); IsExist = true; SystemScene = new GameScene("SystemScene"); InitializeRuntime(gameStartInfo); //add system AddBehaviorSystem(AssetSystem = new AssetSystem()); AddBehaviorSystem(LogicGuiSystem = new LogicGuiSystem()); AddBehaviorSystem(VisualGuiSystem = new VisualGuiSystem(GpuDevice, new Rectangle <int>(0, 0, EngineWindow.Size.Width, EngineWindow.Size.Height))); EngineWindow.AddEventListener(LogicGuiSystem); LogEmitter.Apply(LogLevel.Information, "[Initialize GameSystems Finish] from [GameSystems]"); }
private static void InitializeRuntime(GameStartInfo gameStartInfo) { if (gameStartInfo.Adapter == null) { var adapters = GpuAdapter.EnumerateGraphicsAdapter(); LogEmitter.Assert(adapters.Count > 0, LogLevel.Error, "[Initialize Graphics Device Failed without Support Adapter] from [GameSystems]"); GpuDevice = new GpuDevice(adapters[0]); } else { GpuDevice = new GpuDevice(gameStartInfo.Adapter); } EngineWindow = new EngineWindow( gameStartInfo.Window.Name, gameStartInfo.Window.Icon, gameStartInfo.Window.Size); EngineWindow.Show(); PresentRender = new PresentRender(GpuDevice, EngineWindow.Handle, EngineWindow.Size); }
public EventForwardInputEmitter(EngineWindow window) { mWindow = window; }