#ifndef GAME_WORLD_OBJECTS_H
#define GAME_WORLD_OBJECTS_H

#include <pugixml.hpp>

#include "game_object.h"

struct DLight;

// #TODO: Inheritance from Entity is needed for expose to lua, but did
// light need to have a animation stuff?
class Light : public Entity
{
public:
	Light();
	~Light();

	void Render() override;
	void RegisterFunctions() override;

	void InitFromXML(const pugi::xml_node& node);

private:
	int Lua_SetColor(LuaPlus::LuaState* state);
	int Lua_GetColor(LuaPlus::LuaState* state);
	int Lua_SetRadius(LuaPlus::LuaState* state);
	int Lua_GetRadius(LuaPlus::LuaState* state);

private:
	DLight* m_dlight;
};

#endif // !GAME_WORLD_OBJECTS_H
