Growth Rate Library wrapper and tests

This commit is contained in:
2020-05-06 12:39:28 +02:00
parent 32d07be361
commit cc66729529
3 changed files with 80 additions and 1 deletions

View File

@@ -0,0 +1,37 @@
using PkmnLibSharp.Utilities;
namespace PkmnLibSharp.Library.GrowthRates
{
public class GrowthRateLibrary : PointerWrapper
{
public GrowthRateLibrary(ulong initialCapacity) : base(
Creatureliblibrary.Generated.GrowthRateLibrary.Construct(initialCapacity))
{
}
public byte CalculateLevel(string growthRateName, uint experience)
{
byte b = 0;
Creatureliblibrary.Generated.GrowthRateLibrary.CalculateLevel(ref b, Ptr, growthRateName.ToPtr(),
experience).Assert();
return b;
}
public uint CalculateExperience(string growthRateName, byte level)
{
uint i = 0;
Creatureliblibrary.Generated.GrowthRateLibrary.CalculateExperience(ref i, Ptr, growthRateName.ToPtr(),
level).Assert();
return i;
}
public void AddGrowthRate(string name, GrowthRate gr)
{
Creatureliblibrary.Generated.GrowthRateLibrary.AddGrowthRate(Ptr, name.ToPtr(), gr.Ptr).Assert();
}
protected override void DeletePtr()
{
Creatureliblibrary.Generated.GrowthRateLibrary.Destruct(Ptr);
}
}
}

View File

@@ -30,7 +30,7 @@ namespace PkmnLibSharp.Utilities
Cached.TryAdd(ptr, weakRef);
}
internal static bool TryResolvePointer<T>(IntPtr p, out T result) where T : PointerWrapper
public static bool TryResolvePointer<T>(IntPtr p, out T result) where T : PointerWrapper
{
if (Cached.TryGetValue(p, out var val))
{