This commit is contained in:
2023-02-28 20:58:31 +01:00
commit f3ce543614
41 changed files with 4757 additions and 0 deletions

58
Source/EntityLayer.cs Executable file
View File

@@ -0,0 +1,58 @@
using DaggerFramework.Rendering;
namespace DaggerFramework
{
public class EntityLayer : Layer
{
public List<Entity> Entities { get => _entities; }
public EntityLayer(List<Entity> entities)
{
_entities = entities;
}
public EntityLayer()
{
_entities = new List<Entity>();
}
public bool AddEntity(Entity entity)
{
entity.Id = Entities.Count;
entity.Layer = this;
Entities.Add(entity);
return true;
}
public void DestroyEntity(int at)
{
_entities.RemoveAt(at);
}
protected override void OnStart()
{
foreach (var entity in _entities)
{
entity.Layer = this;
entity.Start();
}
}
protected override void OnUpdate(double dt)
{
foreach (var entity in _entities)
{
entity.Update(dt);
}
}
protected override void OnDraw(ref Renderer renderer)
{
foreach (IDrawable drawable in _entities)
{
drawable.Draw(ref renderer);
}
}
private List<Entity> _entities;
}
}