PkmnLibRSharp/PkmnLibRSharp/DynamicData/Libraries/WasmScriptResolver.cs

30 lines
1009 B
C#

#if WASM
using PkmnLibSharp.Utils;
using Interface = PkmnLibSharp.FFI.DynamicData.Libraries.ScriptResolver;
namespace PkmnLibSharp.DynamicData.Libraries
{
public class WasmScriptResolver : ScriptResolver
{
public WasmScriptResolver() : base(Interface.webassembly_script_resolver_new(), true){}
/// <summary>
/// Loads a compiled WASM module into the script resolver.
/// </summary>
/// <param name="data">The bytes of a compiled WASM module</param>
public void LoadBytes(byte[] data)
{
Interface.webassembly_script_resolver_load_wasm_from_bytes(Ptr, data.ArrayPtr(), (ulong)data.LongLength);
}
/// <summary>
/// Tells the script resolver we're done loading wasm modules, and to finalize the resolver. After this it is
/// ready for use.
/// </summary>
public void FinalizeResolver()
{
Interface.webassembly_script_resolver_finalize(Ptr);
}
}
}
#endif