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/economy/Good.cpp | |
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/economy/Good.cpp')
-rw-r--r-- | src/openvic/economy/Good.cpp | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/src/openvic/economy/Good.cpp b/src/openvic/economy/Good.cpp deleted file mode 100644 index 9e8a7dd..0000000 --- a/src/openvic/economy/Good.cpp +++ /dev/null @@ -1,90 +0,0 @@ -#include "Good.hpp" - -#include <cassert> - -using namespace OpenVic; - -Good::Good(const std::string_view new_identifier, colour_t new_colour, const std::string_view new_category, price_t new_base_price, - bool new_default_available, bool new_tradeable, bool new_currency, bool new_overseas_maintenance) - : HasIdentifierAndColour { new_identifier, new_colour, true }, - category { new_category }, - base_price { new_base_price }, - default_available { new_default_available }, - tradeable { new_tradeable }, - currency { new_currency }, - overseas_maintenance { new_overseas_maintenance } { - assert(base_price > NULL_PRICE); -} - -std::string const& Good::get_category() const { - return category; -} - -price_t Good::get_base_price() const { - return base_price; -} - -price_t Good::get_price() const { - return price; -} - -bool Good::is_default_available() const { - return default_available; -} - -bool Good::is_available() const { - return available; -} - -void Good::reset_to_defaults() { - available = default_available; - price = base_price; -} - -GoodManager::GoodManager() : goods { "goods" } {} - -return_t GoodManager::add_good(const std::string_view identifier, colour_t colour, const std::string_view category, - price_t base_price, bool default_available, bool tradeable, bool currency, bool overseas_maintenance) { - if (identifier.empty()) { - Logger::error("Invalid good identifier - empty!"); - return FAILURE; - } - if (colour > MAX_COLOUR_RGB) { - Logger::error("Invalid good colour for ", identifier, ": ", Good::colour_to_hex_string(colour)); - return FAILURE; - } - if (category.empty()) { - Logger::error("Invalid good category for ", identifier, ": empty!"); - return FAILURE; - } - if (base_price <= NULL_PRICE) { - Logger::error("Invalid base price for ", identifier, ": ", base_price); - return FAILURE; - } - return goods.add_item({ identifier, colour, category, base_price, default_available, tradeable, currency, overseas_maintenance }); -} - -void GoodManager::lock_goods() { - goods.lock(); -} - -void GoodManager::reset_to_defaults() { - for (Good& good : goods.get_items()) - good.reset_to_defaults(); -} - -Good const* GoodManager::get_good_by_index(size_t index) const { - return goods.get_item_by_index(index); -} - -Good const* GoodManager::get_good_by_identifier(const std::string_view identifier) const { - return goods.get_item_by_identifier(identifier); -} - -size_t GoodManager::get_good_count() const { - return goods.get_item_count(); -} - -std::vector<Good> const& GoodManager::get_goods() const { - return goods.get_items(); -} |