2023-01-03 15:53:58 +00:00
|
|
|
using PkmnLibSharp.FFI;
|
|
|
|
using PkmnLibSharp.Utils;
|
|
|
|
using Interface = PkmnLibSharp.FFI.DynamicData.Libraries.DynamicLibrary;
|
|
|
|
|
|
|
|
namespace PkmnLibSharp.DynamicData.Libraries
|
|
|
|
{
|
2023-06-25 14:30:12 +00:00
|
|
|
public class DynamicLibrary : HandleType
|
2023-01-03 15:53:58 +00:00
|
|
|
{
|
2023-06-25 14:30:12 +00:00
|
|
|
protected DynamicLibrary(FFIHandle handle) : base(handle)
|
2023-04-15 07:58:21 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2023-06-25 14:30:12 +00:00
|
|
|
public static DynamicLibrary Create(StaticData.Libraries.StaticData staticData,
|
|
|
|
BattleStatCalculator statCalculator, DamageLibrary damageLibrary, MiscLibrary miscLibrary,
|
|
|
|
ScriptResolver scriptResolver)
|
2023-01-03 15:53:58 +00:00
|
|
|
{
|
2023-06-25 14:30:12 +00:00
|
|
|
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;
|
2023-01-03 15:53:58 +00:00
|
|
|
}
|
|
|
|
|
2023-06-25 14:30:12 +00:00
|
|
|
public StaticData.Libraries.StaticData StaticData { get; private set; } = null!;
|
2023-01-03 15:53:58 +00:00
|
|
|
}
|
|
|
|
}
|