Ensure pointers aren't used anymore when their parents are being deleted and they should be deleted themselves.
This commit is contained in:
@@ -143,6 +143,12 @@ namespace PkmnLibSharp.Library
|
||||
{
|
||||
}
|
||||
|
||||
protected internal override void MarkAsDeleted()
|
||||
{
|
||||
base.MarkAsDeleted();
|
||||
_moves?.MarkAsDeleted();
|
||||
}
|
||||
|
||||
protected override void DeletePtr()
|
||||
{
|
||||
SpeciesVariant.Destruct(Ptr);
|
||||
|
||||
@@ -63,6 +63,15 @@ namespace PkmnLibSharp.Library.Items
|
||||
{
|
||||
}
|
||||
|
||||
protected internal override void MarkAsDeleted()
|
||||
{
|
||||
base.MarkAsDeleted();
|
||||
foreach (var item in _cache)
|
||||
{
|
||||
item.Value.MarkAsDeleted();
|
||||
}
|
||||
}
|
||||
|
||||
protected override void DeletePtr()
|
||||
{
|
||||
Creatureliblibrary.Generated.ItemLibrary.Destruct(Ptr);
|
||||
|
||||
@@ -66,6 +66,15 @@ namespace PkmnLibSharp.Library.Moves
|
||||
{
|
||||
}
|
||||
|
||||
protected internal override void MarkAsDeleted()
|
||||
{
|
||||
base.MarkAsDeleted();
|
||||
foreach (var moveData in _cache)
|
||||
{
|
||||
moveData.Value.MarkAsDeleted();
|
||||
}
|
||||
}
|
||||
|
||||
protected override void DeletePtr()
|
||||
{
|
||||
AttackLibrary.Destruct(Ptr);
|
||||
|
||||
@@ -58,5 +58,14 @@ namespace PkmnLibSharp.Library
|
||||
{
|
||||
Pkmnlib.Generated.NatureLibrary.Destruct(Ptr);
|
||||
}
|
||||
|
||||
protected internal override void MarkAsDeleted()
|
||||
{
|
||||
base.MarkAsDeleted();
|
||||
foreach (var nature in _cache)
|
||||
{
|
||||
nature.Value.MarkAsDeleted();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -133,5 +133,17 @@ namespace PkmnLibSharp.Library
|
||||
{
|
||||
Pkmnlib.Generated.PokemonLibrary.Destruct(Ptr);
|
||||
}
|
||||
|
||||
protected internal override void MarkAsDeleted()
|
||||
{
|
||||
base.MarkAsDeleted();
|
||||
_settings?.MarkAsDeleted();
|
||||
_species?.MarkAsDeleted();
|
||||
_moves?.MarkAsDeleted();
|
||||
_items?.MarkAsDeleted();
|
||||
_growthRateLibrary?.MarkAsDeleted();
|
||||
_typeLibrary?.MarkAsDeleted();
|
||||
_natureLibrary?.MarkAsDeleted();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -84,6 +84,15 @@ namespace PkmnLibSharp.Library
|
||||
return s;
|
||||
}
|
||||
|
||||
protected internal override void MarkAsDeleted()
|
||||
{
|
||||
base.MarkAsDeleted();
|
||||
foreach (var forme in _formes)
|
||||
{
|
||||
forme.Value.MarkAsDeleted();
|
||||
}
|
||||
}
|
||||
|
||||
protected override void DeletePtr()
|
||||
{
|
||||
PokemonSpecies.Destruct(Ptr);
|
||||
|
||||
@@ -67,5 +67,14 @@ namespace PkmnLibSharp.Library
|
||||
{
|
||||
Creatureliblibrary.Generated.SpeciesLibrary.Destruct(Ptr);
|
||||
}
|
||||
|
||||
protected internal override void MarkAsDeleted()
|
||||
{
|
||||
base.MarkAsDeleted();
|
||||
foreach (var species in _cache)
|
||||
{
|
||||
species.Value.MarkAsDeleted();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user