A small game engine for 2D games based of Raylib
No puede seleccionar más de 25 temas
Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
|
#pragma once
|
|
|
|
#include <memory>
|
|
#include <vector>
|
|
#include <chrono>
|
|
#include "entity.h"
|
|
|
|
namespace ant::core {
|
|
struct scene {
|
|
static std::shared_ptr<scene> current;
|
|
std::vector<std::shared_ptr<entity>> root_nodes;
|
|
|
|
void update(std::chrono::duration<double> delta_time) {
|
|
for (auto &elem: root_nodes) {
|
|
elem->update(delta_time);
|
|
}
|
|
}
|
|
void render() {
|
|
for (auto &elem: root_nodes | std::views::filter([](const std::shared_ptr<entity>& elem){return elem->visibility_flag();})) {
|
|
elem->render();
|
|
}
|
|
}
|
|
};
|
|
}
|