Add systems
parent
ba42c54560
commit
d3b871f214
|
|
@ -1,6 +1,8 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include "raylib-cpp.hpp"
|
||||||
|
|
||||||
// placeholder for draw helpers
|
// placeholder for draw helpers
|
||||||
void DrawSceneOutline() {
|
void DrawSceneOutline() {
|
||||||
|
DrawRectangleLines(0, 0, GetScreenWidth(), GetScreenHeight(), raylib::Color::DarkGray());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <concepts>
|
||||||
|
#include <functional>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <optional>
|
#include <optional>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,14 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <vector>
|
|
||||||
#include "Entity.hpp"
|
#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() {
|
int main() {
|
||||||
raylib::Window window(700, 460, "Gravity Surfing");
|
raylib::Window window(700, 460, "Gravity Surfing");
|
||||||
|
window.SetState(FLAG_WINDOW_RESIZABLE);
|
||||||
window.SetTargetFPS(60);
|
window.SetTargetFPS(60);
|
||||||
|
|
||||||
std::vector<Entity> entities;
|
std::vector<std::shared_ptr<Entity>> entities;
|
||||||
entities.reserve(20);
|
entities.reserve(20);
|
||||||
|
|
||||||
auto &world = entities.emplace_back();
|
entities.push_back(CreateWorld());
|
||||||
world.AddComponent<ScrollComponent>();
|
entities.push_back(CreateGravityWell());
|
||||||
|
entities.push_back(CreateProbe());
|
||||||
|
entities.push_back(CreateHUD());
|
||||||
|
|
||||||
while (!window.ShouldClose()) {
|
while (!window.ShouldClose()) {
|
||||||
float dt = window.GetFrameTime();
|
float dt = window.GetFrameTime();
|
||||||
|
|
||||||
UpdateAllSystems(entities, dt);
|
UpdateAllSystems(entities, dt);
|
||||||
|
|
||||||
window.BeginDrawing();
|
window.BeginDrawing();
|
||||||
window.ClearBackground(raylib::Color::Black());
|
window.ClearBackground(raylib::Color(11, 15, 26, 255));
|
||||||
|
|
||||||
DrawSceneOutline();
|
DrawSceneOutline();
|
||||||
|
|
||||||
|
raylib::DrawText("Gravity Surfing", 14, 12, 20, raylib::Color::RayWhite());
|
||||||
|
|
||||||
window.EndDrawing();
|
window.EndDrawing();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue