#pragma once

#include <vector>

#include "gameobject.h"
#include "light.h"

namespace kek {

class Scene {

public:
	std::vector<GameObject *> objects;
	LightList *lights;

	Scene();

	~Scene();

	// Adds an object to the scene. The scene will take ownership of the object
	void addObject(GameObject *object);

	// Removes an object from the scene. The object will be deleted
	void removeObject(GameObject *object);

	// Draws the scene
	void draw(Shader *shader);

};

}
