private void update(float delta, CrystalInput input) { if (scenes.TryPeek(out var scene)) { scene.Update(delta, input); } else { Window.Close(); } }
public void Run() { this.Window = new RenderWindow(new VideoMode(800, 600), config.Project); var clock = new Clock(); var input = new CrystalInput(this.Window); var renderer = new CrystalRenderer(); var content = new ContentManager(); this.PushScene(content.Load <Framework.Scene>(config.MainScene)); while (Window.IsOpen) { Window.DispatchEvents(); var delta = clock.Restart().AsSeconds(); this.update(delta, input); this.render(delta, renderer); input.AdvanceState(); } }