Many ecs, component and editor changes

This commit is contained in:
Simon Lübeß
2022-03-02 01:59:51 +01:00
parent afe36b19df
commit cbee9f59d8
10 changed files with 243 additions and 31 deletions
+40 -4
View File
@@ -22,11 +22,30 @@ namespace GlitchyEngine.World
{
//TransformSystem.Update(_ecsWorld);
for (var (entity, transform, sprite) in _ecsWorld.Enumerate<SimpleTransformComponent, SpriterRendererComponent>())
{
Renderer2D.DrawQuad(transform.Transform, sprite.Color);
}
Camera* primaryCamera = null;
Matrix* primaryCameraTransform = null;
for (var (entity, transform, camera) in _ecsWorld.Enumerate<SimpleTransformComponent, CameraComponent>())
{
if (camera.Primary)
{
primaryCamera = &camera.Camera;
primaryCameraTransform = &transform.Transform;
}
}
// Sprite renderer
if (primaryCamera != null)
{
Renderer2D.BeginScene(*primaryCamera, *primaryCameraTransform);
for (var (entity, transform, sprite) in _ecsWorld.Enumerate<SimpleTransformComponent, SpriterRendererComponent>())
{
Renderer2D.DrawQuad(transform.Transform, sprite.Color);
}
Renderer2D.EndScene();
}
}
public Entity CreateEntity(String name = "")
@@ -44,5 +63,22 @@ namespace GlitchyEngine.World
{
_ecsWorld.RemoveEntity(entity.Handle);
}
private uint32 ViewportWidth, ViewportHeight;
/// Sets the size of the viewport into which the scene will be rendered.
public void OnViewportResize(uint32 width, uint32 height)
{
ViewportWidth = width;
ViewportHeight = height;
for (var (entity, cameraComponent) in _ecsWorld.Enumerate<CameraComponent>())
{
if (!cameraComponent.FixedAspectRatio)
{
cameraComponent.Camera.SetViewportSize(width, height);
}
}
}
}
}