Refactor farm building speed to builder unit action_speeds and enable infinite charges
This commit is contained in:
+47
-1
@@ -29,10 +29,52 @@ struct CityConfig {
|
||||
int initialBorderRadius;
|
||||
int maxWorkableRadius;
|
||||
int defaultTileSlots;
|
||||
float cityViewZoom;
|
||||
|
||||
int baseResourceYieldPerTick;
|
||||
int tileCultureCost;
|
||||
float foodToInhabitantsRatio;
|
||||
|
||||
QMap<QString, int> baseYields;
|
||||
QMap<QString, int> initialNationalResources;
|
||||
|
||||
CityConfig()
|
||||
: initialInhabitants(1000), inhabitantsPerPop(100000),
|
||||
initialBorderRadius(1), maxWorkableRadius(3), defaultTileSlots(1) {}
|
||||
initialBorderRadius(1), maxWorkableRadius(3), defaultTileSlots(1),
|
||||
cityViewZoom(4.8f),
|
||||
baseResourceYieldPerTick(500), tileCultureCost(10000),
|
||||
foodToInhabitantsRatio(1.0f)
|
||||
{
|
||||
baseYields["voedsel"] = 500;
|
||||
baseYields["arbeid"] = 500;
|
||||
baseYields["kennis"] = 500;
|
||||
baseYields["cultuur"] = 500;
|
||||
baseYields["geloof"] = 500;
|
||||
baseYields["goud"] = 500;
|
||||
|
||||
initialNationalResources["cultuur"] = 10000;
|
||||
initialNationalResources["kennis"] = 0;
|
||||
initialNationalResources["geloof"] = 0;
|
||||
initialNationalResources["goud"] = 0;
|
||||
}
|
||||
|
||||
int getBaseYield(const QString &res) const {
|
||||
return baseYields.value(res, baseResourceYieldPerTick);
|
||||
}
|
||||
};
|
||||
|
||||
struct ImprovementConfig {
|
||||
QString id;
|
||||
QString name;
|
||||
QString action;
|
||||
QString texturePath;
|
||||
float textureScale;
|
||||
QString textureMapping; // "world" or "hex"
|
||||
QStringList validTerrains;
|
||||
QMap<QString, int> yieldBonus; // e.g. "voedsel": 1000
|
||||
|
||||
ImprovementConfig()
|
||||
: id(""), name(""), action(""), texturePath("images/farm.jpeg"), textureScale(0.6f), textureMapping("world") {}
|
||||
};
|
||||
|
||||
class TerrainYieldManager {
|
||||
@@ -45,11 +87,15 @@ public:
|
||||
const TerrainYieldConfig* getYieldConfig(const QString &terrainType) const;
|
||||
const CityConfig& getCityConfig() const { return m_cityConfig; }
|
||||
|
||||
const ImprovementConfig* getImprovementConfig(const QString &id) const;
|
||||
const QMap<QString, ImprovementConfig>& getAllImprovementConfigs() const { return m_improvementConfigs; }
|
||||
|
||||
private:
|
||||
TerrainYieldManager();
|
||||
~TerrainYieldManager() = default;
|
||||
|
||||
QMap<QString, TerrainYieldConfig> m_yieldConfigs;
|
||||
QMap<QString, ImprovementConfig> m_improvementConfigs;
|
||||
CityConfig m_cityConfig;
|
||||
bool m_loaded;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user