#include "BattleLibrary.hpp" using namespace CreatureLib::Battling; 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) { AssertNotNull(_staticLib); AssertNotNull(_statCalculator); AssertNotNull(_damageLibrary); AssertNotNull(_experienceLibrary); AssertNotNull(_scriptResolver); AssertNotNull(_miscLibrary); } BattleLibrary::~BattleLibrary() { delete _staticLib; delete _statCalculator; delete _damageLibrary; delete _experienceLibrary; delete _scriptResolver; delete _miscLibrary; } const CreatureLib::Library::LibrarySettings* BattleLibrary::GetSettings() const noexcept { return _staticLib->GetSettings(); } 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); }