																																																																
#pragma once

#include "MW4.hpp"
#include "hudcomp.hpp"

namespace MechWarrior4
{
	class HUDDebug : public HUDComponent
	{
		public:
		enum HUDDEBUG_DATA_TYPE
		{
			int_type,
			float_type,
			double_type,
			string_type
		};
	protected:
		typedef HUDComponent inherited;
		struct DebugData
		{
			HUDText *text;
			char name[256];
			void *data;
			HUDDEBUG_DATA_TYPE datatype;
			DebugData (void)
			{ text = NULL; }
			DebugData (HUDText *p1,char *p2,void *p3,HUDDEBUG_DATA_TYPE p4)
			{
				text = p1;
				Str_Copy (name,p2,256);
				data = p3;
				datatype = p4;
			}
		};

		stlport::list<DebugData> m_Messages;

		void DrawImplementation(void);


	public:
		HUDDebug();					
		~HUDDebug();

		void AddData (char *name,void *data,HUDDEBUG_DATA_TYPE type);
		void RemoveData (void *data);
		void ClearData (void);
	};
}

