aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/economy/production/ArtisanalProducer.hpp
blob: e5c0b80723033c50ed8f950a78c63d5273f31446 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once

#include "openvic-simulation/economy/GoodDefinition.hpp"
#include "openvic-simulation/economy/production/ProductionType.hpp"
#include "openvic-simulation/types/fixed_point/FixedPoint.hpp"
#include "openvic-simulation/utility/Getters.hpp"

namespace OpenVic {
   class ArtisanalProducer final {
   private:
      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
      );
   };
}