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 commit is contained in:
@@ -8,7 +8,9 @@ export const BattleLibrary* CreatureLib_BattleLibrary_Construct(const CreatureLi
|
||||
ExperienceLibrary* experienceLibrary,
|
||||
ScriptResolver* scriptResolver,
|
||||
MiscLibrary* miscLibrary) {
|
||||
return new BattleLibrary(staticLib, statCalculator, damageLibrary, experienceLibrary, scriptResolver, miscLibrary);
|
||||
return nullptr;
|
||||
// return new BattleLibrary(staticLib, statCalculator, damageLibrary, experienceLibrary, scriptResolver,
|
||||
// miscLibrary);
|
||||
}
|
||||
|
||||
export void CreatureLib_BattleLibrary_Destruct(const BattleLibrary* p) { delete p; }
|
||||
@@ -17,9 +19,9 @@ export void CreatureLib_BattleLibrary_Destruct(const BattleLibrary* p) { delete
|
||||
export returnType CreatureLib_##type##_##name(const type* p) { return p->name(); }
|
||||
|
||||
SIMPLE_GET_FUNC(BattleLibrary, GetStaticLib, const CreatureLib::Library::DataLibrary*);
|
||||
SIMPLE_GET_FUNC(BattleLibrary, GetStatCalculator, const BattleStatCalculator*);
|
||||
SIMPLE_GET_FUNC(BattleLibrary, GetDamageLibrary, const DamageLibrary*);
|
||||
SIMPLE_GET_FUNC(BattleLibrary, GetMiscLibrary, const MiscLibrary*);
|
||||
SIMPLE_GET_FUNC(BattleLibrary, GetExperienceLibrary, const ExperienceLibrary*);
|
||||
// SIMPLE_GET_FUNC(BattleLibrary, GetStatCalculator, const BattleStatCalculator*);
|
||||
// SIMPLE_GET_FUNC(BattleLibrary, GetDamageLibrary, const DamageLibrary*);
|
||||
// SIMPLE_GET_FUNC(BattleLibrary, GetMiscLibrary, const MiscLibrary*);
|
||||
// SIMPLE_GET_FUNC(BattleLibrary, GetExperienceLibrary, const ExperienceLibrary*);
|
||||
|
||||
#undef SIMPLE_GET_FUNC
|
||||
@@ -5,13 +5,16 @@ using namespace CreatureLib::Library;
|
||||
export uint8_t CreatureLib_DataLibrary_Construct(const DataLibrary*& out, LibrarySettings* settings,
|
||||
SpeciesLibrary* species, AttackLibrary* attacks, ItemLibrary* items,
|
||||
GrowthRateLibrary* growthRates, TypeLibrary* typeLibrary) {
|
||||
Try(out = new DataLibrary(settings, species, attacks, items, growthRates, typeLibrary);)
|
||||
Try(out = new DataLibrary(
|
||||
std::unique_ptr<const LibrarySettings>(settings), std::unique_ptr<const SpeciesLibrary>(species),
|
||||
std::unique_ptr<const AttackLibrary>(attacks), std::unique_ptr<const ItemLibrary>(items),
|
||||
std::unique_ptr<const GrowthRateLibrary>(growthRates), std::unique_ptr<const TypeLibrary>(typeLibrary));)
|
||||
}
|
||||
|
||||
export void CreatureLib_DataLibrary_Destruct(const DataLibrary* p) { delete p; }
|
||||
|
||||
#define SIMPLE_GET_FUNC(type, name, returnType) \
|
||||
export returnType CreatureLib_##type##_##name(const type* p) { return p->name(); }
|
||||
export returnType CreatureLib_##type##_##name(const type* p) { return p->name().get(); }
|
||||
|
||||
SIMPLE_GET_FUNC(DataLibrary, GetSettings, const LibrarySettings*);
|
||||
SIMPLE_GET_FUNC(DataLibrary, GetSpeciesLibrary, const SpeciesLibrary*);
|
||||
|
||||
Reference in New Issue
Block a user