A small game engine for 2D games based of Raylib
選択できるのは25トピックまでです。
トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
|
#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();
|
|
}
|
|
}
|
|
};
|
|
}
|