Update to latest version of pkmnLib.

This commit is contained in:
2021-11-27 11:27:19 +01:00
parent d542e75cd1
commit 382cbf2673
46 changed files with 642 additions and 342 deletions

View File

@@ -1,3 +1,4 @@
using System;
using System.Linq;
using NUnit.Framework;
using PkmnLibSharp.Battling;
@@ -12,19 +13,18 @@ namespace PkmnLibSharpTests.Battling
{
private static BattleLibrary _cache;
private static readonly object Lock = new object();
public static BattleLibrary GetLibrary()
{
lock (Lock)
{
if (_cache != null)
if (_cache != null)
return _cache;
TestContext.WriteLine("Building battle library");
var scriptLibrary = new AngelScriptResolver();
_cache = new BattleLibrary(BuildStatic(), new StatCalculator(), new DamageLibrary(),
new ExperienceLibrary(),
scriptLibrary, new MiscLibrary(GetTime));
new ExperienceLibrary(), scriptLibrary, new MiscLibrary(GetTime));
scriptLibrary.Initialize(_cache);
return _cache;
}
@@ -39,33 +39,42 @@ namespace PkmnLibSharpTests.Battling
{
var settings = new LibrarySettings(100, 4, 4096);
var species = new SpeciesLibrary(10);
species.Insert("testSpecies", new Species(1, "testSpecies",
new Forme("default", 10f, 10f, 100, new byte[] {0, 1}, 100,
100, 100, 100, 100, 100, new[] {"testAbility", "testAbility2"},
new[] {"testHiddenAbility"}, new LearnableMoves(100), new string[0]), 0.5f, "growthRate",
20, 100, new[]{"testEggGroup"}, new string[0]));
var abilities = new AbilityLibrary(10);
var testAbility1 = new Ability("testAbility1", "", Array.Empty<EffectParameter>());
var testAbility2 = new Ability("testAbility2", "", Array.Empty<EffectParameter>());
var testHiddenAbility = new Ability("testHiddenAbility", "", Array.Empty<EffectParameter>());
abilities.Insert("testAbility1", testAbility1);
abilities.Insert("testAbility2", testAbility2);
abilities.Insert("testHiddenAbility", testHiddenAbility);
species.Insert("testSpecies",
new Species(1, "testSpecies",
new Forme("default", 10f, 10f, 100, new byte[] { 0, 1 }, 100, 100, 100, 100, 100, 100,
new[] { testAbility1, testAbility2 }, new[] { testHiddenAbility }, new LearnableMoves(100),
new string[0]), 0.5f, "growthRate", 20, 100, new[] { "testEggGroup" }, new string[0]));
var moves = new MoveLibrary(10);
moves.Insert("testMove", new MoveData("testMove", 0, MoveCategory.Physical, 100,
100, 20, MoveTarget.Any, 0, 0f, "",
new EffectParameter[0], new string[0]));
moves.Insert("testMove2", new MoveData("testMove2", 0, MoveCategory.Physical, 100,
100, 20, MoveTarget.Any, 0, 0f, "",
new EffectParameter[0], new string[0]));
moves.Insert("testMove",
new MoveData("testMove", 0, MoveCategory.Physical, 100, 100, 20, MoveTarget.Any, 0, 0f, "",
new EffectParameter[0], new string[0]));
moves.Insert("testMove2",
new MoveData("testMove2", 0, MoveCategory.Physical, 100, 100, 20, MoveTarget.Any, 0, 0f, "",
new EffectParameter[0], new string[0]));
var items = new ItemLibrary(10);
items.Insert("testItem", new Item("testItem", ItemCategory.MiscItem, BattleItemCategory.None,
500, "", new EffectParameter[0], new string[] { }, 20));
items.Insert("testItem",
new Item("testItem", ItemCategory.MiscItem, BattleItemCategory.None, 500, "", new EffectParameter[0],
new string[] { }, 20));
var gr = new GrowthRateLibrary(10);
gr.AddGrowthRate("growthRate",
new LookupGrowthRate(
Enumerable.Range(1, 100).Select(x => (uint)x * 100).ToArray()));
gr.AddGrowthRate("growthRate",
new LookupGrowthRate(Enumerable.Range(1, 100).Select(x => (uint)x * 100).ToArray()));
var types = new TypeLibrary(10);
types.RegisterType("normal");
types.RegisterType("fighting");
var natures = new NatureLibrary(10);
natures.LoadNature("testNature", new Nature());
var lib = new PokemonLibrary(settings, species, moves, items, gr, types, natures);
var lib = new PokemonLibrary(settings, species, moves, items, gr, types, abilities, natures);
return lib;
}
}