PkmnLibRSharp/PkmnLibRSharp/StaticData/Libraries/MoveLibrary.cs

34 lines
999 B
C#

using System;
using System.Collections.Generic;
using PkmnLibSharp.FFI;
using PkmnLibSharp.Utils;
using Interface = PkmnLibSharp.FFI.StaticData.Libraries.MoveLibrary;
namespace PkmnLibSharp.StaticData.Libraries
{
/// <summary>
/// A library to store all data for moves.
/// </summary>
public class MoveLibrary : DataLibrary<MoveData>
{
/// <inheritdoc cref="MoveLibrary"/>
protected MoveLibrary(FFIHandle handle) : base(handle)
{
}
/// <summary>
/// Instantiates a new Move Library.
/// </summary>
public static MoveLibrary Create(ulong capacity)
{
var handle = Interface.move_library_new(capacity);
return Resolver.Instance.ResolveMoveLibrary(handle.Resolve());
}
/// <inheritdoc />
protected override void AddNative(string key, MoveData value)
{
Interface.move_library_add(Handle, key.ToPtr(), value.Handle);
}
}
}