#pragma once

#include "Proxies.hpp"
#include "Process.hpp"

namespace Proxies
{
	class GenericProxy;
	class LightProxy;

	class BurnLightsProcess:
		public Process
	{
	public:
		BurnLightsProcess();
		BurnLightsProcess(Stuff::NotationFile *data_file);

		virtual void
			FindLightsCallback(GenericProxy *proxy)
				{}
		virtual void
			BurnLightsCallback(GenericProxy *proxy)
				{}

		void
			DiscardLights();

		bool
			materialsAreWhite;

		Stuff::ChainOf<LightProxy*>
			lightsToBurn;

		Stuff::LinearMatrix4DStack
			matrixStack;
	};

}
