PkmnLibRSharp/PkmnLibRSharp/DynamicData/Libraries/BattleStatCalculator.cs

33 lines
1.1 KiB
C#

using PkmnLibSharp.FFI;
using PkmnLibSharp.Utils;
using Interface = PkmnLibSharp.FFI.DynamicData.Libraries.BattleStatCalculator;
namespace PkmnLibSharp.DynamicData.Libraries
{
/// <summary>
/// A battle stat calculator is used to calculate stats for a Pokemon.
/// </summary>
public abstract class BattleStatCalculator : HandleType
{
/// <inheritdoc cref="BattleStatCalculator"/>
protected BattleStatCalculator(FFIHandle handle) : base(handle){}
}
/// <summary>
/// A basic implementation of the Gen 7 stat calculator.
/// </summary>
public class Gen7BattleStatCalculator : BattleStatCalculator
{
/// <inheritdoc cref="Gen7BattleStatCalculator"/>
protected Gen7BattleStatCalculator(FFIHandle handle) : base(handle){}
/// <summary>
/// Creates a new Gen 7 battle stat calculator
/// </summary>
public static Gen7BattleStatCalculator Create()
{
var handle = Interface.gen_7_battle_stat_calculator_new();
return (Gen7BattleStatCalculator)Resolver.Instance.ResolveBattleStatCalculator(handle.Resolve());
}
}
}