Conquer Space 0.0.0
A space themed grand strategy game set in the near future, with realistic orbital mechanics, and an emphasis on economics and politics.
Classes | Functions
cqsp::common::actions Namespace Reference

Classes

class  NameGenerator
 Name generator is pretty straightforward Format: More...
 

Functions

entt::entity CreateCity (Universe &universe, entt::entity planet, double lat, double longi)
 
bool BuyGood (components::AuctionHouse &auction_house, entt::entity agent, entt::entity good, double price, double quantity)
 Buys a good from the market More...
 
bool SellGood (components::AuctionHouse &auction_house, entt::entity agent, entt::entity good, double price, double quantity)
 Sells a good to the market More...
 
void AddParticipant (Universe &universe, entt::entity market_entity, entt::entity entity)
 
double GetCost (Universe &universe, entt::entity market, const components::ResourceLedger &ledger)
 
entt::entity CreateMarket (Universe &universe)
 Creates a market two instance. More...
 
void CreateMarket (Universe &universe, entt::entity market)
 
bool PurchaseGood (Universe &universe, entt::entity agent, const components::ResourceLedger &purchase)
 Note: This will only buy the maximum resources that are in the market. If there aren't enough resources on the market, then we buy all the remaining resources on the market. You'll have to calculate how much you want later on More...
 
bool SellGood (Universe &universe, entt::entity agent, const components::ResourceLedger &selling)
 
entt::entity OrderConstructionFactory (Universe &universe, entt::entity city, entt::entity market, entt::entity recipe, int productivity, entt::entity builder)
 Will charge the entity builder the amount needed to construct the factory/building. You'll have to find a organization that can construct it though. More...
 
entt::entity CreateFactory (Universe &universe, entt::entity city, entt::entity recipe, int productivity)
 Creates a factory from thin air More...
 
components::ResourceLedger GetFactoryCost (Universe &universe, entt::entity city, entt::entity recipe, int productivity)
 
entt::entity CreateCommercialArea (Universe &universe, entt::entity city)
 
uint64_t GetCityPopulation (const Universe &universe, entt::entity city)
 
entt::entity CreateLab (Universe &universe)
 
void AddScienceResearch (Universe &universe, entt::entity lab, entt::entity research, double progress)
 
void ResearchTech (Universe &universe, entt::entity civilization, entt::entity tech)
 
void ProcessAction (Universe &universe, entt::entity civilization, const std::string &action)
 
entt::entity CreateShip (Universe &universe, entt::entity civEnt, const glm::vec3 &orbit, entt::entity starsystem)
 
entt::entity CreateShip (Universe &universe, entt::entity civ, entt::entity orbit, entt::entity starsystem)
 
entt::entity CreateShip (Universe &universe, entt::entity fleetEnt, entt::entity starsystemEnt, const glm::vec3 &orbit, const std::string &shipName)
 creates a ship with a name and assigns it to a fleet and solar system More...
 
entt::entity CreateShip (Universe &universe, entt::entity fleetEnt, entt::entity starsystemEnt, entt::entity orbitEnt, const std::string &shipName)
 
entt::entity LaunchShip (Universe &universe, components::types::Orbit &orbit)
 
bool TransferResources (entt::registry &registry, entt::entity from, entt::entity to, entt::entity good, double amount)
 Transfers resources from the first entity to the second More...
 

Function Documentation

◆ AddParticipant()

void cqsp::common::actions::AddParticipant ( Universe universe,
entt::entity  market_entity,
entt::entity  entity 
)

◆ AddScienceResearch()

void cqsp::common::actions::AddScienceResearch ( Universe universe,
entt::entity  lab,
entt::entity  research,
double  progress 
)

◆ BuyGood()

bool cqsp::common::actions::BuyGood ( components::AuctionHouse auction_house,
entt::entity  agent,
entt::entity  good,
double  price,
double  quantity 
)

Buys a good from the market

Parameters
auction_houseAuction house to buy from
goodGood to buy
pricePrice
quantityQuantity
Returns
True if the order is fufilled immediately, false if a buy order is placed.

◆ CreateCity()

entt::entity cqsp::common::actions::CreateCity ( Universe universe,
entt::entity  planet,
double  lat,
double  longi 
)

◆ CreateCommercialArea()

entt::entity cqsp::common::actions::CreateCommercialArea ( Universe universe,
entt::entity  city 
)

◆ CreateFactory()

