PkmnLibRSharp/PkmnLibRSharp/StaticData/LearnableMoves.cs

27 lines
823 B
C#

using PkmnLibSharp.Utils;
using Interface = PkmnLibSharp.FFI.StaticData.LearnableMoves;
using LevelInt = System.Byte;
namespace PkmnLibSharp.StaticData
{
public class LearnableMoves : ExternPointer<object>
{
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);
}
}