37 typedef std::pair<Polit::GovType, Sint32>
GovWeight;
71 void SetBestFitHomeworld(Sint32 x, Sint32 y, Sint32 z, Sint32 si, Uint32 bi, Sint32 axisChange);
75 static const double FACTION_CURRENT_YEAR;
79 bool IsCloserAndContains(
double &closestFactionDist,
const Sector::System *sys)
const;
91 m_factionDirectory(factionDir),
93 m_may_assign_factions(false),
94 m_initialized(false) {}
117 void Add(
const Faction *faction);
118 const std::vector<const Faction *> &CandidateFactions(
const Sector::System *sys)
const;
121 std::vector<const Faction *> octbox[2][2][2];
122 static int BoxIndex(Sint32 sectorIndex) {
return sectorIndex < 0 ? 0 : 1; };
123 void PruneDuplicates(
const int bx,
const int by,
const int bz);
126 typedef std::vector<Faction *> FactionList;
127 typedef FactionList::iterator FactionIterator;
128 typedef const std::vector<const Faction *> ConstFactionList;
129 typedef ConstFactionList::const_iterator ConstFactionIterator;
130 typedef std::map<std::string, Faction *> FactionMap;
131 typedef std::set<SystemPath> HomeSystemSet;
132 typedef std::map<std::string, std::list<CustomSystem *>> MissingFactionsMap;
134 void ClearHomeSectors();
135 void SetHomeSectors();
138 const std::string m_factionDirectory;
140 FactionList m_factions;
141 FactionMap m_factions_byName;
142 HomeSystemSet m_homesystems;
143 Octsapling m_spatial_index;
144 bool m_may_assign_factions;
145 bool m_initialized =
false;
146 MissingFactionsMap m_missingFactionsMap;
Definition CustomSystem.h:71
Definition DeleteEmitter.h:16
GovWeightVec::const_iterator GovWeightIterator
Definition Factions.h:39
std::string military_name
Definition Factions.h:47
SystemPath homeworld
Definition Factions.h:44
std::vector< GovWeight > GovWeightVec
Definition Factions.h:38
static const Color BAD_FACTION_COLOUR
Definition Factions.h:26
bool IsValid() const
Definition Factions.h:66
double Radius() const
Definition Factions.h:65
Color colour
Definition Factions.h:63
double foundingDate
Definition Factions.h:45
static const Uint32 BAD_FACTION_IDX
Definition Factions.h:25
void SetBestFitHomeworld(Sint32 x, Sint32 y, Sint32 z, Sint32 si, Uint32 bi, Sint32 axisChange)
Definition Factions.cpp:700
RefCountedPtr< const Sector > GetHomeSector() const
Definition Factions.cpp:767
static const float FACTION_BASE_ALPHA
Definition Factions.h:27
Polit::GovType PickGovType(Random &rand) const
Definition Factions.cpp:673
std::string police_name
Definition Factions.h:49
std::string description
Definition Factions.h:34
std::vector< SystemPath > ClaimList
Definition Factions.h:54
CommodityProbMap commodity_legality
Definition Factions.h:61
bool IsClaimed(SystemPath) const
Definition Factions.cpp:603
std::string description_short
Definition Factions.h:33
Color AdjustedColour(fixed population, bool inRange) const
Definition Factions.cpp:662
double expansionRate
Definition Factions.h:46
ClaimList m_ownedsystemlist
Definition Factions.h:55
void PushClaim(SystemPath path)
Definition Factions.h:56
Sint32 govtype_weights_total
Definition Factions.h:41
std::string police_ship
Definition Factions.h:50
bool hasHomeworld
Definition Factions.h:43
Uint32 idx
Definition Factions.h:31
GovWeightVec govtype_weights
Definition Factions.h:40
std::map< GalacticEconomy::CommodityId, Uint32 > CommodityProbMap
Definition Factions.h:60
std::string name
Definition Factions.h:32
std::pair< Polit::GovType, Sint32 > GovWeight
Definition Factions.h:37
const Faction * GetFaction(const Uint32 index) const
Definition Factions.cpp:544
FactionsDatabase(Galaxy *galaxy, const std::string &factionDir)
Definition Factions.h:89
Galaxy * GetGalaxy() const
Definition Factions.h:101
void PostInit()
Definition Factions.cpp:488
void AddFaction(Faction *faction)
Definition Factions.cpp:525
const Faction * GetNearestClaimant(const Sector::System *sys) const
Definition Factions.cpp:574
bool IsInitialized() const
Definition Factions.cpp:515
bool IsHomeSystem(const SystemPath &sysPath) const
Definition Factions.cpp:596
void Init()
Definition Factions.cpp:448
~FactionsDatabase()
Definition Factions.cpp:415
Uint32 GetNumFactions() const
Definition Factions.cpp:562
bool MayAssignFactions() const
Definition Factions.cpp:568
void ClearCache()
Definition Factions.h:99
void RegisterCustomSystem(CustomSystem *cs, const std::string &factionName)
Definition Factions.cpp:520
Definition RefCounted.h:36
Definition SystemPath.h:13
GovType
Definition Polit.h:25