API renames, change ref renderer to in renderer in IDrawable, make Layer implement IDrawable.
This commit is contained in:
13
TestGame/Circle2d.cs
Normal file
13
TestGame/Circle2d.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using DaggerFramework.Rendering;
|
||||
using System.Drawing;
|
||||
|
||||
|
||||
namespace DaggerFramework;
|
||||
|
||||
public class Circle2d : Drawable2d
|
||||
{
|
||||
public override void OnDraw(in Renderer renderer)
|
||||
{
|
||||
renderer.DrawCircle(32f, Color.AliceBlue);
|
||||
}
|
||||
}
|
||||
@@ -1,52 +1,40 @@
|
||||
using DaggerFramework;
|
||||
using DaggerFramework.Audio;
|
||||
using System.Numerics;
|
||||
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 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();
|
||||
|
||||
MainLoop();
|
||||
_renderer.CreateAndInitialize(new WindowSettings()
|
||||
{
|
||||
Title = "Test Game",
|
||||
Size = new Vector2(1280, 720)
|
||||
}, RendererSettings.Default);
|
||||
}
|
||||
|
||||
|
||||
protected override void LoadResources()
|
||||
{
|
||||
_funnyTexture = _textureLoader.Load($"{ResourceRoot}icon.png");
|
||||
|
||||
}
|
||||
|
||||
protected override void MainLoop()
|
||||
{
|
||||
while (!scene.ShouldStop()) scene.Update();
|
||||
while (_renderer.ShouldRun)
|
||||
{
|
||||
_renderer.BeginFrame();
|
||||
_renderer.ClearBackground(System.Drawing.Color.Black);
|
||||
_renderer.EndFrame();
|
||||
}
|
||||
}
|
||||
|
||||
public override void Shutdown()
|
||||
{
|
||||
_renderer.Shutdown();
|
||||
}
|
||||
private Renderer _renderer;
|
||||
private RaylibInputHandler _inputHandler;
|
||||
|
||||
private Texture2dLoader _textureLoader = new();
|
||||
private Texture2d? _funnyTexture;
|
||||
}
|
||||
Reference in New Issue
Block a user