18 #include "GameObject.h" 29 void Scene::addShadowCaster(
GameObject*
object) {
30 shadowCasters.push_back(
object);
31 allObjects.push_back(
object);
34 std::vector<GameObject*> Scene::getShadowCasters() {
38 void Scene::addTransparentObject(
GameObject*
object){
39 transparentObjects.push_back(
object);
40 allObjects.push_back(
object);
43 std::vector<GameObject*> Scene::getTransparentObjects() {
44 return transparentObjects;
47 std::vector<GameObject*> Scene::getGameObjects() {
52 void Scene::update(
float dt, std::vector<GameObject*> *toDelete) {
53 removeDirty(&shadowCasters, toDelete);
54 removeDirty(&transparentObjects, toDelete);
55 removeDirty(&allObjects, toDelete);
57 auto sCasters = shadowCasters;
58 auto tObjects = transparentObjects;
60 for(
auto &
object : sCasters ) {
64 for(
auto &
object : tObjects ) {
69 void Scene::removeDirty(std::vector<GameObject*> *v, std::vector<GameObject*> *toDelete) {
70 for(
auto i = v->begin(); i < v->end(); )
74 toDelete->push_back(*i);
A class for containing all information about a object in the game world.