Fixed bug with libraries returning some values twice in GetEnumerator, move more over to Constructor class.
This commit is contained in:
@@ -7,11 +7,7 @@ namespace PkmnLibSharp.Library.Items
|
||||
public class Item : PointerWrapper
|
||||
{
|
||||
private string? _name;
|
||||
|
||||
internal Item(IntPtr ptr) : base(ptr)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
public string Name => _name ??= Creaturelib.Generated.Item.GetName(Ptr).PtrString()!;
|
||||
public ItemCategory Category => (ItemCategory) Creaturelib.Generated.Item.GetCategory(Ptr);
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ namespace PkmnLibSharp.Library.Items
|
||||
return true;
|
||||
}
|
||||
|
||||
item = new Item(ptr);
|
||||
item = Constructor.Active.ConstructItem(ptr)!;
|
||||
_cache.Add(key, item);
|
||||
return true;
|
||||
}
|
||||
@@ -62,7 +62,7 @@ namespace PkmnLibSharp.Library.Items
|
||||
return i!;
|
||||
}
|
||||
|
||||
item = new Item(ptr);
|
||||
item = Constructor.Active.ConstructItem(ptr)!;
|
||||
_cache.Add(key, item);
|
||||
return item;
|
||||
}
|
||||
@@ -76,7 +76,8 @@ namespace PkmnLibSharp.Library.Items
|
||||
Creaturelib.Generated.ItemLibrary.GetAtIndex(Ptr, i, ref ptr).Assert();
|
||||
if (TryResolvePointer(ptr, out Item? item))
|
||||
yield return item!;
|
||||
yield return new Item(ptr);
|
||||
else
|
||||
yield return Constructor.Active.ConstructItem(ptr)!;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -10,11 +10,7 @@ namespace PkmnLibSharp.Library.Moves
|
||||
{
|
||||
private string? _name;
|
||||
private string? _secondaryEffectName;
|
||||
|
||||
internal MoveData(IntPtr ptr) : base(ptr)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
public string Name => _name ??= AttackData.GetName(Ptr).PtrString()!;
|
||||
public byte Type => AttackData.GetType(Ptr);
|
||||
public MoveCategory Category => (MoveCategory) AttackData.GetCategory(Ptr);
|
||||
|
||||
@@ -41,7 +41,7 @@ namespace PkmnLibSharp.Library.Moves
|
||||
return true;
|
||||
}
|
||||
|
||||
move = new MoveData(ptr);
|
||||
move = Constructor.Active.ConstructMove(ptr)!;
|
||||
_cache.Add(key, move);
|
||||
return true;
|
||||
}
|
||||
@@ -58,7 +58,7 @@ namespace PkmnLibSharp.Library.Moves
|
||||
return m!;
|
||||
}
|
||||
|
||||
move = new MoveData(ptr);
|
||||
move = Constructor.Active.ConstructMove(ptr)!;
|
||||
_cache.Add(key, move);
|
||||
return move;
|
||||
}
|
||||
@@ -79,7 +79,8 @@ namespace PkmnLibSharp.Library.Moves
|
||||
AttackLibrary.GetAtIndex(Ptr, i, ref ptr).Assert();
|
||||
if (TryResolvePointer(ptr, out MoveData? move))
|
||||
yield return move!;
|
||||
yield return new MoveData(ptr);
|
||||
else
|
||||
yield return Constructor.Active.ConstructMove(ptr)!;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -83,7 +83,8 @@ namespace PkmnLibSharp.Library
|
||||
Creaturelib.Generated.SpeciesLibrary.GetAtIndex(Ptr, i, ref ptr).Assert();
|
||||
if (TryResolvePointer(ptr, out Species? species))
|
||||
yield return species!;
|
||||
yield return Constructor.Active.ConstructSpecies(ptr)!;
|
||||
else
|
||||
yield return Constructor.Active.ConstructSpecies(ptr)!;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user