using PkmnLibSharp.Utilities;

namespace PkmnLibSharp.Library
{
    public class LibrarySettings : PointerWrapper
    {
        public byte MaximalLevel => Creatureliblibrary.Generated.LibrarySettings.GetMaximalLevel(Ptr);
        public byte MaximalMoves => Creatureliblibrary.Generated.LibrarySettings.GetMaximalMoves(Ptr);
        public ushort ShinyRate => Pkmnlib.Generated.LibrarySettings.GetShinyRate(Ptr);
        
        public LibrarySettings(byte maximalLevel, byte maximalMoves, ushort shinyRate) : base(
            Pkmnlib.Generated.LibrarySettings.Construct(maximalLevel, maximalMoves, shinyRate))
        {
        }

        protected override void DeletePtr()
        {
            Pkmnlib.Generated.LibrarySettings.Destruct(Ptr);
        }
    }
}