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(), rank: position.toString(),
playerInitials: playerInitials, playerInitials: playerInitials,
score: score, score: score,
character: character.toTheme.characterAsset, character: character.toTheme.character,
); );
} }
} }

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

@ -8,9 +8,18 @@ class AndroidTheme extends CharacterTheme {
/// {@macro android_theme} /// {@macro android_theme}
const AndroidTheme(); const AndroidTheme();
@override
String get name => 'Android';
@override @override
Color get ballColor => Colors.green; Color get ballColor => Colors.green;
@override @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} /// {@macro character_theme}
const CharacterTheme(); const CharacterTheme();
/// Name of character.
String get name;
/// Ball color for this theme. /// Ball color for this theme.
Color get ballColor; Color get ballColor;
/// Asset for the theme character. /// Asset for the theme character.
AssetGenImage get characterAsset; AssetGenImage get character;
/// Asset for the background.
AssetGenImage get background;
/// Icon asset.
AssetGenImage get icon;
@override @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} /// {@macro dash_theme}
const DashTheme(); const DashTheme();
@override
String get name => 'Dash';
@override @override
Color get ballColor => Colors.blue; Color get ballColor => Colors.blue;
@override @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} /// {@macro dino_theme}
const DinoTheme(); const DinoTheme();
@override
String get name => 'Dino';
@override @override
Color get ballColor => Colors.grey; Color get ballColor => Colors.grey;
@override @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; Color get ballColor => Colors.orange;
@override @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)); expect(AndroidTheme().ballColor, equals(Colors.green));
}); });
test('characterAsset is correct', () { test('character asset is correct', () {
expect( expect(
AndroidTheme().characterAsset, AndroidTheme().character,
equals(Assets.images.android.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)); expect(DashTheme().ballColor, equals(Colors.blue));
}); });
test('characterAsset is correct', () { test('character asset is correct', () {
expect( expect(
DashTheme().characterAsset, DashTheme().character,
equals(Assets.images.dash.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)); expect(DinoTheme().ballColor, equals(Colors.grey));
}); });
test('characterAsset is correct', () { test('character asset is correct', () {
expect( expect(
DinoTheme().characterAsset, DinoTheme().character,
equals(Assets.images.dino.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)); expect(SparkyTheme().ballColor, equals(Colors.orange));
}); });
test('characterAsset is correct', () { test('character asset is correct', () {
expect( expect(
SparkyTheme().characterAsset, SparkyTheme().character,
equals(Assets.images.sparky.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', rank: '1',
playerInitials: 'ABC', playerInitials: 'ABC',
score: 1500, score: 1500,
character: DashTheme().characterAsset, character: DashTheme().character,
); );
test( test(

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

Loading…
Cancel
Save