#pragma once
#include "FormTouchButtons.h"

class CellWarsMTManager;

class HelpScreen : public Actor
{
public:
	HelpScreen(CellWarsMTManager* useThisMTManager);
	virtual ~HelpScreen();

	virtual void Update(float dt);
	virtual void Render();
	
	virtual void ReceiveMessage(Message *m);

	virtual void PreDestroy();	
	
	virtual void SetAlpha(float newAlpha);
	virtual void ChangeAlphaTo(const float newAlpha, float duration, bool smooth=false, String onCompletionMessage="");

	void gotoNextPage();

private:
	static const float BIG_FONT_WIDTH;
	static const float SMALL_FONT_WIDTH;
	
	static const String HELP_STRING0;
	static const String HELP_STRING1;
	static const String HELP_STRING2;
	
	static const String BACTERIA_STRING;
	static const String MACROPHAGES_STRING;
	static const String CELLS_STRING;

	static const String SELECTION_CIRCLE_STRING;
	
	static const String REPLICATE_STRING;
	static const String UPGRADE_STRING;
	static const String REMOVE_SELECTION_STRING;
	
	static const String HEALTH_STRING;
	static const String RESOURCES_STRING;

	int currentPage;

	CellWarsMTManager *useThisMultiTouchTManager;
	ReStartButton *restartButt;
	ExitButton *exitButt;
	SwitchHelpButton *nextPageButton;
	TextActor *helpText;

	Actor* bacterium;
	Actor* macrophage;
	Actor* cell;
	Actor* selecting;
	Actor* selected;
	Actor* replicate;
	Actor* upgrade;
	Actor* removeSelection;
	Actor* healthBar;
	Actor* resources;

	TextActor* bacteriumText;
	TextActor* macrophageText;
	TextActor* cellText;
	TextActor* selectingText;
	//TextActor* selectedText;
	TextActor* replicateText;
	TextActor* upgradeText;
	TextActor* removeSelectionText;
	TextActor* healthBarText;
	TextActor* resourcesText;

	void setControlsVisibleOnPage(int page);
};