diff options
author | Hop311 <Hop3114@gmail.com> | 2023-09-09 23:49:54 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-09 23:49:54 +0200 |
commit | 6278a35f4704574933464700026d8deb997da5c1 (patch) | |
tree | eb36a9b030b263d825eb93638e64deb0dbd38a78 /src/openvic/map/Province.hpp | |
parent | bec619fc8f554cb075fcef2428f3b6bdb5e88e82 (diff) | |
parent | 3d7fbd9b376811ca0ed226fa78bcc8b6279ba8dc (diff) |
Merge pull request #14 from OpenVicProject/dataloading
Dataloading scaffolding + basic culture and pop history loading
Diffstat (limited to 'src/openvic/map/Province.hpp')
-rw-r--r-- | src/openvic/map/Province.hpp | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/src/openvic/map/Province.hpp b/src/openvic/map/Province.hpp deleted file mode 100644 index 20c5870..0000000 --- a/src/openvic/map/Province.hpp +++ /dev/null @@ -1,60 +0,0 @@ -#pragma once - -#include "../pop/Pop.hpp" -#include "Building.hpp" - -namespace OpenVic { - struct Map; - struct Region; - struct Good; - - /* REQUIREMENTS: - * MAP-5, MAP-7, MAP-8, MAP-43, MAP-47 - */ - struct Province : HasIdentifierAndColour { - friend struct Map; - - using life_rating_t = int8_t; - - private: - const index_t index; - Region* region = nullptr; - bool water = false; - life_rating_t life_rating = 0; - IdentifierRegistry<Building> buildings; - // TODO - change this into a factory-like structure - Good const* rgo = nullptr; - - std::vector<Pop> pops; - Pop::pop_size_t total_population; - distribution_t pop_types, cultures; - - Province(const std::string_view new_identifier, colour_t new_colour, index_t new_index); - - public: - Province(Province&&) = default; - - index_t get_index() const; - Region* get_region() const; - bool is_water() const; - life_rating_t get_life_rating() const; - return_t add_building(Building&& building); - void lock_buildings(); - void reset_buildings(); - Building const* get_building_by_identifier(const std::string_view identifier) const; - std::vector<Building> const& get_buildings() const; - return_t expand_building(const std::string_view building_type_identifier); - Good const* get_rgo() const; - std::string to_string() const; - - void add_pop(Pop&& pop); - void clear_pops(); - Pop::pop_size_t get_total_population() const; - distribution_t const& get_pop_type_distribution() const; - distribution_t const& get_culture_distribution() const; - void update_pops(); - - void update_state(Date const& today); - void tick(Date const& today); - }; -} |