#include "scene.h"

namespace kek {

Scene::Scene() {
	this->lights = new LightList();
}

Scene::~Scene() {
	for(GameObject *obj : objects) delete obj;
	for(Light *l : lights->point) delete l;
	delete lights;
}

void Scene::addObject(GameObject *object) {
	objects.push_back(object);
}

void Scene::removeObject(GameObject *object) {
	for(auto it = objects.begin(); it < objects.end(); it++) {
		if(*it == object) {
			objects.erase(it);
			delete object;
			break;
		}
	}
}

void Scene::draw(Shader *shader) {
	for(GameObject *obj : objects) {
		obj->draw(shader);
	}
}

}
