aboutsummaryrefslogtreecommitdiff
path: root/src/openvic/pop/Culture.hpp
diff options
context:
space:
mode:
author Hop311 <Hop3114@gmail.com>2023-09-09 23:49:54 +0200
committer GitHub <noreply@github.com>2023-09-09 23:49:54 +0200
commit6278a35f4704574933464700026d8deb997da5c1 (patch)
treeeb36a9b030b263d825eb93638e64deb0dbd38a78 /src/openvic/pop/Culture.hpp
parentbec619fc8f554cb075fcef2428f3b6bdb5e88e82 (diff)
parent3d7fbd9b376811ca0ed226fa78bcc8b6279ba8dc (diff)
Merge pull request #14 from OpenVicProject/dataloading
Dataloading scaffolding + basic culture and pop history loading
Diffstat (limited to 'src/openvic/pop/Culture.hpp')
-rw-r--r--src/openvic/pop/Culture.hpp73
1 files changed, 0 insertions, 73 deletions
diff --git a/src/openvic/pop/Culture.hpp b/src/openvic/pop/Culture.hpp
deleted file mode 100644
index 645e226..0000000
--- a/src/openvic/pop/Culture.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-#pragma once
-
-#include "../Types.hpp"
-
-namespace OpenVic {
-
- struct CultureManager;
-
- struct GraphicalCultureType : HasIdentifier {
- friend struct CultureManager;
-
- private:
- GraphicalCultureType(const std::string_view new_identifier);
-
- public:
- GraphicalCultureType(GraphicalCultureType&&) = default;
- };
-
- struct CultureGroup : HasIdentifier {
- friend struct CultureManager;
-
- private:
- GraphicalCultureType const& unit_graphical_culture_type;
-
- // TODO - leader type, union tag
-
- CultureGroup(const std::string_view new_identifier, GraphicalCultureType const& new_unit_graphical_culture_type);
-
- public:
- CultureGroup(CultureGroup&&) = default;
-
- GraphicalCultureType const& get_unit_graphical_culture_type() const;
- };
-
- struct Culture : HasIdentifierAndColour {
- friend struct CultureManager;
-
- using name_list_t = std::vector<std::string>;
-
- private:
- CultureGroup const& group;
- const name_list_t first_names, last_names;
-
- // TODO - radicalism, primary tag
-
- Culture(const std::string_view new_identifier, colour_t new_colour, CultureGroup const& new_group, name_list_t const& new_first_names, name_list_t const& new_last_names);
-
- public:
- Culture(Culture&&) = default;
-
- CultureGroup const& get_group() const;
- };
-
- struct CultureManager {
- private:
- IdentifierRegistry<GraphicalCultureType> graphical_culture_types;
- IdentifierRegistry<CultureGroup> culture_groups;
- IdentifierRegistry<Culture> cultures;
-
- public:
- CultureManager();
-
- return_t add_graphical_culture_type(const std::string_view identifier);
- void lock_graphical_culture_types();
- GraphicalCultureType const* get_graphical_culture_type_by_identifier(const std::string_view identifier) const;
- return_t add_culture_group(const std::string_view identifier, GraphicalCultureType const* new_graphical_culture_type);
- void lock_culture_groups();
- CultureGroup const* get_culture_group_by_identifier(const std::string_view identifier) const;
- return_t add_culture(const std::string_view identifier, colour_t colour, CultureGroup const* group, Culture::name_list_t const& first_names, Culture::name_list_t const& last_names);
- void lock_cultures();
- Culture const* get_culture_by_identifier(const std::string_view identifier) const;
- };
-}