#pragma once

#include "MW4.hpp"

namespace ElementRenderer
{
	class ScreenQuadsElement;
}

namespace MechWarrior4
{
	class GUILightAmp:
		public Stuff::Plug
	{
		
	//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	// Construction, Destruction
	//
	public:
		GUILightAmp();
		~GUILightAmp();
		
	//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	// Public Data
	//
	public:
		void Initialize();
		void ChangeResolution();
		void AdoptCamera(ElementRenderer::CameraElement *camera);
		void RemoveCamera();
		void Hide();
		void Show();
		void SetModifier (Stuff::Scalar mod);
		bool IsOn()
				{Check_Object(this); return isShown;}
		void NewVehicle();

	private:
		Stuff::SlotOf<ElementRenderer::ScreenQuadsElement *> m_screenTiles;
		Stuff::SlotOf<ElementRenderer::CameraElement *> s_Camera;
		bool s_MarkForAttach;
		int m_numTiles;
		bool isShown;
		Scalar m_CurrentMod;

		int m_LastScreenX,m_LastScreenY;

		//ElementRenderer::ScreenQuadsElement *m_ScreenTiles;
		Scalar m_Ratio;
		int m_Left_Over;
		void SetupTiles (void);
	};
}