aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/economy/production/ArtisanalProducer.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/openvic-simulation/economy/production/ArtisanalProducer.hpp')
-rw-r--r--src/openvic-simulation/economy/production/ArtisanalProducer.hpp21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/openvic-simulation/economy/production/ArtisanalProducer.hpp b/src/openvic-simulation/economy/production/ArtisanalProducer.hpp
index 65aa3fa..3287b40 100644
--- a/src/openvic-simulation/economy/production/ArtisanalProducer.hpp
+++ b/src/openvic-simulation/economy/production/ArtisanalProducer.hpp
@@ -1,22 +1,33 @@
#pragma once
-#include "openvic-simulation/economy/GoodDefinition.hpp"
#include "openvic-simulation/economy/production/ProductionType.hpp"
+#include "openvic-simulation/economy/trading/MarketInstance.hpp"
+#include "openvic-simulation/modifier/ModifierEffectCache.hpp"
+#include "openvic-simulation/pop/Pop.hpp"
#include "openvic-simulation/types/fixed_point/FixedPoint.hpp"
#include "openvic-simulation/utility/Getters.hpp"
namespace OpenVic {
struct ArtisanalProducer {
private:
+ MarketInstance& market_instance;
+ ModifierEffectCache const& modifier_effect_cache;
+ Pop& pop;
+ Pop::pop_size_t previous_pop_size;
+ fixed_point_t inputs_bought_scalar;
ProductionType const& PROPERTY(production_type);
- GoodDefinition::good_definition_map_t PROPERTY(stockpile);
fixed_point_t PROPERTY(current_production);
- GoodDefinition::good_definition_map_t PROPERTY(current_needs);
public:
ArtisanalProducer(
- ProductionType const& new_production_type, GoodDefinition::good_definition_map_t&& new_stockpile,
- fixed_point_t new_current_production, GoodDefinition::good_definition_map_t&& new_current_needs
+ MarketInstance& new_market_instance,
+ ModifierEffectCache const& new_modifier_effect_cache,
+ Pop& new_pop,
+ Pop::pop_size_t new_previous_pop_size,
+ fixed_point_t new_inputs_bought_scalar,
+ ProductionType const& new_production_type,
+ fixed_point_t new_current_production
);
+ void artisan_tick();
};
}