Many fixes
This commit is contained in:
parent
640451e6d5
commit
8ce1db668e
|
@ -4,10 +4,11 @@ name: default
|
|||
type: docker
|
||||
steps:
|
||||
- name: Build
|
||||
image: mcr.microsoft.com/dotnet/core/sdk:3.1
|
||||
image: deukhoofd/dotnet-builder
|
||||
commands:
|
||||
- dotnet build -c Release
|
||||
- name: Tests
|
||||
image: mcr.microsoft.com/dotnet/core/sdk:3.1
|
||||
image: deukhoofd/dotnet-builder
|
||||
commands:
|
||||
- export LD_LIBRARY_PATH=.
|
||||
- dotnet test -v n
|
|
@ -6,6 +6,7 @@ namespace Pkmnlib.Generated
|
|||
{
|
||||
internal static class PokemonSpecies
|
||||
{
|
||||
/// <param name="out">const PokemonSpecies *&</param>
|
||||
/// <param name="id">unsigned short</param>
|
||||
/// <param name="name">const char *</param>
|
||||
/// <param name="defaultForme">const PokemonForme *</param>
|
||||
|
@ -13,9 +14,9 @@ namespace Pkmnlib.Generated
|
|||
/// <param name="growthRate">const char *</param>
|
||||
/// <param name="captureRate">unsigned char</param>
|
||||
/// <param name="baseHappiness">unsigned char</param>
|
||||
/// <returns>const PokemonSpecies *</returns>
|
||||
/// <returns>unsigned char</returns>
|
||||
[DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_PokemonSpecies_Construct")]
|
||||
internal static extern IntPtr Construct(ushort id, IntPtr name, IntPtr defaultForme, float genderRatio, IntPtr growthRate, byte captureRate, byte baseHappiness);
|
||||
internal static extern byte Construct(ref IntPtr @out, ushort id, IntPtr name, IntPtr defaultForme, float genderRatio, IntPtr growthRate, byte captureRate, byte baseHappiness);
|
||||
|
||||
/// <param name="p">const PokemonSpecies *</param>
|
||||
/// <returns>void</returns>
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
using System;
|
||||
using Pkmnlib.Generated;
|
||||
using PkmnLibSharp.Utilities;
|
||||
|
||||
|
@ -6,15 +7,22 @@ namespace PkmnLibSharp.Library
|
|||
public class Species : PointerWrapper
|
||||
{
|
||||
// ReSharper disable once SuggestBaseTypeForParameter
|
||||
public Species(ushort id, string name, Forme defaultForme, float genderRatio, string growthRate,
|
||||
byte captureRate, byte baseHappiness) : base(PokemonSpecies.Construct(id, name.ToPtr(), defaultForme.Ptr, genderRatio,
|
||||
growthRate.ToPtr(), captureRate, baseHappiness))
|
||||
private Species(IntPtr ptr) : base(ptr)
|
||||
{
|
||||
}
|
||||
|
||||
public static Species Create(ushort id, string name, Forme defaultForme, float genderRatio, string growthRate,
|
||||
byte captureRate, byte baseHappiness)
|
||||
{
|
||||
var ptr = IntPtr.Zero;
|
||||
PokemonSpecies.Construct(ref ptr, id, name.ToPtr(), defaultForme.Ptr, genderRatio,
|
||||
growthRate.ToPtr(), captureRate, baseHappiness).Assert();
|
||||
return new Species(ptr);
|
||||
}
|
||||
|
||||
internal override void DeletePtr()
|
||||
{
|
||||
Pokemon.Destruct(Ptr);
|
||||
PokemonSpecies.Destruct(Ptr);
|
||||
}
|
||||
}
|
||||
}
|
Binary file not shown.
BIN
PkmnLibSharp/Native/libpkmnLib.so (Stored with Git LFS)
BIN
PkmnLibSharp/Native/libpkmnLib.so (Stored with Git LFS)
Binary file not shown.
|
@ -12,14 +12,14 @@
|
|||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Native\libArbutils.so" CopyToOutputDirectory="Always" Link="libArbutils.so" />
|
||||
<Content Include="Native\libCreatureLibLibrary.so" CopyToOutputDirectory="Always" Link="libCreatureLibLibrary.so" />
|
||||
<Content Include="Native\libCreatureLibBattling.so" CopyToOutputDirectory="Always" Link="libCreatureLibBattling.so" />
|
||||
<Content Include="Native\libpkmnLib.so" CopyToOutputDirectory="Always" Link="libpkmnLib.so" />
|
||||
<Content Include="Native/*.so.*" CopyToOutputDirectory="Always" CopyToPublishDirectory="Always" Link="%(Filename)%(Extension)"></Content>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System.Collections.Immutable, Version=1.2.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<HintPath>..\..\..\..\..\..\usr\share\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.Immutable.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="System.Collections.Immutable" Version="1.7.0" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,17 @@
|
|||
using NUnit.Framework;
|
||||
using PkmnLibSharp.Library;
|
||||
|
||||
namespace PkmnLibSharpTests.Library
|
||||
{
|
||||
public class SpeciesTests
|
||||
{
|
||||
[Test]
|
||||
public void ConstructDestruct()
|
||||
{
|
||||
var forme = Forme.Create("foo", 1, 2, 100, new byte[] {0}, 10, 10, 10, 10, 10, 10, new[] {"foo"},
|
||||
new[] {"bar"}, LearnableMoves.Create(100));
|
||||
var species = Species.Create(0, "testSpecies", forme, 0.5f, "exponential", 100, 80);
|
||||
species.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue