PkmnLibRSharp/PkmnLibRSharp/DynamicData/Libraries/DynamicLibrary.cs

26 lines
985 B
C#

using PkmnLibSharp.FFI;
using PkmnLibSharp.Utils;
using Interface = PkmnLibSharp.FFI.DynamicData.Libraries.DynamicLibrary;
namespace PkmnLibSharp.DynamicData.Libraries
{
public class DynamicLibrary : HandleType
{
protected DynamicLibrary(FFIHandle handle) : base(handle)
{
}
public static DynamicLibrary Create(StaticData.Libraries.StaticData staticData,
BattleStatCalculator statCalculator, DamageLibrary damageLibrary, MiscLibrary miscLibrary,
ScriptResolver scriptResolver)
{
var handle = Interface.dynamic_library_new(staticData.Handle, statCalculator.Handle, damageLibrary.Handle,
miscLibrary.Handle, scriptResolver.Handle);
var lib = Resolver.Instance.ResolveDynamicLibrary(handle.Resolve());
lib.StaticData = staticData;
return lib;
}
public StaticData.Libraries.StaticData StaticData { get; private set; } = null!;
}
}