Add systems
parent
ba42c54560
commit
d3b871f214
|
|
@ -1,6 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
#include "raylib-cpp.hpp"
|
||||
|
||||
// placeholder for draw helpers
|
||||
void DrawSceneOutline() {
|
||||
|
||||
DrawRectangleLines(0, 0, GetScreenWidth(), GetScreenHeight(), raylib::Color::DarkGray());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
#pragma once
|
||||
|
||||
#include <concepts>
|
||||
#include <functional>
|
||||
#include <memory>
|
||||
#include <optional>
|
||||
#include <vector>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,14 @@
|
|||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
#include "Entity.hpp"
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
void UpdateAllSystems(std::vector<Entity> &entities, float deltaTime) {
|
||||
|
||||
void UpdateAllSystems(std::vector<std::shared_ptr<Entity>> &entities, float deltaTime) {
|
||||
for (auto &entity : entities) {
|
||||
if (!entity) {
|
||||
continue;
|
||||
}
|
||||
entity->Update(deltaTime);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
17
as6/main.cpp
17
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<Entity> entities;
|
||||
std::vector<std::shared_ptr<Entity>> entities;
|
||||
entities.reserve(20);
|
||||
|
||||
auto &world = entities.emplace_back();
|
||||
world.AddComponent<ScrollComponent>();
|
||||
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();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue