1 // ============================================================== 2 // This file is part of Glest (www.glest.org) 3 // 4 // Copyright (C) 2001-2008 Marti�o Figueroa 5 // 6 // You can redistribute this code and/or modify it under 7 // the terms of the GNU General Public License as published 8 // by the Free Software Foundation; either version 2 of the 9 // License, or (at your option) any later version 10 // ============================================================== 11 12 #ifndef _GLEST_GAME_GAMESETTINGS_H_ 13 #define _GLEST_GAME_GAMESETTINGS_H_ 14 15 #include "game_constants.h" 16 17 namespace Glest{ namespace Game{ 18 19 // ===================================================== 20 // class GameSettings 21 // ===================================================== 22 23 class GameSettings{ 24 private: 25 string description; 26 string map; 27 string tileset; 28 string tech; 29 string scenario; 30 string scenarioDir; 31 string factionTypeNames[GameConstants::maxPlayers]; //faction names 32 33 ControlType factionControls[GameConstants::maxPlayers]; 34 35 int thisFactionIndex; 36 int factionCount; 37 int teams[GameConstants::maxPlayers]; 38 int startLocationIndex[GameConstants::maxPlayers]; 39 40 bool defaultUnits; 41 bool defaultResources; 42 bool defaultVictoryConditions; 43 44 public: 45 //get getDescription()46 const string &getDescription() const {return description;} getMap()47 const string &getMap() const {return map;} getTileset()48 const string &getTileset() const {return tileset;} getTech()49 const string &getTech() const {return tech;} getScenario()50 const string &getScenario() const {return scenario;} getScenarioDir()51 const string &getScenarioDir() const {return scenarioDir;} getFactionTypeName(int factionIndex)52 const string &getFactionTypeName(int factionIndex) const {return factionTypeNames[factionIndex];} getFactionControl(int factionIndex)53 ControlType getFactionControl(int factionIndex) const {return factionControls[factionIndex];} 54 getThisFactionIndex()55 int getThisFactionIndex() const {return thisFactionIndex;} getFactionCount()56 int getFactionCount() const {return factionCount;} getTeam(int factionIndex)57 int getTeam(int factionIndex) const {return teams[factionIndex];} getStartLocationIndex(int factionIndex)58 int getStartLocationIndex(int factionIndex) const {return startLocationIndex[factionIndex];} 59 getDefaultUnits()60 bool getDefaultUnits() const {return defaultUnits;} getDefaultResources()61 bool getDefaultResources() const {return defaultResources;} getDefaultVictoryConditions()62 bool getDefaultVictoryConditions() const {return defaultVictoryConditions;} 63 64 //set setDescription(const string & description)65 void setDescription(const string& description) {this->description= description;} setMap(const string & map)66 void setMap(const string& map) {this->map= map;} setTileset(const string & tileset)67 void setTileset(const string& tileset) {this->tileset= tileset;} setTech(const string & tech)68 void setTech(const string& tech) {this->tech= tech;} setScenario(const string & scenario)69 void setScenario(const string& scenario) {this->scenario= scenario;} setScenarioDir(const string & scenarioDir)70 void setScenarioDir(const string& scenarioDir) {this->scenarioDir= scenarioDir;} 71 setFactionTypeName(int factionIndex,const string & factionTypeName)72 void setFactionTypeName(int factionIndex, const string& factionTypeName) {this->factionTypeNames[factionIndex]= factionTypeName;} 73 setFactionControl(int factionIndex,ControlType controller)74 void setFactionControl(int factionIndex, ControlType controller) {this->factionControls[factionIndex]= controller;} 75 setThisFactionIndex(int thisFactionIndex)76 void setThisFactionIndex(int thisFactionIndex) {this->thisFactionIndex= thisFactionIndex;} setFactionCount(int factionCount)77 void setFactionCount(int factionCount) {this->factionCount= factionCount;} setTeam(int factionIndex,int team)78 void setTeam(int factionIndex, int team) {this->teams[factionIndex]= team;} setStartLocationIndex(int factionIndex,int startLocationIndex)79 void setStartLocationIndex(int factionIndex, int startLocationIndex) {this->startLocationIndex[factionIndex]= startLocationIndex;} 80 setDefaultUnits(bool defaultUnits)81 void setDefaultUnits(bool defaultUnits) {this->defaultUnits= defaultUnits;} setDefaultResources(bool defaultResources)82 void setDefaultResources(bool defaultResources) {this->defaultResources= defaultResources;} setDefaultVictoryConditions(bool defaultVictoryConditions)83 void setDefaultVictoryConditions(bool defaultVictoryConditions) {this->defaultVictoryConditions= defaultVictoryConditions;} 84 }; 85 86 }}//end namespace 87 88 #endif 89