From 42d9d1d5417deb5979a9d5775cfe97dcff4b77ba Mon Sep 17 00:00:00 2001 From: Hop311 Date: Tue, 16 May 2023 19:59:39 +0100 Subject: Changed from OpenVic2 to OpenVic --- src/openvic2/map/Building.hpp | 75 ------------------------------------------- 1 file changed, 75 deletions(-) delete mode 100644 src/openvic2/map/Building.hpp (limited to 'src/openvic2/map/Building.hpp') diff --git a/src/openvic2/map/Building.hpp b/src/openvic2/map/Building.hpp deleted file mode 100644 index 78d08ae..0000000 --- a/src/openvic2/map/Building.hpp +++ /dev/null @@ -1,75 +0,0 @@ -#pragma once - -#include - -#include "../Types.hpp" -#include "../Date.hpp" - -namespace OpenVic2 { - struct Province; - struct BuildingType; - - /* REQUIREMENTS: - * MAP-11, MAP-72, MAP-73 - * MAP-12, MAP-75, MAP-76 - * MAP-13, MAP-78, MAP-79 - */ - struct Building : HasIdentifier { - friend struct Province; - - using level_t = int8_t; - - enum class ExpansionState { CannotExpand, CanExpand, Preparing, Expanding }; - private: - BuildingType const& type; - level_t level = 0; - ExpansionState expansion_state = ExpansionState::CannotExpand; - Date start, end; - float expansion_progress; - - Building(BuildingType const& new_type); - - bool _can_expand() const; - public: - Building(Building&&) = default; - - BuildingType const& get_type() const; - level_t get_level() const; - ExpansionState get_expansion_state() const; - Date const& get_start_date() const; - Date const& get_end_date() const; - float get_expansion_progress() const; - - return_t expand(); - void update_state(Date const& today); - void tick(Date const& today); - }; - - struct BuildingManager; - - struct BuildingType : HasIdentifier { - friend struct BuildingManager; - private: - const Building::level_t max_level; - const Timespan build_time; - - BuildingType(std::string const& new_identifier, Building::level_t new_max_level, Timespan new_build_time); - public: - BuildingType(BuildingType&&) = default; - - Building::level_t get_max_level() const; - Timespan get_build_time() const; - }; - - struct BuildingManager { - private: - IdentifierRegistry building_types; - public: - BuildingManager(); - - return_t add_building_type(std::string const& identifier, Building::level_t max_level, Timespan build_time); - void lock_building_types(); - BuildingType const* get_building_type_by_identifier(std::string const& identifier) const; - return_t generate_province_buildings(Province& province) const; - }; -} -- cgit v1.2.3-56-ga3b1