From 4b39e77304094708d5c503b6a221386408cc4409 Mon Sep 17 00:00:00 2001 From: hop311 Date: Wed, 12 Jun 2024 23:24:00 +0100 Subject: Separated GameManager into Definition and Instance Managers --- src/openvic-simulation/economy/GoodInstance.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/openvic-simulation/economy/GoodInstance.cpp') diff --git a/src/openvic-simulation/economy/GoodInstance.cpp b/src/openvic-simulation/economy/GoodInstance.cpp index 937706d..6fe3a2f 100644 --- a/src/openvic-simulation/economy/GoodInstance.cpp +++ b/src/openvic-simulation/economy/GoodInstance.cpp @@ -6,8 +6,12 @@ GoodInstance::GoodInstance(GoodDefinition const& new_good_definition) : HasIdentifierAndColour { new_good_definition }, good_definition { new_good_definition }, price { new_good_definition.get_base_price() }, available { new_good_definition.is_available_from_start() } {} -bool GoodInstanceManager::setup_good_instances(GoodDefinitionManager const& good_definition_manager) { - good_instances.reset(); +bool GoodInstanceManager::setup(GoodDefinitionManager const& good_definition_manager) { + if (good_instances_are_locked()) { + Logger::error("Cannot set up good instances - they are already locked!"); + return false; + } + good_instances.reserve(good_definition_manager.get_good_definition_count()); bool ret = true; @@ -16,5 +20,7 @@ bool GoodInstanceManager::setup_good_instances(GoodDefinitionManager const& good ret &= good_instances.add_item({ good }); } + lock_good_instances(); + return ret; } -- cgit v1.2.3-56-ga3b1