Skip to content

Commit

Permalink
Fix minimap issues with non-1.0 zoom
Browse files Browse the repository at this point in the history
- Replace `widget.game.visibles()` with `widget.game.query()` to display all game components, not just those within the camera view
- Adjust `canvas.translate` logic in `MiniMapCanvas` to center the camera position on the minimap, even with non-1.0 zoom levels
- These changes address issues where the minimap was not properly aligned with the camera position and components outside the camera view were not displayed when using a zoom value other than 1.0
  • Loading branch information
qulvmp6 committed Nov 15, 2024
1 parent 7485938 commit 34a12e8
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 29 deletions.
10 changes: 5 additions & 5 deletions example/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ packages:
path: ".."
relative: true
source: path
version: "3.11.0"
version: "3.12.0"
boolean_selector:
dependency: transitive
description:
Expand Down Expand Up @@ -254,18 +254,18 @@ packages:
dependency: transitive
description:
name: material_color_utilities
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
url: "https://pub.dev"
source: hosted
version: "0.8.0"
version: "0.11.1"
meta:
dependency: transitive
description:
name: meta
sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
url: "https://pub.dev"
source: hosted
version: "1.12.0"
version: "1.15.0"
mime:
dependency: transitive
description:
Expand Down
2 changes: 1 addition & 1 deletion lib/widgets/mini_map/mini_map.dart
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ class _MiniMapState extends State<MiniMap> {
borderRadius: widget.borderRadius ?? BorderRadius.zero,
child: CustomPaint(
painter: MiniMapCanvas(
components: widget.game.visibles(),
components: widget.game.query(),
tiles: widget.game.map.getRenderedTiles(),
cameraPosition: cameraPosition,
gameSize:
Expand Down
13 changes: 2 additions & 11 deletions lib/widgets/mini_map/mini_map_canvas.dart
Original file line number Diff line number Diff line change
Expand Up @@ -39,18 +39,9 @@ class MiniMapCanvas extends CustomPainter {
double scaleY = size.height / gameSize.y;
double scale = max(scaleX, scaleY) * zoom;

double restX = (gameSize.x - gameSize.y) / 2 * scale;
double restY = (gameSize.y - gameSize.x) / 2 * scale;

if (gameSize.x > gameSize.y) {
restY = 0;
} else if (gameSize.x < gameSize.y) {
restX = 0;
}

canvas.translate(
(cameraPosition.x * scale + restX) * -1,
(cameraPosition.y * scale + restY) * -1,
-cameraPosition.x * scale + size.width / 2 - (gameSize.x * scale) / 2,
-cameraPosition.y * scale + size.height / 2 - (gameSize.y * scale) / 2,
);
canvas.save();
canvas.scale(scale);
Expand Down
24 changes: 12 additions & 12 deletions pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -119,18 +119,18 @@ packages:
dependency: transitive
description:
name: leak_tracker
sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a"
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
url: "https://pub.dev"
source: hosted
version: "10.0.4"
version: "10.0.5"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8"
sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
url: "https://pub.dev"
source: hosted
version: "3.0.3"
version: "3.0.5"
leak_tracker_testing:
dependency: transitive
description:
Expand Down Expand Up @@ -159,18 +159,18 @@ packages:
dependency: transitive
description:
name: material_color_utilities
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
url: "https://pub.dev"
source: hosted
version: "0.8.0"
version: "0.11.1"
meta:
dependency: transitive
description:
name: meta
sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
url: "https://pub.dev"
source: hosted
version: "1.12.0"
version: "1.15.0"
ordered_set:
dependency: transitive
description:
Expand Down Expand Up @@ -236,10 +236,10 @@ packages:
dependency: transitive
description:
name: test_api
sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f"
sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
url: "https://pub.dev"
source: hosted
version: "0.7.0"
version: "0.7.2"
tiledjsonreader:
dependency: "direct main"
description:
Expand Down Expand Up @@ -268,10 +268,10 @@ packages:
dependency: transitive
description:
name: vm_service
sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec"
sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d"
url: "https://pub.dev"
source: hosted
version: "14.2.1"
version: "14.2.5"
web:
dependency: transitive
description:
Expand Down

0 comments on commit 34a12e8

Please sign in to comment.