mirror of
https://github.com/kwsch/pk3DS.git
synced 2026-03-25 19:34:13 -05:00
40 lines
1.0 KiB
C#
40 lines
1.0 KiB
C#
using pk3DS.Core.Structures;
|
|
|
|
namespace pk3DS.Core.Randomizers
|
|
{
|
|
public class EvolutionRandomizer : IRandomizer
|
|
{
|
|
private readonly EvolutionSet[] Evolutions;
|
|
private readonly GameConfig Config;
|
|
|
|
public readonly SpeciesRandomizer Randomizer;
|
|
|
|
public EvolutionRandomizer(GameConfig config, EvolutionSet[] evolutions)
|
|
{
|
|
Config = config;
|
|
Evolutions = evolutions;
|
|
Randomizer = new SpeciesRandomizer(Config);
|
|
}
|
|
|
|
|
|
public void Execute()
|
|
{
|
|
for (var i = 0; i < Evolutions.Length; i++)
|
|
{
|
|
var evo = Evolutions[i];
|
|
Randomize(evo, i);
|
|
}
|
|
}
|
|
|
|
private void Randomize(EvolutionSet evo, int i)
|
|
{
|
|
var evos = evo.PossibleEvolutions;
|
|
foreach (EvolutionMethod v in evos)
|
|
{
|
|
if (v.Method > 0)
|
|
v.Species = Randomizer.GetRandomSpecies(v.Species, i);
|
|
}
|
|
}
|
|
}
|
|
}
|