#ifndef MENUINPUT_H
#define MENUINPUT_H
/*
-----------------------------------------------------------------------------
 Class: MenuInput

 Desc: An input event specific to a menu navigation.  This is generated based
	on a GameDef.

 Copyright (c) 2001-2002 by the person(s) listed below.  All rights reserved.
	Chris Danford
-----------------------------------------------------------------------------
*/

#include "PlayerNumber.h"

enum MenuButton
{
	MENU_BUTTON_LEFT = 0,
	MENU_BUTTON_RIGHT,
	MENU_BUTTON_UP,
	MENU_BUTTON_DOWN,
	MENU_BUTTON_START,
	MENU_BUTTON_BACK,
	MENU_BUTTON_COIN,
	MENU_BUTTON_OPERATOR,
	NUM_MENU_BUTTONS,		// leave this at the end
	MENU_BUTTON_INVALID
};


struct MenuInput
{
	MenuInput() { MakeInvalid(); };
	MenuInput( PlayerNumber pn, MenuButton b ) { player = pn; button = b; };

	PlayerNumber	player;
	MenuButton		button;

//	bool operator==( const MenuInput &other ) { return player == other.player && button == other.button; };

	inline bool IsValid() const { return player != PLAYER_INVALID; };
	inline void MakeInvalid() { player = PLAYER_INVALID; button = MENU_BUTTON_INVALID; };
};




#endif
