Implements experience gain
All checks were successful
Build / Build (push) Successful in 1m49s

This commit is contained in:
2025-11-02 23:20:07 +01:00
parent f00453448f
commit 90eaeb1a72
7 changed files with 83 additions and 2 deletions

View File

@@ -39,6 +39,12 @@ public interface IDynamicLibrary
/// </summary>
ICaptureLibrary CaptureLibrary { get; }
/// <summary>
/// The experience gain calculator deals with the calculation of experience gained by a
/// Pokémon after defeating another Pokémon.
/// </summary>
IExperienceGainCalculator ExperienceGainCalculator { get; }
/// <summary>
/// A holder of the script types that can be resolved by this library.
/// </summary>
@@ -64,12 +70,13 @@ public class DynamicLibraryImpl : IDynamicLibrary
return new DynamicLibraryImpl(load.StaticLibrary, load.Registry.BattleStatCalculator!,
load.Registry.DamageCalculator!, load.Registry.MiscLibrary!, load.Registry.CaptureLibrary!, load.Resolver,
load.Registry.ExplicitAIHandlers);
load.Registry.ExplicitAIHandlers, load.Registry.ExperienceGainCalculator!);
}
private DynamicLibraryImpl(IStaticLibrary staticLibrary, IBattleStatCalculator statCalculator,
IDamageCalculator damageCalculator, IMiscLibrary miscLibrary, ICaptureLibrary captureLibrary,
ScriptResolver scriptResolver, IReadOnlyExplicitAIHandlers explicitAIHandlers)
ScriptResolver scriptResolver, IReadOnlyExplicitAIHandlers explicitAIHandlers,
IExperienceGainCalculator experienceGainCalculator)
{
StaticLibrary = staticLibrary;
StatCalculator = statCalculator;
@@ -77,6 +84,7 @@ public class DynamicLibraryImpl : IDynamicLibrary
MiscLibrary = miscLibrary;
ScriptResolver = scriptResolver;
ExplicitAIHandlers = explicitAIHandlers;
ExperienceGainCalculator = experienceGainCalculator;
CaptureLibrary = captureLibrary;
}
@@ -95,6 +103,9 @@ public class DynamicLibraryImpl : IDynamicLibrary
/// <inheritdoc />
public ICaptureLibrary CaptureLibrary { get; }
/// <inheritdoc />
public IExperienceGainCalculator ExperienceGainCalculator { get; }
/// <inheritdoc />
public ScriptResolver ScriptResolver { get; }