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