43 lines
No EOL
836 B
C++
43 lines
No EOL
836 B
C++
#pragma once
|
|
|
|
#include "nodes.h"
|
|
#include "node2d.h"
|
|
#include "node3d.h"
|
|
#include "node2drelative.h"
|
|
#include <list>
|
|
|
|
|
|
namespace enginend {
|
|
struct scene{
|
|
virtual ~scene() = 0;
|
|
|
|
std::vector<enginend::nodes::node*> 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();
|
|
}
|
|
}
|
|
};
|
|
} |