1 /* Copyright (C) 2018 Wildfire Games. 2 * This file is part of 0 A.D. 3 * 4 * 0 A.D. is free software: you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation, either version 2 of the License, or 7 * (at your option) any later version. 8 * 9 * 0 A.D. is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with 0 A.D. If not, see <http://www.gnu.org/licenses/>. 16 */ 17 18 #ifndef INCLUDED_ICMPPLAYER 19 #define INCLUDED_ICMPPLAYER 20 21 #include "simulation2/system/Interface.h" 22 23 struct CColor; 24 class CFixedVector3D; 25 26 /** 27 * Player data. 28 * (This interface includes the functions needed by native code for loading maps, 29 * and for minimap rendering; most player interaction is handled by scripts instead. 30 * Also includes some functions needed for the non visual autostart.) 31 */ 32 class ICmpPlayer : public IComponent 33 { 34 public: 35 virtual CColor GetDisplayedColor() = 0; 36 virtual std::wstring GetCiv() = 0; 37 virtual CFixedVector3D GetStartingCameraPos() = 0; 38 virtual CFixedVector3D GetStartingCameraRot() = 0; 39 40 virtual bool HasStartingCamera() = 0; 41 virtual std::string GetState() = 0; 42 43 DECLARE_INTERFACE_TYPE(Player) 44 }; 45 46 #endif // INCLUDED_ICMPPLAYER 47