aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/defines/GraphicsDefines.hpp
blob: f4cd7e2f8fb2e3306a1785614555bf34b6dc2bed (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
#pragma once

#include "openvic-simulation/dataloader/NodeTools.hpp"
#include "openvic-simulation/utility/Getters.hpp"

namespace OpenVic {
   struct DefineManager;

   struct GraphicsDefines {
      friend struct DefineManager;

   private:
      size_t PROPERTY(cities_sprawl_offset);
      size_t PROPERTY(cities_sprawl_width);
      size_t PROPERTY(cities_sprawl_height);
      size_t PROPERTY(cities_sprawl_iterations);
      size_t PROPERTY(cities_mesh_pool_size_for_country);
      size_t PROPERTY(cities_mesh_pool_size_for_culture);
      size_t PROPERTY(cities_mesh_pool_size_for_generic);
      size_t PROPERTY(cities_mesh_types_count);
      size_t PROPERTY(cities_mesh_sizes_count);
      size_t PROPERTY(cities_special_buildings_pool_size);
      size_t PROPERTY(cities_size_max_population_k);

      GraphicsDefines();

      std::string_view get_name() const;
      NodeTools::node_callback_t expect_defines();
   };
}