A small game engine for 2D games based of Raylib
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

23 строки
534 B

11 месяцев назад
  1. #pragma once
  2. #include <memory>
  3. #include <vector>
  4. #include <chrono>
  5. #include "entity.h"
  6. namespace ant::core {
  7. struct scene {
  8. static std::shared_ptr<scene> current;
  9. std::vector<std::shared_ptr<entity>> root_nodes;
  10. void update(std::chrono::duration<double> delta_time) {
  11. for (auto &elem: root_nodes) {
  12. elem->update(delta_time);
  13. }
  14. }
  15. void render() {
  16. for (auto &elem: root_nodes | std::views::filter([](const std::shared_ptr<entity>& elem){return elem->visibility_flag();})) {
  17. elem->render();
  18. }
  19. }
  20. };
  21. }