aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/economy/ArtisanalProducer.hpp
blob: 36de2f236074fca8d6f0f8508c9ca0c207cdd146 (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/Good.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);
      Good::good_map_t PROPERTY(stockpile);
      fixed_point_t PROPERTY(current_production);
      Good::good_map_t PROPERTY(current_needs);

   public:
      ArtisanalProducer(
         ProductionType const& new_production_type, Good::good_map_t&& new_stockpile,
         const fixed_point_t new_current_production, Good::good_map_t&& new_current_needs
      );
   };
}