using System; using PkmnLibSharp.FFI; using PkmnLibSharp.Utils; using Interface = PkmnLibSharp.FFI.DynamicData.Libraries.ScriptResolver; namespace PkmnLibSharp.DynamicData.Libraries { public abstract class ScriptResolver : ExternPointer { 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); } } /// /// An implementation of a script resolver that pretends there are no existing scripts. /// public class EmptyScriptResolver : ScriptResolver { public EmptyScriptResolver() : base(Interface.empty_script_resolver_new()){} } }