Refactor ResourceLoader, use only Texture2d in Renderer.

This commit is contained in:
2023-06-14 23:48:26 +02:00
parent fdbd21f248
commit 06da2c3f7f
20 changed files with 128 additions and 158 deletions

View File

@@ -4,17 +4,31 @@ using DaggerFramework.Rendering;
public class TestGame : Game
{
public override string ResourceRoot => "Resources/";
public override void Shutdown() => scene.Renderer.CloseWindow();
protected override void OnStart()
{
_renderer = new GlRenderer();
_renderer = new RaylibRenderer();
_inputHandler = new RaylibInputHandler();
scene = new Scene(_renderer, _inputHandler, new DummyAudioBackend());
var mainGameLayer = new EntityLayer();
scene.AddLayer("World", mainGameLayer);
var text = new Text2d();
text.Contents = "Hello World!";
text.FontSize = 32;
var sprite = new Sprite2d();
sprite.Texture = _funnyTexture;
mainGameLayer.AddEntity(text);
mainGameLayer.AddEntity(sprite);
scene.Init();
scene.Start();
@@ -23,13 +37,16 @@ public class TestGame : Game
protected override void LoadResources()
{
_funnyTexture = _textureLoader.Load($"{ResourceRoot}icon.png");
}
protected override void MainLoop()
{
while (!scene.ShouldStop()) scene.Update();
}
private GlRenderer _renderer;
private Renderer _renderer;
private RaylibInputHandler _inputHandler;
private Texture2dLoader _textureLoader = new();
private Texture2d? _funnyTexture;
}