Revert "Use smart pointers for basic libraries."
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This reverts commit 214ff819
This commit is contained in:
@@ -2,24 +2,46 @@
|
||||
|
||||
using namespace CreatureLib::Battling;
|
||||
|
||||
BattleLibrary::BattleLibrary(const Library::DataLibrary* staticLib,
|
||||
std::unique_ptr<BattleStatCalculator> statCalculator,
|
||||
std::unique_ptr<DamageLibrary> damageLibrary,
|
||||
std::unique_ptr<ExperienceLibrary> experienceLibrary,
|
||||
std::unique_ptr<ScriptResolver> scriptResolver, std::unique_ptr<MiscLibrary> miscLibrary)
|
||||
: _staticLib(staticLib), _statCalculator(std::move(statCalculator)), _damageLibrary(std::move(damageLibrary)),
|
||||
_experienceLibrary(std::move(experienceLibrary)), _scriptResolver(std::move(scriptResolver)),
|
||||
_miscLibrary(std::move(miscLibrary)) {}
|
||||
BattleLibrary::BattleLibrary(const CreatureLib::Library::DataLibrary* staticLib, BattleStatCalculator* statCalculator,
|
||||
DamageLibrary* damageLibrary, ExperienceLibrary* experienceLibrary,
|
||||
ScriptResolver* scriptResolver, MiscLibrary* miscLibrary)
|
||||
: _staticLib(staticLib), _statCalculator(statCalculator), _damageLibrary(damageLibrary),
|
||||
_experienceLibrary(experienceLibrary), _scriptResolver(scriptResolver), _miscLibrary(miscLibrary) {}
|
||||
|
||||
BattleLibrary::~BattleLibrary() { delete _staticLib; }
|
||||
|
||||
const std::unique_ptr<BattleStatCalculator>& BattleLibrary::GetStatCalculator() const noexcept {
|
||||
return _statCalculator;
|
||||
BattleLibrary::~BattleLibrary() {
|
||||
delete _staticLib;
|
||||
delete _statCalculator;
|
||||
delete _damageLibrary;
|
||||
delete _experienceLibrary;
|
||||
delete _scriptResolver;
|
||||
delete _miscLibrary;
|
||||
}
|
||||
|
||||
const std::unique_ptr<DamageLibrary>& BattleLibrary::GetDamageLibrary() const noexcept { return _damageLibrary; }
|
||||
const CreatureLib::Library::LibrarySettings* BattleLibrary::GetSettings() const noexcept {
|
||||
return _staticLib->GetSettings();
|
||||
}
|
||||
|
||||
const std::unique_ptr<MiscLibrary>& BattleLibrary::GetMiscLibrary() const noexcept { return _miscLibrary; }
|
||||
const BattleStatCalculator* BattleLibrary::GetStatCalculator() const noexcept { return _statCalculator; }
|
||||
|
||||
const CreatureLib::Library::SpeciesLibrary* BattleLibrary::GetSpeciesLibrary() const noexcept {
|
||||
return _staticLib->GetSpeciesLibrary();
|
||||
}
|
||||
|
||||
const CreatureLib::Library::ItemLibrary* BattleLibrary::GetItemLibrary() const noexcept {
|
||||
return _staticLib->GetItemLibrary();
|
||||
}
|
||||
|
||||
const CreatureLib::Library::AttackLibrary* BattleLibrary::GetAttackLibrary() const noexcept {
|
||||
return _staticLib->GetAttackLibrary();
|
||||
}
|
||||
|
||||
const CreatureLib::Library::TypeLibrary* BattleLibrary::GetTypeLibrary() const noexcept {
|
||||
return _staticLib->GetTypeLibrary();
|
||||
}
|
||||
|
||||
const DamageLibrary* BattleLibrary::GetDamageLibrary() const noexcept { return _damageLibrary; }
|
||||
|
||||
const MiscLibrary* BattleLibrary::GetMiscLibrary() const noexcept { return _miscLibrary; }
|
||||
|
||||
Script* BattleLibrary::LoadScript(ScriptCategory category, const ConstString& scriptName) const {
|
||||
return _scriptResolver->LoadScript(category, scriptName);
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#ifndef CREATURELIB_BATTLELIBRARY_HPP
|
||||
#define CREATURELIB_BATTLELIBRARY_HPP
|
||||
|
||||
#include <memory>
|
||||
#include "../../Library/DataLibrary.hpp"
|
||||
#include "../ScriptHandling/ScriptResolver.hpp"
|
||||
#include "BattleStatCalculator.hpp"
|
||||
@@ -13,45 +12,32 @@ namespace CreatureLib::Battling {
|
||||
class BattleLibrary {
|
||||
protected:
|
||||
const Library::DataLibrary* _staticLib = nullptr;
|
||||
const std::unique_ptr<BattleStatCalculator> _statCalculator;
|
||||
const std::unique_ptr<DamageLibrary> _damageLibrary = nullptr;
|
||||
const std::unique_ptr<ExperienceLibrary> _experienceLibrary = nullptr;
|
||||
const std::unique_ptr<ScriptResolver> _scriptResolver = nullptr;
|
||||
const std::unique_ptr<MiscLibrary> _miscLibrary = nullptr;
|
||||
BattleStatCalculator* _statCalculator = nullptr;
|
||||
DamageLibrary* _damageLibrary = nullptr;
|
||||
ExperienceLibrary* _experienceLibrary = nullptr;
|
||||
ScriptResolver* _scriptResolver = nullptr;
|
||||
MiscLibrary* _miscLibrary = nullptr;
|
||||
|
||||
public:
|
||||
BattleLibrary(const Library::DataLibrary* staticLib, std::unique_ptr<BattleStatCalculator> statCalculator,
|
||||
std::unique_ptr<DamageLibrary> damageLibrary,
|
||||
std::unique_ptr<ExperienceLibrary> experienceLibrary,
|
||||
std::unique_ptr<ScriptResolver> scriptResolver, std::unique_ptr<MiscLibrary> miscLibrary);
|
||||
BattleLibrary(const Library::DataLibrary* staticLib, BattleStatCalculator* statCalculator,
|
||||
DamageLibrary* damageLibrary, ExperienceLibrary* experienceLibrary,
|
||||
ScriptResolver* scriptResolver, MiscLibrary* miscLibrary);
|
||||
~BattleLibrary();
|
||||
inline const Library::DataLibrary* GetStaticLib() const noexcept { return _staticLib; }
|
||||
|
||||
[[nodiscard]] const std::unique_ptr<const Library::LibrarySettings>& GetSettings() const noexcept {
|
||||
return _staticLib->GetSettings();
|
||||
}
|
||||
[[nodiscard]] const std::unique_ptr<const Library::SpeciesLibrary>& GetSpeciesLibrary() const noexcept {
|
||||
return _staticLib->GetSpeciesLibrary();
|
||||
}
|
||||
[[nodiscard]] const std::unique_ptr<const Library::ItemLibrary>& GetItemLibrary() const noexcept {
|
||||
return _staticLib->GetItemLibrary();
|
||||
}
|
||||
[[nodiscard]] const std::unique_ptr<const Library::AttackLibrary>& GetAttackLibrary() const noexcept {
|
||||
return _staticLib->GetAttackLibrary();
|
||||
}
|
||||
[[nodiscard]] const std::unique_ptr<const Library::TypeLibrary>& GetTypeLibrary() const noexcept {
|
||||
return _staticLib->GetTypeLibrary();
|
||||
}
|
||||
[[nodiscard]] const std::unique_ptr<const Library::GrowthRateLibrary>& GetGrowthRateLibrary() const noexcept {
|
||||
[[nodiscard]] const Library::LibrarySettings* GetSettings() const noexcept;
|
||||
[[nodiscard]] const Library::SpeciesLibrary* GetSpeciesLibrary() const noexcept;
|
||||
[[nodiscard]] const Library::ItemLibrary* GetItemLibrary() const noexcept;
|
||||
[[nodiscard]] const Library::AttackLibrary* GetAttackLibrary() const noexcept;
|
||||
[[nodiscard]] const Library::TypeLibrary* GetTypeLibrary() const noexcept;
|
||||
[[nodiscard]] const Library::GrowthRateLibrary* GetGrowthRateLibrary() const noexcept {
|
||||
return _staticLib->GetGrowthRates();
|
||||
}
|
||||
|
||||
[[nodiscard]] const std::unique_ptr<BattleStatCalculator>& GetStatCalculator() const noexcept;
|
||||
[[nodiscard]] const std::unique_ptr<DamageLibrary>& GetDamageLibrary() const noexcept;
|
||||
[[nodiscard]] const std::unique_ptr<MiscLibrary>& GetMiscLibrary() const noexcept;
|
||||
[[nodiscard]] const std::unique_ptr<ExperienceLibrary>& GetExperienceLibrary() const noexcept {
|
||||
return _experienceLibrary;
|
||||
}
|
||||
[[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]] Script* LoadScript(ScriptCategory category, const ConstString& scriptName) const;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user