15 #include <SDL_stdinc.h>
41 const std::string &
GetName()
const {
return m_name; }
42 std::vector<std::string>
GetOtherNames()
const {
return m_other_names; }
66 Uint32
GetNumBodies()
const {
return static_cast<Uint32
>(m_bodies.size()); }
72 return m_commodityLegal[t];
77 return m_tradeLevel[t];
94 void Dump(FILE *file,
const char *indent =
"",
bool suppressSectorData =
false)
const;
119 std::string ExportBodyToLua(FILE *f,
SystemBody *body);
125 std::vector<std::string> m_other_names;
126 std::string m_shortDesc, m_longDesc;
130 bool m_hasCustomBodies;
134 double m_exploredTime;
141 std::vector<int> m_tradeLevel;
143 fixed m_agricultural;
149 std::vector<RefCountedPtr<SystemBody>> m_bodies;
150 std::vector<SystemBody *> m_spaceStations;
151 std::vector<SystemBody *> m_stars;
152 std::vector<bool> m_commodityLegal;
167 m_isCustom = isCustom;
168 m_hasCustomBodies = hasCustomBodies;
173 void SetName(
const std::string &name) { m_name = name; }
174 void SetOtherNames(
const std::vector<std::string> &other_names) { m_other_names = other_names; }
178 m_explored = explored;
179 m_exploredTime = time;
200 m_spaceStations.push_back(station);
205 m_stars.push_back(star);
IterationProxy< Container > MakeIterationProxy(Container &container)
Definition: IterationProxy.h:51
nlohmann::json Json
Definition: Json.h:8
Definition: CustomSystem.h:17
Definition: CustomSystem.h:71
Definition: Factions.h:21
Definition: GalaxyGenerator.h:17
Definition: GalaxyCache.h:20
Definition: IterationProxy.h:13
Definition: RefCounted.h:11
Definition: StarSystem.h:157
void SetExplored(ExplorationState explored, double time)
Definition: StarSystem.h:176
void SetOtherNames(const std::vector< std::string > &other_names)
Definition: StarSystem.h:174
void SetTradeLevel(GalacticEconomy::CommodityId type, int level)
Definition: StarSystem.h:193
void SetFaction(const Faction *faction)
Definition: StarSystem.h:182
void AddStar(SystemBody *star)
Definition: StarSystem.h:202
void SetTotalPop(fixed pop)
Definition: StarSystem.h:189
void SetCommodityLegal(GalacticEconomy::CommodityId type, bool legal)
Definition: StarSystem.h:195
void SetSeed(Uint32 seed)
Definition: StarSystem.h:181
void AddTotalPop(fixed pop)
Definition: StarSystem.h:190
void SetNumStars(int numStars)
Definition: StarSystem.h:170
void SetEconType(GalacticEconomy::EconomyId econType)
Definition: StarSystem.h:183
bool HasCustomBodies() const
Definition: StarSystem.h:163
void AddTradeLevel(GalacticEconomy::CommodityId type, int level)
Definition: StarSystem.h:194
void SetCustom(bool isCustom, bool hasCustomBodies)
Definition: StarSystem.h:165
int GetTradeLevel(GalacticEconomy::CommodityId type)
Definition: StarSystem.h:192
void SetHumanProx(fixed humanProx)
Definition: StarSystem.h:188
void SetRootBody(SystemBody *rootBody)
Definition: StarSystem.h:172
void SetIndustrial(fixed industrial)
Definition: StarSystem.h:186
void SetAgricultural(fixed agricultural)
Definition: StarSystem.h:187
void SetRootBody(RefCountedPtr< SystemBody > rootBody)
Definition: StarSystem.h:171
void SetMetallicity(fixed metallicity)
Definition: StarSystem.h:185
void AddSpaceStation(SystemBody *station)
Definition: StarSystem.h:197
void SetName(const std::string &name)
Definition: StarSystem.h:173
void SetSysPolit(SysPolit polit)
Definition: StarSystem.h:184
void SetLongDesc(const std::string &desc)
Definition: StarSystem.h:175
Definition: StarSystem.h:27
const std::string & GetName() const
Definition: StarSystem.h:41
const std::string & GetLongDescription() const
Definition: StarSystem.h:49
IterationProxy< std::vector< SystemBody * > > GetSpaceStations()
Definition: StarSystem.h:62
int GetCommodityBasePriceModPercent(GalacticEconomy::CommodityId t)
Definition: StarSystem.h:75
const Faction * GetFaction() const
Definition: StarSystem.h:80
const RefCountedPtr< Galaxy > m_galaxy
Definition: StarSystem.h:96
Uint32 GetNumSpaceStations() const
Definition: StarSystem.h:61
bool IsCommodityLegal(const GalacticEconomy::CommodityId t)
Definition: StarSystem.h:70
IterationProxy< std::vector< SystemBody * > > GetStars()
Definition: StarSystem.h:64
fixed GetHumanProx() const
Definition: StarSystem.h:91
friend class SystemBody
Definition: StarSystem.h:29
static void ToJson(Json &jsonObj, StarSystem *)
Definition: StarSystem.cpp:347
RefCountedPtr< const SystemBody > GetRootBody() const
Definition: StarSystem.h:58
std::vector< std::string > GetOtherNames() const
Definition: StarSystem.h:42
GalacticEconomy::EconomyId GetEconType() const
Definition: StarSystem.h:89
const SystemPath & GetPath() const
Definition: StarSystem.h:47
const std::string & GetShortDescription() const
Definition: StarSystem.h:48
ExplorationState GetExplored() const
Definition: StarSystem.h:82
static const double starLuminosities[]
Definition: StarSystem.h:55
int GetSeed() const
Definition: StarSystem.h:90
virtual ~StarSystem()
Definition: StarSystem.cpp:337
bool HasSpaceStations() const
Definition: StarSystem.h:60
const IterationProxy< const std::vector< SystemBody * > > GetSpaceStations() const
Definition: StarSystem.h:63
SystemBody * NewBody()
Definition: StarSystem.h:102
const IterationProxy< const std::vector< SystemBody * > > GetStars() const
Definition: StarSystem.h:65
fixed GetAgricultural() const
Definition: StarSystem.h:88
SystemBody * GetBodyByPath(const SystemPath &path) const
Definition: StarSystem.cpp:199
fixed GetMetallicity() const
Definition: StarSystem.h:86
void ExploreSystem(double time)
Definition: StarSystem.cpp:324
IterationProxy< std::vector< RefCountedPtr< SystemBody > > > GetBodies()
Definition: StarSystem.h:67
double GetExploredTime() const
Definition: StarSystem.h:83
void Dump(FILE *file, const char *indent="", bool suppressSectorData=false) const
Definition: StarSystem.cpp:521
static const float starScale[]
Definition: StarSystem.h:56
fixed GetTotalPop() const
Definition: StarSystem.h:92
void SetShortDesc(const std::string &desc)
Definition: StarSystem.h:110
const SysPolit & GetSysPolit() const
Definition: StarSystem.h:51
bool GetUnexplored() const
Definition: StarSystem.h:81
SystemPath GetPathOf(const SystemBody *sbody) const
Definition: StarSystem.cpp:209
StarSystem(const SystemPath &path, RefCountedPtr< Galaxy > galaxy, StarSystemCache *cache, Random &rand)
Definition: StarSystem.cpp:220
unsigned GetNumStars() const
Definition: StarSystem.h:50
const IterationProxy< const std::vector< RefCountedPtr< SystemBody > > > GetBodies() const
Definition: StarSystem.h:68
void MakeShortDescription()
Definition: StarSystem.cpp:297
void ExportToLua(const char *filename)
Definition: StarSystem.cpp:486
ExplorationState
Definition: StarSystem.h:33
@ eUNEXPLORED
Definition: StarSystem.h:34
@ eEXPLORED_BY_PLAYER
Definition: StarSystem.h:35
@ eEXPLORED_AT_START
Definition: StarSystem.h:36
static const Color starColors[]
Definition: StarSystem.h:53
Uint32 GetNumBodies() const
Definition: StarSystem.h:66
static const Color starRealColors[]
Definition: StarSystem.h:54
fixed GetIndustrial() const
Definition: StarSystem.h:87
static RefCountedPtr< StarSystem > FromJson(RefCountedPtr< Galaxy > galaxy, const Json &jsonObj)
Definition: StarSystem.cpp:359
RefCountedPtr< SystemBody > GetRootBody()
Definition: StarSystem.h:59
Definition: SystemBody.h:19
@ SUPERTYPE_STAR
Definition: SystemBody.h:75
@ SUPERTYPE_STARPORT
Definition: SystemBody.h:78
BodySuperType GetSuperType() const
Definition: SystemBody.cpp:114
Definition: SystemPath.h:13
Sint32 sectorZ
Definition: SystemPath.h:56
Uint32 systemIndex
Definition: SystemPath.h:57
Sint32 sectorX
Definition: SystemPath.h:54
Sint32 sectorY
Definition: SystemPath.h:55
uint32_t CommodityId
Definition: Economy.h:29
uint32_t EconomyId
Definition: Economy.h:31