refactor: Streamline so that the generation is acquired from the game instance instead of from each location or dex entry.
This commit is contained in:
parent
f1c1369247
commit
ee959e4eae
2 changed files with 51 additions and 88 deletions
|
@ -143,45 +143,50 @@ enum GameRoute {
|
||||||
|
|
||||||
/// The game's name.
|
/// The game's name.
|
||||||
enum Game {
|
enum Game {
|
||||||
Red,
|
Red(gen: Generation.One),
|
||||||
Blue,
|
Green(gen: Generation.One),
|
||||||
Yellow,
|
Blue(gen: Generation.One),
|
||||||
Gold,
|
Yellow(gen: Generation.One),
|
||||||
Silver,
|
Gold(gen: Generation.Two),
|
||||||
Crystal,
|
Silver(gen: Generation.Two),
|
||||||
Ruby,
|
Crystal(gen: Generation.Two),
|
||||||
Sapphire,
|
Ruby(gen: Generation.Three),
|
||||||
FireRed(commonName: "Fire Red"),
|
Sapphire(gen: Generation.Three),
|
||||||
LeafGreen(commonName: "Leaf Green"),
|
FireRed(commonName: "Fire Red", gen: Generation.Three),
|
||||||
Emerald,
|
LeafGreen(commonName: "Leaf Green", gen: Generation.Three),
|
||||||
Colosseum,
|
Emerald(gen: Generation.Three),
|
||||||
XD(commonName: "XD Gale of Darkness"),
|
Colosseum(gen: Generation.Three),
|
||||||
Diamond,
|
XD(commonName: "XD Gale of Darkness", gen: Generation.Three),
|
||||||
Pearl,
|
Diamond(gen: Generation.Four),
|
||||||
Platinum,
|
Pearl(gen: Generation.Four),
|
||||||
HeartGold(commonName: "Heart Gold"),
|
Platinum(gen: Generation.Four),
|
||||||
SoulSilver(commonName: "Soul Silver"),
|
HeartGold(commonName: "Heart Gold", gen: Generation.Four),
|
||||||
Black,
|
SoulSilver(commonName: "Soul Silver", gen: Generation.Four),
|
||||||
White,
|
Black(gen: Generation.Five),
|
||||||
Black2(commonName: "Black 2"),
|
White(gen: Generation.Five),
|
||||||
White2(commonName: "White 2"),
|
Black2(commonName: "Black 2", gen: Generation.Five),
|
||||||
X,
|
White2(commonName: "White 2", gen: Generation.Five),
|
||||||
Y,
|
X(gen: Generation.Six),
|
||||||
OmegaRuby(commonName: "Omega Ruby"),
|
Y(gen: Generation.Six),
|
||||||
OmegaSapphire(commonName: "Omega Sapphire"),
|
OmegaRuby(commonName: "Omega Ruby", gen: Generation.Six),
|
||||||
Sun,
|
OmegaSapphire(commonName: "Omega Sapphire", gen: Generation.Six),
|
||||||
Moon,
|
Sun(gen: Generation.Seven),
|
||||||
UltraSun(commonName: "Ultra Sun"),
|
Moon(gen: Generation.Seven),
|
||||||
UltraMoon(commonName: "Ultra Moon"),
|
UltraSun(commonName: "Ultra Sun", gen: Generation.Seven),
|
||||||
LetsGoPikachu(commonName: "Let's Go Pikachu"),
|
UltraMoon(commonName: "Ultra Moon", gen: Generation.Seven),
|
||||||
LetsGoEevee(commonName: "Let's Go Eevee"),
|
LetsGoPikachu(commonName: "Let's Go Pikachu", gen: Generation.Seven),
|
||||||
Sword,
|
LetsGoEevee(commonName: "Let's Go Eevee", gen: Generation.Seven),
|
||||||
Shield,
|
Sword(gen: Generation.Eight),
|
||||||
BrilliantDiamond(commonName: "Brilliant Diamond"),
|
Shield(gen: Generation.Eight),
|
||||||
ShiningPearl(commonName: "Shining Pearl");
|
BrilliantDiamond(commonName: "Brilliant Diamond", gen: Generation.Eight),
|
||||||
|
ShiningPearl(commonName: "Shining Pearl", gen: Generation.Eight),
|
||||||
|
Scarlet(gen: Generation.Nine),
|
||||||
|
Violet(gen: Generation.Nine),
|
||||||
|
LegendsZA(commonName: "Legends Z-A", gen: Generation.Nine);
|
||||||
|
|
||||||
final String commonName;
|
final String commonName;
|
||||||
const Game({this.commonName = ""});
|
final Generation gen;
|
||||||
|
const Game({required this.gen, this.commonName = ""});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String toString() {
|
String toString() {
|
||||||
|
@ -201,28 +206,18 @@ enum Game {
|
||||||
class Location {
|
class Location {
|
||||||
final List<GameRoute> routes;
|
final List<GameRoute> routes;
|
||||||
final Game game;
|
final Game game;
|
||||||
final Generation gameGen;
|
Generation get gameGen => game.gen;
|
||||||
final List<Game> additionalGames;
|
final List<Game> additionalGames;
|
||||||
|
|
||||||
const Location(
|
const Location(this.game, this.routes, {this.additionalGames = const []});
|
||||||
this.game,
|
|
||||||
this.routes,
|
|
||||||
this.gameGen, {
|
|
||||||
this.additionalGames = const [],
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// The PokeDex Entry describing the pokemon
|
/// The PokeDex Entry describing the pokemon
|
||||||
class DexEntry {
|
class DexEntry {
|
||||||
final Game game;
|
final Game game;
|
||||||
final String desc;
|
final String desc;
|
||||||
final Generation gameGen;
|
Generation get gameGen => game.gen;
|
||||||
final List<Game> additionalGames;
|
final List<Game> additionalGames;
|
||||||
|
|
||||||
const DexEntry(
|
const DexEntry(this.game, this.desc, {this.additionalGames = const []});
|
||||||
this.game,
|
|
||||||
this.desc,
|
|
||||||
this.gameGen, {
|
|
||||||
this.additionalGames = const [],
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,29 +5,21 @@ class Gen1Locations {
|
||||||
Gen1Locations._();
|
Gen1Locations._();
|
||||||
|
|
||||||
static const List<Location> Bulbasaur = [
|
static const List<Location> Bulbasaur = [
|
||||||
Location(
|
Location(Game.Red, [GameRoute.PalletTown], additionalGames: [Game.Blue]),
|
||||||
Game.Red,
|
Location(Game.Yellow, [GameRoute.CeruleanCity]),
|
||||||
[GameRoute.PalletTown],
|
|
||||||
Generation.One,
|
|
||||||
additionalGames: [Game.Blue],
|
|
||||||
),
|
|
||||||
Location(Game.Yellow, [GameRoute.CeruleanCity], Generation.One),
|
|
||||||
Location(
|
Location(
|
||||||
Game.Gold,
|
Game.Gold,
|
||||||
[GameRoute.TradeOrMigrate],
|
[GameRoute.TradeOrMigrate],
|
||||||
Generation.Two,
|
|
||||||
additionalGames: [Game.Silver, Game.Crystal],
|
additionalGames: [Game.Silver, Game.Crystal],
|
||||||
),
|
),
|
||||||
Location(
|
Location(
|
||||||
Game.Ruby,
|
Game.Ruby,
|
||||||
[GameRoute.TradeOrMigrate],
|
[GameRoute.TradeOrMigrate],
|
||||||
Generation.Three,
|
|
||||||
additionalGames: [Game.Sapphire, Game.Emerald],
|
additionalGames: [Game.Sapphire, Game.Emerald],
|
||||||
),
|
),
|
||||||
Location(
|
Location(
|
||||||
Game.FireRed,
|
Game.FireRed,
|
||||||
[GameRoute.PalletTown],
|
[GameRoute.PalletTown],
|
||||||
Generation.Three,
|
|
||||||
additionalGames: [Game.LeafGreen],
|
additionalGames: [Game.LeafGreen],
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
|
@ -35,79 +27,63 @@ class Gen1Locations {
|
||||||
Location(
|
Location(
|
||||||
Game.Red,
|
Game.Red,
|
||||||
[GameRoute.Evolve],
|
[GameRoute.Evolve],
|
||||||
Generation.One,
|
|
||||||
additionalGames: [Game.Blue, Game.Yellow],
|
additionalGames: [Game.Blue, Game.Yellow],
|
||||||
),
|
),
|
||||||
Location(
|
Location(
|
||||||
Game.Gold,
|
Game.Gold,
|
||||||
[GameRoute.TradeOrMigrate],
|
[GameRoute.TradeOrMigrate],
|
||||||
Generation.Two,
|
|
||||||
additionalGames: [Game.Silver, Game.Crystal],
|
additionalGames: [Game.Silver, Game.Crystal],
|
||||||
),
|
),
|
||||||
Location(
|
Location(
|
||||||
Game.Ruby,
|
Game.Ruby,
|
||||||
[GameRoute.TradeOrMigrate],
|
[GameRoute.TradeOrMigrate],
|
||||||
Generation.Three,
|
|
||||||
additionalGames: [Game.Sapphire],
|
additionalGames: [Game.Sapphire],
|
||||||
),
|
),
|
||||||
Location(
|
Location(
|
||||||
Game.FireRed,
|
Game.FireRed,
|
||||||
[GameRoute.Evolve],
|
[GameRoute.Evolve],
|
||||||
Generation.Three,
|
|
||||||
additionalGames: [Game.LeafGreen],
|
additionalGames: [Game.LeafGreen],
|
||||||
),
|
),
|
||||||
Location(Game.Emerald, [GameRoute.TradeOrMigrate], Generation.Three),
|
Location(Game.Emerald, [GameRoute.TradeOrMigrate]),
|
||||||
];
|
];
|
||||||
static const List<Location> Venusaur = [
|
static const List<Location> Venusaur = [
|
||||||
Location(
|
Location(
|
||||||
Game.Red,
|
Game.Red,
|
||||||
[GameRoute.Evolve],
|
[GameRoute.Evolve],
|
||||||
Generation.One,
|
|
||||||
additionalGames: [Game.Blue, Game.Yellow],
|
additionalGames: [Game.Blue, Game.Yellow],
|
||||||
),
|
),
|
||||||
Location(
|
Location(
|
||||||
Game.Gold,
|
Game.Gold,
|
||||||
[GameRoute.TradeOrMigrate],
|
[GameRoute.TradeOrMigrate],
|
||||||
Generation.Two,
|
|
||||||
additionalGames: [Game.Silver, Game.Crystal],
|
additionalGames: [Game.Silver, Game.Crystal],
|
||||||
),
|
),
|
||||||
Location(
|
Location(
|
||||||
Game.Ruby,
|
Game.Ruby,
|
||||||
[GameRoute.TradeOrMigrate],
|
[GameRoute.TradeOrMigrate],
|
||||||
Generation.Three,
|
|
||||||
additionalGames: [Game.Sapphire, Game.Emerald],
|
additionalGames: [Game.Sapphire, Game.Emerald],
|
||||||
),
|
),
|
||||||
Location(
|
Location(
|
||||||
Game.FireRed,
|
Game.FireRed,
|
||||||
[GameRoute.Evolve],
|
[GameRoute.Evolve],
|
||||||
Generation.Three,
|
|
||||||
additionalGames: [Game.LeafGreen],
|
additionalGames: [Game.LeafGreen],
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
static const List<Location> Charmander = [
|
static const List<Location> Charmander = [
|
||||||
Location(
|
Location(Game.Red, [GameRoute.PalletTown], additionalGames: [Game.Blue]),
|
||||||
Game.Red,
|
Location(Game.Yellow, [GameRoute.RT24]),
|
||||||
[GameRoute.PalletTown],
|
|
||||||
Generation.One,
|
|
||||||
additionalGames: [Game.Blue],
|
|
||||||
),
|
|
||||||
Location(Game.Yellow, [GameRoute.RT24], Generation.One),
|
|
||||||
Location(
|
Location(
|
||||||
Game.Gold,
|
Game.Gold,
|
||||||
[GameRoute.TradeOrMigrate],
|
[GameRoute.TradeOrMigrate],
|
||||||
Generation.Two,
|
|
||||||
additionalGames: [Game.Silver, Game.Crystal],
|
additionalGames: [Game.Silver, Game.Crystal],
|
||||||
),
|
),
|
||||||
Location(
|
Location(
|
||||||
Game.Ruby,
|
Game.Ruby,
|
||||||
[GameRoute.TradeOrMigrate],
|
[GameRoute.TradeOrMigrate],
|
||||||
Generation.Three,
|
|
||||||
additionalGames: [Game.Sapphire, Game.Emerald],
|
additionalGames: [Game.Sapphire, Game.Emerald],
|
||||||
),
|
),
|
||||||
Location(
|
Location(
|
||||||
Game.FireRed,
|
Game.FireRed,
|
||||||
[GameRoute.PalletTown],
|
[GameRoute.PalletTown],
|
||||||
Generation.Three,
|
|
||||||
additionalGames: [Game.LeafGreen],
|
additionalGames: [Game.LeafGreen],
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
|
@ -115,25 +91,21 @@ class Gen1Locations {
|
||||||
Location(
|
Location(
|
||||||
Game.Red,
|
Game.Red,
|
||||||
[GameRoute.Evolve],
|
[GameRoute.Evolve],
|
||||||
Generation.One,
|
|
||||||
additionalGames: [Game.Blue, Game.Yellow],
|
additionalGames: [Game.Blue, Game.Yellow],
|
||||||
),
|
),
|
||||||
Location(
|
Location(
|
||||||
Game.Gold,
|
Game.Gold,
|
||||||
[GameRoute.TradeOrMigrate],
|
[GameRoute.TradeOrMigrate],
|
||||||
Generation.Two,
|
|
||||||
additionalGames: [Game.Silver, Game.Crystal],
|
additionalGames: [Game.Silver, Game.Crystal],
|
||||||
),
|
),
|
||||||
Location(
|
Location(
|
||||||
Game.Ruby,
|
Game.Ruby,
|
||||||
[GameRoute.TradeOrMigrate],
|
[GameRoute.TradeOrMigrate],
|
||||||
Generation.Three,
|
|
||||||
additionalGames: [Game.Sapphire, Game.Emerald],
|
additionalGames: [Game.Sapphire, Game.Emerald],
|
||||||
),
|
),
|
||||||
Location(
|
Location(
|
||||||
Game.FireRed,
|
Game.FireRed,
|
||||||
[GameRoute.Evolve],
|
[GameRoute.Evolve],
|
||||||
Generation.Three,
|
|
||||||
additionalGames: [Game.LeafGreen],
|
additionalGames: [Game.LeafGreen],
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
|
@ -141,25 +113,21 @@ class Gen1Locations {
|
||||||
Location(
|
Location(
|
||||||
Game.Red,
|
Game.Red,
|
||||||
[GameRoute.Evolve],
|
[GameRoute.Evolve],
|
||||||
Generation.One,
|
|
||||||
additionalGames: [Game.Blue, Game.Yellow],
|
additionalGames: [Game.Blue, Game.Yellow],
|
||||||
),
|
),
|
||||||
Location(
|
Location(
|
||||||
Game.Gold,
|
Game.Gold,
|
||||||
[GameRoute.TradeOrMigrate],
|
[GameRoute.TradeOrMigrate],
|
||||||
Generation.Two,
|
|
||||||
additionalGames: [Game.Silver, Game.Crystal],
|
additionalGames: [Game.Silver, Game.Crystal],
|
||||||
),
|
),
|
||||||
Location(
|
Location(
|
||||||
Game.Ruby,
|
Game.Ruby,
|
||||||
[GameRoute.TradeOrMigrate],
|
[GameRoute.TradeOrMigrate],
|
||||||
Generation.Three,
|
|
||||||
additionalGames: [Game.Sapphire, Game.Emerald],
|
additionalGames: [Game.Sapphire, Game.Emerald],
|
||||||
),
|
),
|
||||||
Location(
|
Location(
|
||||||
Game.FireRed,
|
Game.FireRed,
|
||||||
[GameRoute.Evolve],
|
[GameRoute.Evolve],
|
||||||
Generation.Three,
|
|
||||||
additionalGames: [Game.LeafGreen],
|
additionalGames: [Game.LeafGreen],
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue