pk3DS/pk3DS.Core/Randomizers/EvolutionRandomizer.cs
Kurt fa5bdee781 Refactoring
use new randomization objects in other forms
re-standardize namespaces a little
2017-09-09 22:16:55 -07:00

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);
}
}
}
}