Add EventHook parameter to item use scripts
All checks were successful
Build / Build (push) Successful in 47s

Items can be used on Pokemon outside of battle, and we want the user of the library to be able to check for what changed. This allows for example a heal event to be sent back to the user of the library after using an item.
This commit is contained in:
2025-06-15 11:59:17 +02:00
parent f5d18d7186
commit defb1349ca
7 changed files with 21 additions and 17 deletions

View File

@@ -1,4 +1,5 @@
using System.Runtime.CompilerServices;
using PkmnLib.Dynamic.Events;
using PkmnLib.Dynamic.Models;
using PkmnLib.Static;
@@ -95,7 +96,8 @@ public static class ScriptExecution
/// <summary>
/// Executes a script on an item.
/// </summary>
public static void RunItemScript(this IItem item, ScriptResolver scriptResolver, IPokemon? target)
public static void RunItemScript(this IItem item, ScriptResolver scriptResolver, IPokemon? target,
EventHook eventHook)
{
if (!scriptResolver.TryResolveBattleItemScript(item, out var itemScript))
{
@@ -110,11 +112,11 @@ public static class ScriptExecution
{
if (target == null)
throw new ArgumentNullException(nameof(target), "Item script requires a target.");
itemScript.OnUseWithTarget(target);
itemScript.OnUseWithTarget(target, eventHook);
}
else
{
itemScript.OnUse();
itemScript.OnUse(eventHook);
}
}
}