blob: 70a84c06edd7bb27a3553106d42d9eb0abee4138 (
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
25
26
27
28
29
30
31
|
#pragma once
#include "openvic-simulation/economy/production/ProductionType.hpp"
#include "openvic-simulation/types/fixed_point/FixedPoint.hpp"
#include "openvic-simulation/utility/Getters.hpp"
namespace OpenVic {
struct ResourceGatheringOperation {
private:
ProductionType const* PROPERTY_RW(production_type);
fixed_point_t PROPERTY(revenue_yesterday);
fixed_point_t PROPERTY(output_quantity_yesterday);
fixed_point_t PROPERTY(unsold_quantity_yesterday);
fixed_point_t PROPERTY_RW(size_multiplier);
ordered_map<Pop*, Pop::pop_size_t> PROPERTY(employees);
public:
ResourceGatheringOperation(
ProductionType const* new_production_type,
fixed_point_t new_size_multiplier,
fixed_point_t new_revenue_yesterday,
fixed_point_t new_output_quantity_yesterday,
fixed_point_t new_unsold_quantity_yesterday,
ordered_map<Pop*, Pop::pop_size_t>&& new_employees
);
ResourceGatheringOperation();
constexpr bool is_valid() const {
return production_type != nullptr;
}
};
}
|