Make most of the battle library use unique_ptr.
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -17,18 +17,15 @@ BattleLibrary::BattleLibrary(const CreatureLib::Library::DataLibrary* staticLib,
|
||||
|
||||
BattleLibrary::~BattleLibrary() {
|
||||
delete _staticLib;
|
||||
delete _statCalculator;
|
||||
delete _damageLibrary;
|
||||
delete _experienceLibrary;
|
||||
delete _scriptResolver;
|
||||
delete _miscLibrary;
|
||||
}
|
||||
|
||||
const std::unique_ptr<const CreatureLib::Library::LibrarySettings>& BattleLibrary::GetSettings() const noexcept {
|
||||
return _staticLib->GetSettings();
|
||||
}
|
||||
|
||||
const BattleStatCalculator* BattleLibrary::GetStatCalculator() const noexcept { return _statCalculator; }
|
||||
const std::unique_ptr<const BattleStatCalculator>& BattleLibrary::GetStatCalculator() const noexcept {
|
||||
return _statCalculator;
|
||||
}
|
||||
|
||||
const std::unique_ptr<const CreatureLib::Library::SpeciesLibrary>& BattleLibrary::GetSpeciesLibrary() const noexcept {
|
||||
return _staticLib->GetSpeciesLibrary();
|
||||
@@ -46,9 +43,9 @@ const std::unique_ptr<const CreatureLib::Library::TypeLibrary>& BattleLibrary::G
|
||||
return _staticLib->GetTypeLibrary();
|
||||
}
|
||||
|
||||
const DamageLibrary* BattleLibrary::GetDamageLibrary() const noexcept { return _damageLibrary; }
|
||||
const std::unique_ptr<const DamageLibrary>& BattleLibrary::GetDamageLibrary() const noexcept { return _damageLibrary; }
|
||||
|
||||
const MiscLibrary* BattleLibrary::GetMiscLibrary() const noexcept { return _miscLibrary; }
|
||||
const std::unique_ptr<const MiscLibrary>& BattleLibrary::GetMiscLibrary() const noexcept { return _miscLibrary; }
|
||||
|
||||
Script* BattleLibrary::LoadScript(ScriptCategory category,
|
||||
const Arbutils::CaseInsensitiveConstString& scriptName) const {
|
||||
|
||||
@@ -12,11 +12,11 @@ namespace CreatureLib::Battling {
|
||||
class BattleLibrary {
|
||||
protected:
|
||||
const Library::DataLibrary* _staticLib = nullptr;
|
||||
BattleStatCalculator* _statCalculator = nullptr;
|
||||
DamageLibrary* _damageLibrary = nullptr;
|
||||
ExperienceLibrary* _experienceLibrary = nullptr;
|
||||
ScriptResolver* _scriptResolver = nullptr;
|
||||
MiscLibrary* _miscLibrary = nullptr;
|
||||
std::unique_ptr<const BattleStatCalculator> _statCalculator = nullptr;
|
||||
std::unique_ptr<const DamageLibrary> _damageLibrary = nullptr;
|
||||
std::unique_ptr<const ExperienceLibrary> _experienceLibrary = nullptr;
|
||||
std::unique_ptr<const ScriptResolver> _scriptResolver = nullptr;
|
||||
std::unique_ptr<const MiscLibrary> _miscLibrary = nullptr;
|
||||
|
||||
public:
|
||||
BattleLibrary(const Library::DataLibrary* staticLib, BattleStatCalculator* statCalculator,
|
||||
@@ -34,10 +34,12 @@ namespace CreatureLib::Battling {
|
||||
return _staticLib->GetGrowthRates();
|
||||
}
|
||||
|
||||
[[nodiscard]] const BattleStatCalculator* GetStatCalculator() const noexcept;
|
||||
[[nodiscard]] const DamageLibrary* GetDamageLibrary() const noexcept;
|
||||
[[nodiscard]] const MiscLibrary* GetMiscLibrary() const noexcept;
|
||||
[[nodiscard]] const ExperienceLibrary* GetExperienceLibrary() const noexcept { return _experienceLibrary; }
|
||||
[[nodiscard]] const std::unique_ptr<const BattleStatCalculator>& GetStatCalculator() const noexcept;
|
||||
[[nodiscard]] const std::unique_ptr<const DamageLibrary>& GetDamageLibrary() const noexcept;
|
||||
[[nodiscard]] const std::unique_ptr<const MiscLibrary>& GetMiscLibrary() const noexcept;
|
||||
[[nodiscard]] const std::unique_ptr<const ExperienceLibrary>& GetExperienceLibrary() const noexcept {
|
||||
return _experienceLibrary;
|
||||
}
|
||||
|
||||
[[nodiscard]] Script* LoadScript(ScriptCategory category,
|
||||
const Arbutils::CaseInsensitiveConstString& scriptName) const;
|
||||
|
||||
Reference in New Issue
Block a user