30 lines
954 B
C#
30 lines
954 B
C#
using System;
|
|
using PkmnLibSharp.FFI;
|
|
using PkmnLibSharp.Utils;
|
|
using Interface = PkmnLibSharp.FFI.DynamicData.Libraries.ScriptResolver;
|
|
|
|
namespace PkmnLibSharp.DynamicData.Libraries
|
|
{
|
|
public abstract class ScriptResolver : ExternPointer<ScriptResolver.CacheData>
|
|
{
|
|
protected ScriptResolver(IdentifiablePointer ptr) : base(ptr, true){}
|
|
protected ScriptResolver(IdentifiablePointer ptr, bool isOwner) : base(ptr, isOwner){}
|
|
|
|
public class CacheData{}
|
|
|
|
protected override CacheData CreateCache() => new();
|
|
|
|
protected override void Destructor()
|
|
{
|
|
Interface.script_resolver_drop(Ptr);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// An implementation of a script resolver that pretends there are no existing scripts.
|
|
/// </summary>
|
|
public class EmptyScriptResolver : ScriptResolver
|
|
{
|
|
public EmptyScriptResolver() : base(Interface.empty_script_resolver_new()){}
|
|
}
|
|
} |