#pragma once #include "nodes.h" #include "node2d.h" #include "node3d.h" #include "node2drelative.h" #include namespace enginend { struct scene{ virtual ~scene() = 0; std::vector nodes; virtual void boot() { int i=0; tiny::echo((char*)"initializing scene"); for (enginend::nodes::node* n : nodes) { tiny::echo((char*)"initializing object of ID: %i",i++); n->boot(); } } virtual void draw() { ClearBackground(rl::BLANK); BeginDrawing(); for (enginend::nodes::node* n : nodes) { n->draw(); } EndDrawing(); } virtual void tick() { for (enginend::nodes::node* n : nodes) { n->tick(); } } virtual void exit() { for (enginend::nodes::node* n : nodes) { n->exit(); } } }; }