Add playable core UI: board painter, drag-and-drop, HUD, result overlay
CustomPainter board with gems/ghost/clear-flash, finger-lifted drag with snap preview, combo text effect, HUD chips, phase overlays with rescue stubs, demo stage. E2E widget test drives a real drag gesture. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -20,12 +20,22 @@ class PlacementResult {
|
||||
required this.pointsGained,
|
||||
required this.linesCleared,
|
||||
required this.gemsCleared,
|
||||
required this.clearedRows,
|
||||
required this.clearedCols,
|
||||
required this.comboStreak,
|
||||
});
|
||||
|
||||
final List<GameEvent> events;
|
||||
final int pointsGained;
|
||||
final int linesCleared;
|
||||
final int gemsCleared;
|
||||
|
||||
/// Which lines vanished, for the UI clear animation.
|
||||
final List<int> clearedRows;
|
||||
final List<int> clearedCols;
|
||||
|
||||
/// Streak level after this placement, for combo effects.
|
||||
final int comboStreak;
|
||||
}
|
||||
|
||||
/// The single stateful pure-Dart session object for one stage attempt.
|
||||
@@ -130,6 +140,9 @@ class GameEngine {
|
||||
pointsGained: delta.points,
|
||||
linesCleared: clear.linesCleared,
|
||||
gemsCleared: clear.gemsCleared,
|
||||
clearedRows: clear.clearedRows,
|
||||
clearedCols: clear.clearedCols,
|
||||
comboStreak: _combo.streak,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user