43 lines
1.1 KiB
C#
43 lines
1.1 KiB
C#
|
using System;
|
||
|
using System.Collections;
|
||
|
using System.Collections.Generic;
|
||
|
using PkmnLibSharp.Utilities;
|
||
|
|
||
|
namespace PkmnLibSharp.Battling.History
|
||
|
{
|
||
|
public class HistoryHandler : PointerWrapper
|
||
|
{
|
||
|
internal HistoryHandler(IntPtr ptr) : base(ptr){}
|
||
|
|
||
|
public HistoryElement? TopElement
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
var ptr = Creaturelib.Generated.HistoryHandler.GetTopElement(Ptr);
|
||
|
return HistoryElement.Construct(ptr);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public HistoryElement? GetLastUsedMove()
|
||
|
{
|
||
|
var ptr = Creaturelib.Generated.HistoryHandler.GetLastUsedAttack(Ptr);
|
||
|
return HistoryElement.Construct(ptr);
|
||
|
}
|
||
|
|
||
|
public IEnumerable<HistoryElement> GetIterator()
|
||
|
{
|
||
|
var top = TopElement;
|
||
|
if (top == null) yield break;
|
||
|
while (top != null)
|
||
|
{
|
||
|
yield return top;
|
||
|
top = top.GetPrevious();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
protected override void DeletePtr()
|
||
|
{
|
||
|
|
||
|
}
|
||
|
}
|
||
|
}
|