Adds ScopedOwner class, that disposes owned values when garbage collected.

This commit is contained in:
2021-01-15 16:53:32 +01:00
parent 7e31bba05e
commit 7807ee9676
18 changed files with 195 additions and 57 deletions

View File

@@ -32,6 +32,11 @@ namespace PkmnLibSharp.Library.Items
Initialize(p);
}
public override string ToString()
{
return base.ToString() + $": {Name}";
}
protected override void DeletePtr()
{
Pkmnlib.Generated.Item.Destruct(Ptr);

View File

@@ -44,6 +44,11 @@ namespace PkmnLibSharp.Library.Moves
Initialize(ptr);
}
public override string ToString()
{
return base.ToString() + $": {Name}";
}
protected override void DeletePtr()
{
AttackData.Destruct(Ptr);

View File

@@ -143,6 +143,11 @@ namespace PkmnLibSharp.Library
return SpeciesVariant.HasFlag(Ptr, flag.ToPtr()) == 1;
}
public override string ToString()
{
return base.ToString() + $": {Name}";
}
protected internal override void MarkAsDeleted()
{
base.MarkAsDeleted();

View File

@@ -146,6 +146,11 @@ namespace PkmnLibSharp.Library
private ReadOnlyNativePtrArray<Forme>? _formes;
private string[]? _eggGroups;
public override string ToString()
{
return $"(#{Ptr}) -> Species: {Name}";
}
protected internal override void MarkAsDeleted()
{
base.MarkAsDeleted();