A small game engine for 2D games based of Raylib
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

23 Zeilen
534 B

  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. }