From d4fd7282f5fe52acafae0098168a66e4a613bffd Mon Sep 17 00:00:00 2001 From: Deukhoofd Date: Thu, 20 Feb 2020 13:05:15 +0100 Subject: [PATCH] Move ScriptCategory enum outside of class scope of ScriptResolver. --- src/Battling/Library/BattleLibrary.cpp | 2 +- src/Battling/Library/BattleLibrary.hpp | 2 +- src/Battling/Models/Battle.hpp | 2 +- src/Battling/Models/Creature.cpp | 4 ++-- src/Battling/ScriptHandling/ScriptCategory.hpp | 6 ++++++ src/Battling/ScriptHandling/ScriptResolver.hpp | 3 +-- 6 files changed, 12 insertions(+), 7 deletions(-) create mode 100644 src/Battling/ScriptHandling/ScriptCategory.hpp diff --git a/src/Battling/Library/BattleLibrary.cpp b/src/Battling/Library/BattleLibrary.cpp index a03b03c..7991f78 100644 --- a/src/Battling/Library/BattleLibrary.cpp +++ b/src/Battling/Library/BattleLibrary.cpp @@ -38,6 +38,6 @@ const DamageLibrary* BattleLibrary::GetDamageLibrary() const { return _damageLib const MiscLibrary* BattleLibrary::GetMiscLibrary() const { return _miscLibrary; } -Script* BattleLibrary::LoadScript(ScriptResolver::ScriptCategory category, const std::string& scriptName) const { +Script* BattleLibrary::LoadScript(ScriptCategory category, const std::string& scriptName) const { return _scriptResolver->LoadScript(category, scriptName); } diff --git a/src/Battling/Library/BattleLibrary.hpp b/src/Battling/Library/BattleLibrary.hpp index a0773b0..ee10777 100644 --- a/src/Battling/Library/BattleLibrary.hpp +++ b/src/Battling/Library/BattleLibrary.hpp @@ -39,7 +39,7 @@ namespace CreatureLib::Battling { [[nodiscard]] const MiscLibrary* GetMiscLibrary() const; [[nodiscard]] const ExperienceLibrary* GetExperienceLibrary() const { return _experienceLibrary; } - [[nodiscard]] Script* LoadScript(ScriptResolver::ScriptCategory category, const std::string& scriptName) const; + [[nodiscard]] Script* LoadScript(ScriptCategory category, const std::string& scriptName) const; }; } diff --git a/src/Battling/Models/Battle.hpp b/src/Battling/Models/Battle.hpp index d7546e2..dcc3280 100644 --- a/src/Battling/Models/Battle.hpp +++ b/src/Battling/Models/Battle.hpp @@ -77,7 +77,7 @@ namespace CreatureLib::Battling { const std::vector& GetSides() const { return _sides; } Script* GetVolatileScript(const std::string& key) const { return _volatile.Get(key); } void AddVolatileScript(const std::string& key) { - auto script = _library->LoadScript(ScriptResolver::ScriptCategory::Battle, key); + auto script = _library->LoadScript(ScriptCategory::Battle, key); return _volatile.Add(script); } diff --git a/src/Battling/Models/Creature.cpp b/src/Battling/Models/Creature.cpp index 953e83a..810d86f 100644 --- a/src/Battling/Models/Creature.cpp +++ b/src/Battling/Models/Creature.cpp @@ -13,7 +13,7 @@ Battling::Creature::Creature(const BattleLibrary* library, const Library::Creatu : _library(library), _species(species), _variant(variant), _level(level), _experience(experience), _uniqueIdentifier(uid), _gender(gender), _coloring(coloring), _heldItem(heldItem), _nickname(std::move(nickname)), _talentIndex(talent), _hasOverridenTalent(false), _attacks(std::move(attacks)) { - _activeTalent = _library->LoadScript(ScriptResolver::ScriptCategory::Talent, GetActiveTalent()); + _activeTalent = _library->LoadScript(ScriptCategory::Talent, GetActiveTalent()); } void Battling::Creature::ChangeLevel(int8_t amount) { @@ -131,7 +131,7 @@ void Battling::Creature::OverrideActiveTalent(const std::string& talent) { _activeTalent->OnRemove(); delete _activeTalent; _overridenTalentName = talent; - _activeTalent = this->_library->LoadScript(ScriptResolver::ScriptCategory::Talent, talent); + _activeTalent = this->_library->LoadScript(ScriptCategory::Talent, talent); } const std::vector& Battling::Creature::GetTypes() const { diff --git a/src/Battling/ScriptHandling/ScriptCategory.hpp b/src/Battling/ScriptHandling/ScriptCategory.hpp new file mode 100644 index 0000000..4bbadd1 --- /dev/null +++ b/src/Battling/ScriptHandling/ScriptCategory.hpp @@ -0,0 +1,6 @@ +#ifndef CREATURELIB_SCRIPTCATEGORY_HPP +#define CREATURELIB_SCRIPTCATEGORY_HPP + +ENUM(ScriptCategory, uint8_t, Attack, Talent, Status, Creature, Battle, Side) + +#endif // CREATURELIB_SCRIPTCATEGORY_HPP diff --git a/src/Battling/ScriptHandling/ScriptResolver.hpp b/src/Battling/ScriptHandling/ScriptResolver.hpp index 0bfaa66..7827857 100644 --- a/src/Battling/ScriptHandling/ScriptResolver.hpp +++ b/src/Battling/ScriptHandling/ScriptResolver.hpp @@ -4,6 +4,7 @@ #include #include "../../Core/Enum.hpp" #include "Script.hpp" +#include "ScriptCategory.hpp" namespace CreatureLib::Battling { class BattleLibrary; @@ -12,8 +13,6 @@ namespace CreatureLib::Battling { public: virtual ~ScriptResolver() = default; - ENUM(ScriptCategory, uint8_t, Attack, Talent, Status, Creature, Battle, Side) - virtual void Initialize(BattleLibrary* library){}; virtual Script* LoadScript(ScriptCategory category, const std::string& scriptName) { return nullptr; }; };