- Deliverer component added - Delivering system added - Delivery tests - Spawn enterprises tests (miner and deliverer) - Base, factor and total efficiency of enterprise added - Value of resource mined per tick moved from miner to enterprise efficiency
48 lines
899 B
C++
48 lines
899 B
C++
#pragma once
|
|
#include <entt/entt.hpp>
|
|
#include <vector>
|
|
|
|
namespace ee_economy
|
|
{
|
|
struct enterprise
|
|
{
|
|
bool is_building = false;
|
|
entt::entity state;
|
|
|
|
double efficiency = 0.;
|
|
double base_efficiency = 0.;
|
|
double factor_efficiency = 1.;
|
|
|
|
std::vector<entt::entity> links_from;
|
|
std::vector<entt::entity> links_to;
|
|
|
|
inline void update_efficiency()
|
|
{
|
|
this->efficiency = this->base_efficiency * this->factor_efficiency;
|
|
}
|
|
|
|
void add_base_efficiency(double delta)
|
|
{
|
|
this->base_efficiency += delta;
|
|
update_efficiency();
|
|
}
|
|
|
|
void add_factor_efficiency(double delta)
|
|
{
|
|
this->factor_efficiency += delta;
|
|
update_efficiency();
|
|
}
|
|
|
|
void multiply_base_efficiency(double factor)
|
|
{
|
|
this->base_efficiency *= factor;
|
|
update_efficiency();
|
|
}
|
|
|
|
void multiply_factor_efficiency(double factor)
|
|
{
|
|
this->factor_efficiency *= factor;
|
|
update_efficiency();
|
|
}
|
|
};
|
|
} |