
#ifndef INPUT_TRAINER_HPP
#define INPUT_TRAINER_HPP

#pragma once



namespace MechWarrior4
{
	class InputTrainer
	{
	  public:
		enum InputType
		{
			NONE		= 0x0000,

			THROTTLE	= 0x0001,
			TURN		= 0x0002,
			TORSO		= 0x0004,
			FIRING		= 0x0008,
			VIEW_MODES	= 0x0010,
			TARGET_SELECTION = 0x0020,
			ZOOM		= 0x0040,
			HEAT		= 0x0080,
			NAV_SWITCHING = 0x0100,
			MISC		= 0x8000,

			ALL			= 0xFFFF
		};

		static InputTrainer* GetInstance();

		InputTrainer();
		~InputTrainer();

		bool GetEnabled(InputType t) const;
		void SetEnabled(InputType t, bool enabled);

		unsigned long GetFlags() const
		{
			return (m_Flags);
		}

	  private:
		static InputTrainer* m_Instance;

		unsigned long m_Flags;
	};
};



#endif // INPUT_TRAINER_HPP