Move ScriptCategory enum outside of class scope of ScriptResolver.
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Deukhoofd 2020-02-20 13:05:15 +01:00
parent f22c23d593
commit d4fd7282f5
Signed by: Deukhoofd
GPG Key ID: ADF2E9256009EDCE
6 changed files with 12 additions and 7 deletions

View File

@ -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);
}

View File

@ -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;
};
}

View File

@ -77,7 +77,7 @@ namespace CreatureLib::Battling {
const std::vector<BattleSide*>& 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);
}

View File

@ -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<uint8_t>& Battling::Creature::GetTypes() const {

View File

@ -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

View File

@ -4,6 +4,7 @@
#include <string>
#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; };
};