MegaGlest/source/glest_game/menu/menu_state_scenario.h
Mark Vejvoda f838293632 Added code for the following:
a) Complete Unit Rotation for multi-player
b) Added support for user defined data folders
2010-03-18 21:26:40 +00:00

70 lines
1.8 KiB
C++

// ==============================================================
// This file is part of Glest (www.glest.org)
//
// Copyright (C) 2001-2005 Martiño Figueroa
//
// You can redistribute this code and/or modify it under
// the terms of the GNU General Public License as published
// by the Free Software Foundation; either version 2 of the
// License, or (at your option) any later version
// ==============================================================
#ifndef _GLEST_GAME_MENUSTATESCENARIO_H_
#define _GLEST_GAME_MENUSTATESCENARIO_H_
#include "main_menu.h"
namespace Glest{ namespace Game{
// ===============================
// class MenuStateScenario
// ===============================
class MenuStateScenario: public MenuState{
private:
enum Difficulty{
dVeryEasy,
dEasy,
dMedium,
dHard,
dVeryHard,
dInsane
};
GraphicButton buttonReturn;
GraphicButton buttonPlayNow;
GraphicLabel labelInfo;
GraphicLabel labelScenario;
GraphicListBox listBoxScenario;
vector<string> scenarioFiles;
ScenarioInfo scenarioInfo;
vector<string> dirList;
public:
MenuStateScenario(Program *program, MainMenu *mainMenu, const vector<string> &dirList);
void mouseClick(int x, int y, MouseButton mouseButton);
void mouseMove(int x, int y, const MouseState *mouseState);
void render();
void update();
void launchGame();
void setScenario(int i);
int getScenarioCount() const { return listBoxScenario.getItemCount(); }
private:
void loadScenarioInfo(string file, ScenarioInfo *scenarioInfo);
void loadGameSettings(const ScenarioInfo *scenarioInfo, GameSettings *gameSettings);
Difficulty computeDifficulty(const ScenarioInfo *scenarioInfo);
ControlType strToControllerType(const string &str);
};
}}//end namespace
#endif