entt::entity cqsp::common::actions::CreateFactory ( Universe universe,
entt::entity  city,
entt::entity  recipe,
int  productivity 
)

Creates a factory from thin air

Parameters
universe
city
recipe
productivity
Returns
The factory entity created

◆ CreateLab()

entt::entity cqsp::common::actions::CreateLab ( Universe universe)

◆ CreateMarket() [1/2]

entt::entity cqsp::common::actions::CreateMarket ( Universe universe)

Creates a market two instance.

◆ CreateMarket() [2/2]

void cqsp::common::actions::CreateMarket ( Universe universe,
entt::entity  market 
)

◆ CreateShip() [1/4]

entt::entity cqsp::common::actions::CreateShip ( Universe universe,
entt::entity  civ,
entt::entity  orbit,
entt::entity  starsystem 
)

◆ CreateShip() [2/4]

entt::entity cqsp::common::actions::CreateShip ( Universe universe,
entt::entity  civEnt,
const glm::vec3 &  orbit,
entt::entity  starsystem 
)

◆ CreateShip() [3/4]

entt::entity cqsp::common::actions::CreateShip ( Universe universe,
entt::entity  fleetEnt,
entt::entity  starsystemEnt,
const glm::vec3 &  orbit,
const std::string &  shipName 
)

creates a ship with a name and assigns it to a fleet and solar system

Parameters
universeThe registry for the entities
fleetEntThe fleet to be used
starsystemEntThe star system where the ship is created in
Returns
The ship that is created

◆ CreateShip() [4/4]

entt::entity cqsp::common::actions::CreateShip ( Universe universe,
entt::entity  fleetEnt,
entt::entity  starsystemEnt,
entt::entity  orbitEnt,
const std::string &  shipName 
)

◆ GetCityPopulation()

uint64_t cqsp::common::actions::GetCityPopulation ( const Universe universe,
entt::entity  city 
)

◆ GetCost()

double cqsp::common::actions::GetCost ( Universe universe,
entt::entity  market,
const components::ResourceLedger ledger 
)

◆ GetFactoryCost()

components::ResourceLedger cqsp::common::actions::GetFactoryCost ( Universe universe,
entt::entity  city,
entt::entity  recipe,
int  productivity 
)

◆ LaunchShip()

entt::entity cqsp::common::actions::LaunchShip ( Universe universe,
components::types::Orbit orbit 
)

◆ OrderConstructionFactory()

entt::entity cqsp::common::actions::OrderConstructionFactory ( Universe universe,
entt::entity  city,
entt::entity  market,
entt::entity  recipe,
int  productivity,
entt::entity  builder 
)

Will charge the entity builder the amount needed to construct the factory/building. You'll have to find a organization that can construct it though.

Parameters
universe
city
recipe
productivity
builder
Returns
The factory entity created, entt::null if it's not possible.

◆ ProcessAction()

void cqsp::common::actions::ProcessAction ( Universe universe,
entt::entity  civilization,
const std::string &  action 
)

◆ PurchaseGood()

bool cqsp::common::actions::PurchaseGood ( Universe universe,
entt::entity  agent,
const components::ResourceLedger purchase 
)

Note: This will only buy the maximum resources that are in the market. If there aren't enough resources on the market, then we buy all the remaining resources on the market. You'll have to calculate how much you want later on

Parameters
universe
agent
purchase
Returns

◆ ResearchTech()

void cqsp::common::actions::ResearchTech ( Universe universe,
entt::entity  civilization,
entt::entity  tech 
)

◆ SellGood() [1/2]

bool cqsp::common::actions::SellGood ( components::AuctionHouse auction_house,
entt::entity  agent,
entt::entity  good,
double  price,
double  quantity 
)

Sells a good to the market

Parameters
auction_houseAuction house to buy from
goodGood to buy
pricePrice
quantityQuantity
Returns
True if the order is fufilled immediately, false if a sell order is placed.

◆ SellGood() [2/2]

bool cqsp::common::actions::SellGood ( Universe universe,
entt::entity  agent,
const components::ResourceLedger selling 
)

◆ TransferResources()

bool cqsp::common::actions::TransferResources ( entt::registry &  registry,
entt::entity  from,
entt::entity  to,
entt::entity  good,
double  amount 
)

Transfers resources from the first entity to the second

Parameters
registryRegistry to transfer
fromNeeds to be a resource stockpile
toNeeds to be a resource stockpile
goodgood to transfer
amountamount of resources to transfer
Returns
If transfering resources failed.