done refactoring player-specific logic, and also enemy-specific logic, from player-enemy.sml (which now just calls different functions from the player.sml and enemy.sml modules, to help player-enemy.sml maintain a high level overview)

This commit is contained in:
2025-01-12 22:14:36 +00:00
parent 3dddd096f7
commit ca6b0b2160
2 changed files with 4 additions and 12 deletions

View File

@@ -12,17 +12,9 @@ struct
case mainAttack of
MAIN_ATTACKING =>
let
(* when attacking, player collision should be larger than player themselves *)
val x = x - Constants.halfPlayerSize
val y = y - Constants.halfPlayerSize
val size = size * 2
(* get list of enemies player has collided with *)
val enemyCollisions = QuadTree.getCollisions
(x, y, size, size, 0, 0, 1920, 1080, 0, enemyTree)
(* filter enemies based on collisions *)
val enemyCollisions = Vector.fromList enemyCollisions
val enemyCollisions =
Player.getEnemyCollisionsWhenAttacking (x, y, enemyTree)
val enemies = Enemy.filterWhenAttacked
( Vector.length enemies - 1
, enemyCollisions

View File

@@ -511,8 +511,8 @@ struct
val ww = Constants.worldWidth
val wh = Constants.worldHeight
val enemyCollisions = QuadTree.getCollisions
(x, y, size, size, 0, 0, ww, wh, 0, enemyTree)
val enemyCollisions = QuadTree.getCollisions
(x, y, size, size, 0, 0, ww, wh, 0, enemyTree)
in
Vector.fromList enemyCollisions
end