blob: e1b2bc2f2ec9b06b18b6251670d12292a814d9c1 (
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
32
33
34
35
36
37
38
|
#pragma once
#include "openvic-simulation/defines/AIDefines.hpp"
#include "openvic-simulation/defines/CountryDefines.hpp"
#include "openvic-simulation/defines/DiplomacyDefines.hpp"
#include "openvic-simulation/defines/EconomyDefines.hpp"
#include "openvic-simulation/defines/GraphicsDefines.hpp"
#include "openvic-simulation/defines/MilitaryDefines.hpp"
#include "openvic-simulation/defines/PopsDefines.hpp"
#include "openvic-simulation/types/Date.hpp"
#include "openvic-simulation/utility/Getters.hpp"
namespace OpenVic {
struct DefineManager {
private:
// Date
Date PROPERTY(start_date);
Date PROPERTY(end_date);
// Other define groups
AIDefines PROPERTY(ai_defines);
CountryDefines PROPERTY(country_defines);
DiplomacyDefines PROPERTY(diplomacy_defines);
EconomyDefines PROPERTY(economy_defines);
GraphicsDefines PROPERTY(graphics_defines);
MilitaryDefines PROPERTY(military_defines);
PopsDefines PROPERTY(pops_defines);
public:
DefineManager();
constexpr bool in_game_period(Date date) const {
return date.in_range(start_date, end_date);
}
bool load_defines_file(ast::NodeCPtr root);
};
}
|