legatt bbf45e832c Delivering and tests
- 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
2025-07-08 19:01:31 +03:00

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();
}
};
}