using DaggerFramework; using System.Numerics; using DaggerFramework.Rendering; using DaggerFramework.Audio; public class TestGame : Game { public override string ResourceRoot => "Resources/"; protected override void OnStart() { _renderer = new RaylibRenderer(); _audioBackend = new OpenALAudioBackend(); _inputHandler = new RaylibInputHandler(); _renderer.CreateAndInitialize(new WindowSettings() { Title = "Test Game", Size = new Vector2(1280, 720) }, RendererSettings.Default); _renderer.SetTargetFps(60); _audioBackend.Initialize(); _inputHandler.AddInputMapping("play", new InputAction[] { new KeyInputAction(KeyboardKey.Spacebar) }); } protected override void LoadResources() { _soundLoader = new SoundLoader(); _testSound = _soundLoader.Load($"{ResourceRoot}sounds/test_sound.ogg"); } protected override void MainLoop() { while (_renderer.ShouldRun) { _renderer.BeginFrame(); _renderer.ClearBackground(Color.Black); if (_inputHandler.IsActionJustPressed("play")) { _audioBackend.PlaySoundVariation(_testSound, default, 0.1f); } _renderer.SetTransform(new Vector2(640, 480)); _renderer.DrawCircle(16f, Color.Chocolate); _renderer.EndFrame(); } } public override void Shutdown() { _renderer.Shutdown(); } private Renderer _renderer; private SoundLoader _soundLoader; private Sound _testSound; private OpenALAudioBackend _audioBackend; private InputHandler _inputHandler; }