32 lines
945 B
C#
32 lines
945 B
C#
using System;
|
|
using PkmnLibSharp.Utils;
|
|
using Interface = PkmnLibSharp.FFI.StaticData.LearnableMoves;
|
|
using LevelInt = System.Byte;
|
|
|
|
namespace PkmnLibSharp.StaticData
|
|
{
|
|
public class LearnableMoves : ExternPointer<object>
|
|
{
|
|
internal LearnableMoves(IntPtr ptr, bool isOwner) : base(ptr, isOwner)
|
|
{
|
|
}
|
|
|
|
public LearnableMoves() : base(Interface.learnable_moves_new(), true)
|
|
{
|
|
}
|
|
|
|
public void AddLevelMove(LevelInt level, string moveName)
|
|
{
|
|
Interface.learnable_moves_add_level_move(Ptr, level, moveName.ToPtr());
|
|
}
|
|
|
|
public void AddLevelMove(LevelInt level, MoveData move)
|
|
{
|
|
Interface.learnable_moves_add_level_move(Ptr, level, move.Name.ToPtr());
|
|
}
|
|
|
|
protected override object CreateCache() => new object();
|
|
|
|
protected override void Destructor() => Interface.learnable_moves_drop(Ptr);
|
|
}
|
|
} |