Many tweaks and fixes relating to AngelScript, implements shininess.
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
2020-02-01 16:56:09 +01:00
parent cade351bc2
commit f33d96d922
21 changed files with 458 additions and 61 deletions

View File

@@ -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));
}

View 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

View File

@@ -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 {

View File

@@ -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());
}

View File

@@ -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));
}