51 lines
2.3 KiB
C++
51 lines
2.3 KiB
C++
#ifndef PKMNLIB_BATTLELIBRARY_HPP
|
|
#define PKMNLIB_BATTLELIBRARY_HPP
|
|
|
|
#include <CreatureLib/Battling/Library/BattleLibrary.hpp>
|
|
#include "../../Library/PokemonLibrary.hpp"
|
|
#include "DamageLibrary.hpp"
|
|
#include "ExperienceLibrary.hpp"
|
|
#include "MiscLibrary.hpp"
|
|
#include "ScriptResolver.hpp"
|
|
#include "StatCalculator.hpp"
|
|
|
|
namespace PkmnLib::Battling {
|
|
class BattleLibrary final : public CreatureLib::Battling::BattleLibrary {
|
|
public:
|
|
BattleLibrary(Library::PokemonLibrary* non_null staticLib, StatCalculator* non_null statCalculator,
|
|
DamageLibrary* non_null damageLibrary,
|
|
PkmnLib::Battling::ExperienceLibrary* non_null experienceLibrary,
|
|
ScriptResolver* non_null scriptResolver, PkmnLib::Battling::MiscLibrary* non_null miscLibrary)
|
|
: CreatureLib::Battling::BattleLibrary(staticLib, statCalculator, damageLibrary, experienceLibrary,
|
|
scriptResolver, miscLibrary) {}
|
|
|
|
const std::unique_ptr<const Library::LibrarySettings>& GetSettings() const {
|
|
return reinterpret_cast<const std::unique_ptr<const Library::LibrarySettings>&>(_staticLib->GetSettings());
|
|
}
|
|
|
|
const std::unique_ptr<const Library::PokemonLibrary>& GetStaticLib() const {
|
|
return reinterpret_cast<const std::unique_ptr<const Library::PokemonLibrary>&>(_staticLib);
|
|
}
|
|
|
|
const std::unique_ptr<const Library::SpeciesLibrary>& GetSpeciesLibrary() const {
|
|
return reinterpret_cast<const std::unique_ptr<const Library::SpeciesLibrary>&>(
|
|
_staticLib->GetSpeciesLibrary());
|
|
}
|
|
|
|
const std::unique_ptr<const Library::MoveLibrary>& GetMoveLibrary() const {
|
|
return reinterpret_cast<const std::unique_ptr<const Library::MoveLibrary>&>(_staticLib->GetAttackLibrary());
|
|
}
|
|
|
|
const std::unique_ptr<const Library::ItemLibrary>& GetItemLibrary() const {
|
|
return reinterpret_cast<const std::unique_ptr<const Library::ItemLibrary>&>(_staticLib->GetItemLibrary());
|
|
}
|
|
|
|
const ArbUt::BorrowedPtr<const Library::NatureLibrary> GetNatureLibrary() const {
|
|
return GetStaticLib()->GetNatureLibrary();
|
|
}
|
|
|
|
static PkmnLib::Battling::ScriptResolver* non_null CreateScriptResolver();
|
|
};
|
|
}
|
|
#endif // PKMNLIB_BATTLELIBRARY_HPP
|