#ifndef _MENU_H
#define _MENU_H

#include "stdafx.h"

class CMenu
{
	IEngineCore *_pEngineCore;
	IRender2D *_pRender2D;
	IInput *_pInput;
	IBitmapFont *_pMainFont, *_pBaseFont;
	IGUIForms *_pGUIForms;
	IGUIEngine *_pGUIEngine;
	IDCForm	*_pMainForm, *_pOptionsForm, *_pHSForm;
	ITexture *_pTexBg, *_pTexCur;

	bool _bCanPress;

	uint _uiResX, _uiResY;
	uint _uiCounter;

	void _Process();
	void _Render();
	static void CALLBACK _s_Process(void *pParametr);
	static void CALLBACK _s_Render(void *pParametr);
	//static void CALLBACK _s_StartClick(void *pSelf, void *pParametr);

public:
	void _StartClick();
	void _OptionsOk();
	void _OkHS();
	void _HS();
	void _HSClear();
	void _OptionsClick();

	CMenu(IEngineCore *pEngineCore);
	~CMenu();
};

void CALLBACK _s_StartClick(void *pSelf, void *pParametr);
void CALLBACK _s_QuitClick(void *pSelf, void *pParametr);
void CALLBACK _s_OptionsClick(void *pSelf, void *pParametr);
void CALLBACK _s_OkOptionsClick(void *pSelf, void *pParametr);
void CALLBACK _s_HSClick(void *pSelf, void *pParametr);
void CALLBACK _s_OkHSClick(void *pSelf, void *pParametr);
void CALLBACK _s_HSClearClick(void *pSelf, void *pParametr);

#endif