From 1d020a525b81df1cb45345d3e36a9c4e9caf701e Mon Sep 17 00:00:00 2001 From: Lukas Klingsbo Date: Thu, 8 Feb 2024 10:09:00 +0100 Subject: [PATCH] refactor: Fix unrelated types reported by DCM (#3023) DCM recently started reporting `avoid-collection-methods-with-unrelated-types` for the quadtree class, this PR fixes the reported issues. --- .../lib/src/collisions/broadphase/quadtree/quadtree.dart | 6 +++--- packages/flame/test/collisions/collision_test_helpers.dart | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/flame/lib/src/collisions/broadphase/quadtree/quadtree.dart b/packages/flame/lib/src/collisions/broadphase/quadtree/quadtree.dart index ae2e85bd261..3bb1706e57f 100644 --- a/packages/flame/lib/src/collisions/broadphase/quadtree/quadtree.dart +++ b/packages/flame/lib/src/collisions/broadphase/quadtree/quadtree.dart @@ -190,11 +190,11 @@ class QuadTree> { } void remove(T hitbox, {bool keepOldPosition = false}) { - final node = _hitboxAtNode.remove(hitbox); + final node = _hitboxAtNode.remove(hitbox as ShapeHitbox); if (node != null) { node.hitboxes.remove(hitbox); if (!keepOldPosition) { - _oldPositionByItem.remove(hitbox); + _oldPositionByItem.remove(hitbox as ShapeHitbox); } } } @@ -273,7 +273,7 @@ class QuadTree> { } bool hasMoved(T hitbox) { - final lastPos = _oldPositionByItem[hitbox]; + final lastPos = _oldPositionByItem[hitbox as ShapeHitbox]; if (lastPos == null) { return true; } diff --git a/packages/flame/test/collisions/collision_test_helpers.dart b/packages/flame/test/collisions/collision_test_helpers.dart index 2d3827b389e..fe220af183f 100644 --- a/packages/flame/test/collisions/collision_test_helpers.dart +++ b/packages/flame/test/collisions/collision_test_helpers.dart @@ -126,7 +126,7 @@ class TestBlock extends PositionComponent with CollisionCallbacks { return activeCollisions.contains(other); } - bool collidedWithExactly(List collidables) { + bool collidedWithExactly(List collidables) { final otherCollidables = collidables.toSet()..remove(this); return activeCollisions.containsAll(otherCollidables) && otherCollidables.containsAll(activeCollisions);