PkmnLibSharp/PkmnLibSharp/Library/Nature.cs

36 lines
1.3 KiB
C#

using System;
using PkmnLibSharp.Utilities;
namespace PkmnLibSharp.Library
{
public class Nature : PointerWrapper
{
internal Nature(IntPtr ptr) : base(ptr){}
public Nature(Statistic increasedStat, Statistic decreasedStat, float increasedModifier = 1.1f,
float decreasedModifier = 0.9f) : base(Pkmnlib.Generated.Nature.Construct((Pkmnlib.Statistic) increasedStat,
(Pkmnlib.Statistic) decreasedStat,
increasedModifier, decreasedModifier))
{
}
public Nature() : this(Statistic.Health, Statistic.Health, 1f, 1f)
{
}
public float IncreasedModifier => Pkmnlib.Generated.Nature.GetIncreaseModifier(Ptr);
public float DecreasedModifier => Pkmnlib.Generated.Nature.GetDecreaseModifier(Ptr);
public Statistic IncreasedStat => (Statistic) Pkmnlib.Generated.Nature.GetIncreasedStat(Ptr);
public Statistic DecreasedStat => (Statistic) Pkmnlib.Generated.Nature.GetDecreasedStat(Ptr);
public float GetStatModifier(Statistic stat)
{
return Pkmnlib.Generated.Nature.GetStatModifier(Ptr, (Pkmnlib.Statistic) stat);
}
protected override void DeletePtr()
{
Pkmnlib.Generated.Nature.Destruct(Ptr);
}
}
}