////////////////////////////////////////////////////////////////////////////////
// StartGameScreen.h
// Start game screen for MechVM
// Copyright Bjoern Ganster 
// Developed since 2007
////////////////////////////////////////////////////////////////////////////////

#pragma once

#include "GLTableView.h"
#include "GLWindowContainer.h"
#include "MechSim.h"

class StartGameScreen: public GLWindowContainer, public GLTableViewDataSource {
public:
	StartGameScreen(int _left = 0, int _top = 0, int _width = 0, int _height = 0);

	~StartGameScreen() OVERRIDE;

	void setup();

	// TableView implementation: get number of rows and columns
	void getDimensions (size_t senderID, size_t& rowCount, size_t& colCount) OVERRIDE;

	// TableView implementation: Get string for a cell
	bool getString (size_t senderID, int row, int col, BGCPString& str) OVERRIDE;

	void receiveMessage (VirtualClass* sender, int /*MessageType*/, VirtualClass* data = nullptr) OVERRIDE;

	void setGeometry (int _left, int _top, int _width, int _height) OVERRIDE;
private:
	GLTableView* gameTable;
	GLLabel* label;
	GLButton* mPlayGameButton;
	GLButton* mEditLevelButton;

	void startCampaign();
	void editLevel();
};
