Many tweaks and fixes relating to AngelScript, implements shininess.
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
@@ -6,6 +6,9 @@
|
||||
namespace PkmnLib::Library {
|
||||
class ItemLibrary : public CreatureLib::Library::ItemLibrary {
|
||||
public:
|
||||
inline bool TryGetItem(const std::string& name, const Item*& item) const {
|
||||
return CreatureLib::Library::ItemLibrary::TryGetItem(name, (const CreatureLib::Library::Item*&)item);
|
||||
}
|
||||
const Item* GetItem(const std::string& name) const {
|
||||
return reinterpret_cast<const Item*>(CreatureLib::Library::ItemLibrary::GetItem(name));
|
||||
}
|
||||
|
||||
18
src/Library/LibrarySettings.hpp
Normal file
18
src/Library/LibrarySettings.hpp
Normal file
@@ -0,0 +1,18 @@
|
||||
#ifndef PKMNLIB_LIBRARYSETTINGS_HPP
|
||||
#define PKMNLIB_LIBRARYSETTINGS_HPP
|
||||
|
||||
#include <Library/LibrarySettings.hpp>
|
||||
|
||||
namespace PkmnLib::Library {
|
||||
class LibrarySettings : public CreatureLib::Library::LibrarySettings {
|
||||
uint16_t _shinyRate;
|
||||
|
||||
public:
|
||||
LibrarySettings(uint8_t maximalLevel, uint8_t maximalMoves, uint16_t shinyRate)
|
||||
: CreatureLib::Library::LibrarySettings(maximalLevel, maximalMoves), _shinyRate(shinyRate) {}
|
||||
|
||||
uint16_t GetShinyRate() const { return _shinyRate; }
|
||||
};
|
||||
}
|
||||
|
||||
#endif // PKMNLIB_LIBRARYSETTINGS_HPP
|
||||
@@ -10,6 +10,9 @@ namespace PkmnLib::Library {
|
||||
|
||||
virtual const MoveData* operator[](const std::string& name) const { return GetAttack(name); }
|
||||
|
||||
inline bool TryGetMove(const std::string& name, const MoveData*& move) const{
|
||||
return TryGetAttack(name, (const CreatureLib::Library::AttackData*&)move);
|
||||
}
|
||||
const MoveData* GetMove(const std::string& name) const { return GetAttack(name); }
|
||||
|
||||
const MoveData* GetAttack(const std::string& name) const {
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include <Library/DataLibrary.hpp>
|
||||
#include "Items/ItemLibrary.hpp"
|
||||
#include "LibrarySettings.hpp"
|
||||
#include "Moves/MoveLibrary.hpp"
|
||||
#include "Natures/NatureLibrary.hpp"
|
||||
#include "Species/SpeciesLibrary.hpp"
|
||||
@@ -17,11 +18,15 @@ namespace PkmnLib::Library {
|
||||
delete _natures;
|
||||
}
|
||||
|
||||
PokemonLibrary(CreatureLib::Library::LibrarySettings settings, SpeciesLibrary* species, MoveLibrary* moves,
|
||||
PokemonLibrary(PkmnLib::Library::LibrarySettings* settings, SpeciesLibrary* species, MoveLibrary* moves,
|
||||
ItemLibrary* items, CreatureLib::Library::GrowthRateLibrary* growthRates,
|
||||
CreatureLib::Library::TypeLibrary* typeLibrary, NatureLibrary* natures)
|
||||
: DataLibrary(settings, species, moves, items, growthRates, typeLibrary), _natures(natures) {}
|
||||
|
||||
const PkmnLib::Library::LibrarySettings* GetSettings() const{
|
||||
return static_cast<const LibrarySettings*>(CreatureLib::Library::DataLibrary::GetSettings());
|
||||
}
|
||||
|
||||
[[nodiscard]] const SpeciesLibrary* GetSpeciesLibrary() const {
|
||||
return (const SpeciesLibrary*)(CreatureLib::Library::DataLibrary::GetSpeciesLibrary());
|
||||
}
|
||||
|
||||
@@ -7,6 +7,11 @@
|
||||
namespace PkmnLib::Library {
|
||||
class SpeciesLibrary : public CreatureLib::Library::SpeciesLibrary {
|
||||
public:
|
||||
|
||||
inline bool TryGetPkmnSpecies(const std::string& name, const PokemonSpecies*& outSpecies) const{
|
||||
return TryGetSpecies(name, (const CreatureLib::Library::CreatureSpecies*&)outSpecies);
|
||||
}
|
||||
|
||||
inline const PokemonSpecies* GetPkmnSpecies(const std::string& name) const {
|
||||
return reinterpret_cast<const PokemonSpecies*>(CreatureLib::Library::SpeciesLibrary::GetSpecies(name));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user