feat: Add bonus flash effect for player pickups and update rendering logic
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
This commit is contained in:
@@ -46,17 +46,38 @@ void main() {
|
||||
expect(expectedNoKeyIndex, isNotNull);
|
||||
|
||||
final goldKeyCall = renderer.drawCalls.firstWhere(
|
||||
(call) => call.startY == 164 && call.startX == 30,
|
||||
(call) => call.startY == 164 && call.startX == 240,
|
||||
orElse: () => throw StateError('Gold key slot was not rendered.'),
|
||||
);
|
||||
final silverKeyCall = renderer.drawCalls.firstWhere(
|
||||
(call) => call.startY == 180 && call.startX == 30,
|
||||
(call) => call.startY == 180 && call.startX == 240,
|
||||
orElse: () => throw StateError('Silver key slot was not rendered.'),
|
||||
);
|
||||
|
||||
expect(goldKeyCall.imageIndex, expectedGoldKeyIndex);
|
||||
expect(silverKeyCall.imageIndex, expectedNoKeyIndex);
|
||||
});
|
||||
|
||||
test('standard VGA HUD face follows current health band', () {
|
||||
final engine = _buildEngine();
|
||||
engine.init();
|
||||
engine.player.health = 20;
|
||||
|
||||
final renderer = _HudProbeRenderer(vgaImages: engine.data.vgaImages);
|
||||
renderer.drawHudForTest(engine);
|
||||
|
||||
final expectedFaceIndex = engine.data.registry.hud
|
||||
.faceForHealth(engine.player.health)
|
||||
?.vgaIndex;
|
||||
expect(expectedFaceIndex, isNotNull);
|
||||
|
||||
final faceCall = renderer.drawCalls.firstWhere(
|
||||
(call) => call.startY == 164 && call.startX == 136,
|
||||
orElse: () => throw StateError('Face slot was not rendered.'),
|
||||
);
|
||||
|
||||
expect(faceCall.imageIndex, expectedFaceIndex);
|
||||
});
|
||||
}
|
||||
|
||||
class _HudProbeRenderer extends RendererBackend<int> {
|
||||
|
||||
Reference in New Issue
Block a user