24#include <entt/entt.hpp>
203 bool HasGood(entt::entity good) {
return (*this).find(good) != (*this).end(); }
218 using LedgerMap::operator[];
219 using LedgerMap::operator=;
220 using LedgerMap::begin;
221 using LedgerMap::cbegin;
222 using LedgerMap::cend;
223 using LedgerMap::clear;
224 using LedgerMap::contains;
225 using LedgerMap::crbegin;
226 using LedgerMap::crend;
227 using LedgerMap::emplace;
228 using LedgerMap::empty;
229 using LedgerMap::end;
230 using LedgerMap::erase;
231 using LedgerMap::mapped_type;
232 using LedgerMap::rbegin;
233 using LedgerMap::rend;
234 using LedgerMap::size;
235 using LedgerMap::value_comp;
238ResourceLedger
CopyVals(
const ResourceLedger& keys,
const ResourceLedger& values);
325 std::map<entt::entity, double>
dist;
Definition: resource.h:76
bool HasAllResources(const ResourceLedger &)
Checks if this current resource ledger has any resources in this list
Definition: resource.cpp:329
ResourceLedger Clamp(const double, const double)
Returns a copy of the vector with the values clamped between the min and max indicated
Definition: resource.cpp:315
ResourceLedger SafeDivision(const ResourceLedger &)
Returns a copy of the vector divided by the indicated vector, with division by zero resulting in infi...
Definition: resource.cpp:352
double MultiplyAndGetSum(ResourceLedger &other)
Multiplies the numbers stated in the resource ledger. Used for calculating the price,...
Definition: resource.cpp:344
bool operator==(const double &)
Definition: resource.cpp:237
double Min()
Finds the smallest value in the Ledger.
Definition: resource.cpp:370
ResourceLedger operator-(const ResourceLedger &) const
Definition: resource.cpp:179
bool operator>=(const ResourceLedger &)
All resources in this ledger are greater than or equal to the other ledger
Definition: resource.cpp:243
bool LedgerEquals(const ResourceLedger &)
Definition: resource.cpp:247
void operator/=(const ResourceLedger &)
Definition: resource.cpp:143
void operator-=(const ResourceLedger &)
Definition: resource.cpp:125
void AddPositive(const ResourceLedger &)
Definition: resource.cpp:111
bool operator>(const ResourceLedger &)
All resources in this ledger are greater than the other ledger
Definition: resource.cpp:255
void RemoveResourcesLimited(const ResourceLedger &)
Removes the resources, and if the amount of resources removed are more than the resources inside the ...
Definition: resource.cpp:282
void operator*=(const ResourceLedger &)
Definition: resource.cpp:137
ResourceLedger operator/(const ResourceLedger &) const
Definition: resource.cpp:191
ResourceLedger UnitLedger(const double)
Returns a copy of the vector with the values set to indicated value
Definition: resource.cpp:307
bool EnoughToTransfer(const ResourceLedger &amount)
This resource ledger has enough resources inside to transfer "amount" amount of resources away
Definition: resource.cpp:103
double GetSum()
Definition: resource.cpp:336
void AddNegative(const ResourceLedger &)
Definition: resource.cpp:118
double Max()
Finds the largest value in the Ledger.
Definition: resource.cpp:382
void TransferTo(ResourceLedger &, const ResourceLedger &)
Definition: resource.cpp:269
void AssignFrom(const ResourceLedger &)
Definition: resource.cpp:263
ResourceLedger operator*(const ResourceLedger &) const
Definition: resource.cpp:185
void MultiplyAdd(const ResourceLedger &, double)
Definition: resource.cpp:276
std::string to_string()
Definition: resource.cpp:392
ResourceLedger LimitedRemoveResources(const ResourceLedger &)
Same as RemoveResourcesLimited, except that it returns how much resources it took out.
Definition: resource.cpp:292
bool operator<(const ResourceLedger &)
All resources in this ledger are smaller than than the other ledger
Definition: resource.cpp:251
double Average()
Returns a copy of the vector divided by the indicated vector, with division by zero resulting in infi...
Definition: resource.cpp:390
bool HasGood(entt::entity good)
Definition: resource.h:203
void operator+=(const ResourceLedger &)
Definition: resource.cpp:131
bool operator<=(const ResourceLedger &)
All resources in this ledger are smaller than or equal to than the other ledger
Definition: resource.cpp:259
ResourceLedger operator+(const ResourceLedger &) const
Definition: resource.cpp:173
double operator[](const entt::entity) const
Definition: resource.cpp:94
~ResourceLedger()=default
double kilogram
Definition: units.h:39
double joule
Definition: units.h:41
double meter_cube
Definition: units.h:38
ProductionType
Definition: area.h:30
ResourceLedger ResourceLedgerZip(const ResourceLedger &key, const ResourceLedger &value)
std::map< entt::entity, double > LedgerMap
Definition: resource.h:74
ResourceLedger CopyVals(const ResourceLedger &keys, const ResourceLedger &values)
Creates a new resource ledger using the keys from one resource ledger, and the values from annother
Definition: resource.cpp:418
When adding assets, it is extremely crucial that you read cqsp::asset::AssetLoader::LoadResources to ...
Definition: clientctx.h:22
Definition: resource.h:72
See SysPopulationConsumption for an explanation of these values
Definition: resource.h:57
double autonomous_consumption
Definition: resource.h:62
double marginal_propensity
Definition: resource.h:67
Definition: resource.h:271
double maintenance
Definition: resource.h:276
double transport
Definition: resource.h:281
double revenue
Definition: resource.h:272
double materialcosts
Definition: resource.h:274
double profit
Definition: resource.h:279
void Reset()
Definition: resource.h:283
double wages
Definition: resource.h:278
Definition: resource.h:40
cqsp::common::components::types::joule energy
Definition: resource.h:42
Definition: resource.h:300
float interval
Definition: resource.h:301
float time_left
Definition: resource.h:302
Definition: resource.h:322
Definition: resource.h:320
Definition: resource.h:316
Definition: resource.h:52
Definition: resource.h:265
double size
Definition: resource.h:266
double utilization
Definition: resource.h:267
double wages
Definition: resource.h:268
Something that has a mass.
Definition: resource.h:35
cqsp::common::components::types::meter_cube volume
Definition: resource.h:36
cqsp::common::components::types::kilogram mass
Definition: resource.h:37
Definition: resource.h:70
Definition: resource.h:259
ResourceLedger scaling
Definition: resource.h:261
ResourceLedger fixed
Definition: resource.h:260
Definition: resource.h:248
RecipeOutput output
Definition: resource.h:250
float interval
Definition: resource.h:252
ResourceLedger capitalcost
Definition: resource.h:256
ResourceLedger input
Definition: resource.h:249
ProductionType type
Definition: resource.h:251
double workers
Definition: resource.h:254
Definition: resource.h:241
ResourceLedger operator*(const double value) const
Definition: resource.cpp:404
entt::entity entity
Definition: resource.h:242
double amount
Definition: resource.h:243
Definition: resource.h:307
Definition: resource.h:310
entt::entity recipe
Definition: resource.h:311
Definition: resource.h:324
std::map< entt::entity, double > dist
Definition: resource.h:325
Definition: resource.h:294
ResourceLedger input
Definition: resource.h:295
ResourceLedger output
Definition: resource.h:296
Definition: resource.h:308
Definition: resource.h:314
The unit name of the good. If it doesn't have it, then it's a quantity.
Definition: resource.h:48
std::string unit_name
Definition: resource.h:49