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

#include "openvic-simulation/economy/GoodDefinition.hpp"
#include "openvic-simulation/economy/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
      );
   };
}