#pragma once #include #include #include #include "entity.h" namespace ant::core { struct scene { static std::shared_ptr current; std::vector> root_nodes; void update(std::chrono::duration 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& elem){return elem->visibility_flag();})) { elem->render(); } } }; }