1 // _________ __ __ 2 // / _____// |_____________ _/ |______ ____ __ __ ______ 3 // \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/ 4 // / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ | 5 // /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ > 6 // \/ \/ \//_____/ \/ 7 // ______________________ ______________________ 8 // T H E W A R B E G I N S 9 // Stratagus - A free fantasy real time strategy game engine 10 // 11 /**@name pantheon.h - The pantheon header file. */ 12 // 13 // (c) Copyright 2018-2019 by Andrettin 14 // 15 // This program is free software; you can redistribute it and/or modify 16 // it under the terms of the GNU General Public License as published by 17 // the Free Software Foundation; only version 2 of the License. 18 // 19 // This program is distributed in the hope that it will be useful, 20 // but WITHOUT ANY WARRANTY; without even the implied warranty of 21 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 // GNU General Public License for more details. 23 // 24 // You should have received a copy of the GNU General Public License 25 // along with this program; if not, write to the Free Software 26 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 27 // 02111-1307, USA. 28 // 29 30 #ifndef __PANTHEON_H__ 31 #define __PANTHEON_H__ 32 33 /*---------------------------------------------------------------------------- 34 -- Includes 35 ----------------------------------------------------------------------------*/ 36 37 #include "data_type.h" 38 39 #include <map> 40 #include <string> 41 #include <vector> 42 43 /*---------------------------------------------------------------------------- 44 -- Declarations 45 ----------------------------------------------------------------------------*/ 46 47 class CPantheon : public CDataType 48 { 49 public: 50 static CPantheon *GetPantheon(const std::string &ident, const bool should_find = true); 51 static CPantheon *GetOrAddPantheon(const std::string &ident); 52 static void ClearPantheons(); 53 54 static std::vector<CPantheon *> Pantheons; /// Pantheons 55 static std::map<std::string, CPantheon *> PantheonsByIdent; 56 57 virtual void ProcessConfigData(const CConfigData *config_data) override; 58 59 std::string Name; /// Name of the pantheon 60 std::string Description; 61 std::string Background; 62 std::string Quote; 63 }; 64 65 #endif 66