From d3b871f2140aeb246589edbfd774aff08340eada Mon Sep 17 00:00:00 2001 From: HumanoidSandvichDispenser Date: Sun, 15 Mar 2026 18:55:37 -0700 Subject: [PATCH] Add systems --- as6/Draw.hpp | 4 +++- as6/Entity.hpp | 2 ++ as6/Systems.hpp | 12 +++++++++--- as6/main.cpp | 17 +++++++++++++---- 4 files changed, 27 insertions(+), 8 deletions(-) diff --git a/as6/Draw.hpp b/as6/Draw.hpp index e3b70bc..bc24d9d 100644 --- a/as6/Draw.hpp +++ b/as6/Draw.hpp @@ -1,6 +1,8 @@ #pragma once +#include "raylib-cpp.hpp" + // placeholder for draw helpers void DrawSceneOutline() { - + DrawRectangleLines(0, 0, GetScreenWidth(), GetScreenHeight(), raylib::Color::DarkGray()); } diff --git a/as6/Entity.hpp b/as6/Entity.hpp index 1c40fba..672d490 100644 --- a/as6/Entity.hpp +++ b/as6/Entity.hpp @@ -1,5 +1,7 @@ #pragma once +#include +#include #include #include #include diff --git a/as6/Systems.hpp b/as6/Systems.hpp index ac87710..84ebd69 100644 --- a/as6/Systems.hpp +++ b/as6/Systems.hpp @@ -1,8 +1,14 @@ #pragma once -#include #include "Entity.hpp" +#include +#include -void UpdateAllSystems(std::vector &entities, float deltaTime) { - +void UpdateAllSystems(std::vector> &entities, float deltaTime) { + for (auto &entity : entities) { + if (!entity) { + continue; + } + entity->Update(deltaTime); + } } diff --git a/as6/main.cpp b/as6/main.cpp index f3de464..401607d 100644 --- a/as6/main.cpp +++ b/as6/main.cpp @@ -8,20 +8,29 @@ int main() { raylib::Window window(700, 460, "Gravity Surfing"); + window.SetState(FLAG_WINDOW_RESIZABLE); window.SetTargetFPS(60); - std::vector entities; + std::vector> entities; entities.reserve(20); - auto &world = entities.emplace_back(); - world.AddComponent(); + entities.push_back(CreateWorld()); + entities.push_back(CreateGravityWell()); + entities.push_back(CreateProbe()); + entities.push_back(CreateHUD()); while (!window.ShouldClose()) { float dt = window.GetFrameTime(); + UpdateAllSystems(entities, dt); + window.BeginDrawing(); - window.ClearBackground(raylib::Color::Black()); + window.ClearBackground(raylib::Color(11, 15, 26, 255)); + DrawSceneOutline(); + + raylib::DrawText("Gravity Surfing", 14, 12, 20, raylib::Color::RayWhite()); + window.EndDrawing(); }