26 lines
985 B
C#
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!;
|
|
}
|
|
} |