#pragma once
#include "GameInput.h"
#include "Entity.h"
#define PAUSEMENUCURSOR_CREATENAME L"pausemenu_cursor"
class PauseMenuCursor :
	public Entity
{
public:
	PauseMenuCursor();
	void Step() override;
private:
	int menu = 0;
	int index = 0;
	int index3 = 0;//¿ØÖÆ½çÃæ
	bool bOnce = false;
	bool runCursor = false;
	bool backGame = false;
	void BlockFirstOkOp();
	void MainMenu();
	void OpMenu();
	void GraphMenu();
	void AudioMenu();
	void ControlMenu();
	void Player1Menu();
	void Player1KeyboardMenu();
	void Player1JoystickMenu();
	void Player2Menu();
	void Player2KeyboardMenu();
	void Player2JoystickMenu();
	void SelectControllerMenu();
	std::weak_ptr<Entity> GetEntityByType(const wchar_t* name);
	void HideAllMenuLayer();
	void ShowMainMenu();
	void ShowOpMenu();
	void ShowGraphMenu();
	void ShowAudioMenu();
	void ShowControlMenu();
	void ShowPlayer1Menu();
	void ShowPlayer1KeyboardMenu();
	void ShowPlayer1JoystickMenu();
	void ShowPlayer2Menu();
	void ShowPlayer2KeyboardMenu();
	void ShowPlayer2JoystickMenu();
	void ShowSelectControllerMenu();
	bool opU = false;
	bool opD = false;
	bool opL = false;
	bool opR = false;
	bool opOk = false;
	bool opCancel = false;
	bool opMenu = false;
	bool opPageUp = false;
	bool opPageDown = false;
	void ClearOp();
	void GetOp();
};

std::shared_ptr<Entity> CreatePauseMenuCursor();