28 lines
840 B
C#
28 lines
840 B
C#
using System;
|
|
using PkmnLibSharp.Utils;
|
|
using Interface = PkmnLibSharp.FFI.StaticData.Libraries.LibrarySettings;
|
|
|
|
namespace PkmnLibSharp.StaticData.Libraries
|
|
{
|
|
public class LibrarySettings : ExternPointer<LibrarySettings.CacheData>
|
|
{
|
|
public class CacheData
|
|
{
|
|
public LevelInt? MaxLevel { get; internal set; }
|
|
}
|
|
|
|
public LibrarySettings(LevelInt maxLevel) : base(Interface.library_settings_new(maxLevel), true)
|
|
{
|
|
}
|
|
|
|
internal LibrarySettings(IntPtr ptr, bool isOwner) : base(ptr, isOwner)
|
|
{
|
|
}
|
|
|
|
public LevelInt MaxLevel => Cache.MaxLevel ??= Interface.library_settings_maximum_level(Ptr);
|
|
|
|
protected override CacheData CreateCache() => new();
|
|
|
|
protected override void Destructor() => Interface.library_settings_drop(Ptr);
|
|
}
|
|
} |