chore: update characters theme (#182)

pull/186/head
arturplaczek 2 years ago committed by GitHub
parent 7bd0a60bc7
commit 64f3bbea5e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -36,7 +36,7 @@ extension LeaderboardEntryDataX on LeaderboardEntryData {
rank: position.toString(),
playerInitials: playerInitials,
score: score,
character: character.toTheme.characterAsset,
character: character.toTheme.character,
);
}
}

@ -122,7 +122,7 @@ class CharacterImageButton extends StatelessWidget {
),
child: Padding(
padding: const EdgeInsets.all(8),
child: characterTheme.characterAsset.image(),
child: characterTheme.character.image(),
),
),
);

@ -8,9 +8,18 @@ class AndroidTheme extends CharacterTheme {
/// {@macro android_theme}
const AndroidTheme();
@override
String get name => 'Android';
@override
Color get ballColor => Colors.green;
@override
AssetGenImage get characterAsset => Assets.images.android.character;
AssetGenImage get character => Assets.images.android.character;
@override
AssetGenImage get background => Assets.images.android.background;
@override
AssetGenImage get icon => Assets.images.android.icon;
}

@ -12,12 +12,27 @@ abstract class CharacterTheme extends Equatable {
/// {@macro character_theme}
const CharacterTheme();
/// Name of character.
String get name;
/// Ball color for this theme.
Color get ballColor;
/// Asset for the theme character.
AssetGenImage get characterAsset;
AssetGenImage get character;
/// Asset for the background.
AssetGenImage get background;
/// Icon asset.
AssetGenImage get icon;
@override
List<Object?> get props => [ballColor];
List<Object?> get props => [
name,
ballColor,
character,
background,
icon,
];
}

@ -8,9 +8,18 @@ class DashTheme extends CharacterTheme {
/// {@macro dash_theme}
const DashTheme();
@override
String get name => 'Dash';
@override
Color get ballColor => Colors.blue;
@override
AssetGenImage get characterAsset => Assets.images.dash.character;
AssetGenImage get character => Assets.images.dash.character;
@override
AssetGenImage get background => Assets.images.dash.background;
@override
AssetGenImage get icon => Assets.images.dash.icon;
}

@ -8,9 +8,18 @@ class DinoTheme extends CharacterTheme {
/// {@macro dino_theme}
const DinoTheme();
@override
String get name => 'Dino';
@override
Color get ballColor => Colors.grey;
@override
AssetGenImage get characterAsset => Assets.images.dino.character;
AssetGenImage get character => Assets.images.dino.character;
@override
AssetGenImage get background => Assets.images.dino.background;
@override
AssetGenImage get icon => Assets.images.dino.icon;
}

@ -12,5 +12,14 @@ class SparkyTheme extends CharacterTheme {
Color get ballColor => Colors.orange;
@override
AssetGenImage get characterAsset => Assets.images.sparky.character;
String get name => 'Sparky';
@override
AssetGenImage get character => Assets.images.sparky.character;
@override
AssetGenImage get background => Assets.images.sparky.background;
@override
AssetGenImage get icon => Assets.images.sparky.icon;
}

@ -18,11 +18,22 @@ void main() {
expect(AndroidTheme().ballColor, equals(Colors.green));
});
test('characterAsset is correct', () {
test('character asset is correct', () {
expect(
AndroidTheme().characterAsset,
AndroidTheme().character,
equals(Assets.images.android.character),
);
});
test('background asset is correct', () {
expect(
AndroidTheme().background,
equals(Assets.images.android.background),
);
});
test('icon asset is correct', () {
expect(AndroidTheme().icon, equals(Assets.images.android.icon));
});
});
}

@ -18,11 +18,22 @@ void main() {
expect(DashTheme().ballColor, equals(Colors.blue));
});
test('characterAsset is correct', () {
test('character asset is correct', () {
expect(
DashTheme().characterAsset,
DashTheme().character,
equals(Assets.images.dash.character),
);
});
test('background asset is correct', () {
expect(
DashTheme().background,
equals(Assets.images.dash.background),
);
});
test('icon asset is correct', () {
expect(DashTheme().icon, equals(Assets.images.dash.icon));
});
});
}

@ -18,11 +18,22 @@ void main() {
expect(DinoTheme().ballColor, equals(Colors.grey));
});
test('characterAsset is correct', () {
test('character asset is correct', () {
expect(
DinoTheme().characterAsset,
DinoTheme().character,
equals(Assets.images.dino.character),
);
});
test('background asset is correct', () {
expect(
DinoTheme().background,
equals(Assets.images.dino.background),
);
});
test('icon asset is correct', () {
expect(DinoTheme().icon, equals(Assets.images.dino.icon));
});
});
}

@ -18,11 +18,22 @@ void main() {
expect(SparkyTheme().ballColor, equals(Colors.orange));
});
test('characterAsset is correct', () {
test('character asset is correct', () {
expect(
SparkyTheme().characterAsset,
SparkyTheme().character,
equals(Assets.images.sparky.character),
);
});
test('background asset is correct', () {
expect(
SparkyTheme().background,
equals(Assets.images.sparky.background),
);
});
test('icon asset is correct', () {
expect(SparkyTheme().icon, equals(Assets.images.sparky.icon));
});
});
}

@ -30,7 +30,7 @@ void main() {
rank: '1',
playerInitials: 'ABC',
score: 1500,
character: DashTheme().characterAsset,
character: DashTheme().character,
);
test(

@ -121,7 +121,7 @@ void main() {
rank: '1',
playerInitials: 'ABC',
score: 10000,
character: DashTheme().characterAsset,
character: DashTheme().character,
),
],
),

Loading…
Cancel
Save