#include "../../src/Library/CreatureData/LearnableAttacks.hpp" #include "../Core.hpp" using namespace CreatureLib::Library; export_func u8 CreatureLib_LearnableAttacks_Construct(LearnableAttacks*& out, size_t levelAttackCapacity) { Try(out = new LearnableAttacks(levelAttackCapacity);) }; export_func void CreatureLib_LearnableAttacks_Destruct(LearnableAttacks* p) { delete p; } export_func void CreatureLib_LearnableAttacks_AddLevelAttack(LearnableAttacks* p, level_int_t level, const AttackData* attack) { p->AddLevelAttack(level, attack); } export_func const AttackData* const* CreatureLib_LearnableAttacks_GetAttacksForLevel(LearnableAttacks* p, u8 level) { return reinterpret_cast(p->GetAttacksForLevel(level).RawData()); } export_func bool CreatureLib_LearnableAttacks_HasAttacksForLevel(LearnableAttacks* p, u8 level) { return p->HasAttacksForLevel(level); } export_func size_t CreatureLib_LearnableAttacks_GetAttacksForLevelCount(LearnableAttacks* p, u8 level) { return p->GetAttacksForLevel(level).Count(); } export_func size_t CreatureLib_LearnableAttacks_GetDistinctLevelAttacksCount(LearnableAttacks* p) { return p->GetDistinctLevelAttacks().Count(); } export_func const AttackData* const* CreatureLib_LearnableAttacks_GetDistinctLevelAttacks(LearnableAttacks* p) { return reinterpret_cast(p->GetDistinctLevelAttacks().RawData()); }