remove enemyTree (quad tree holding enemies) from game type as this is not static geometry and, since enemies are moving every frame, this should also be regenerated on every frame

This commit is contained in:
2025-01-11 22:06:08 +00:00
parent 8498eacde2
commit 49282887e3
3 changed files with 4 additions and 9 deletions

View File

@@ -70,7 +70,6 @@ sig
, platforms: platform vector
, platformTree: QuadTree.t
, enemies: enemy vector
, enemyTree: QuadTree.t
}
val initial: game_type
@@ -149,7 +148,6 @@ struct
, platforms: platform vector
, platformTree: QuadTree.t
, enemies: enemy vector
, enemyTree: QuadTree.t
}
val initial: game_type =
@@ -185,7 +183,6 @@ struct
val enemy2 = {id = 2, x = 555, y = 945, health = 5}
val enemy3 = {id = 3, x = 979, y = 945, health = 5}
val enemies = Vector.fromList [enemy1, enemy2, enemy3]
val enemyTree = Enemy.generateTree enemies
in
{ player = player
, walls = walls
@@ -193,7 +190,6 @@ struct
, platforms = platforms
, platformTree = platformTree
, enemies = enemies
, enemyTree = enemyTree
}
end
end

View File

@@ -2,16 +2,16 @@ structure GameUpdate =
struct
fun update (game, input) =
let
val {player, walls, wallTree, platforms, platformTree, enemies, enemyTree} =
game
val {player, walls, wallTree, platforms, platformTree, enemies} = game
val player = Player.runPhysicsAndInput (game, input)
val enemyTree = Enemy.generateTree enemies
(* check player-enemy collisions and react *)
val (player, enemies, enemyTree) =
PlayerEnemy.checkCollisions
(player, enemies, enemyTree, #projectiles player)
in
{ player = player
, walls = walls
@@ -19,7 +19,6 @@ struct
, platforms = platforms
, platformTree = platformTree
, enemies = enemies
, enemyTree = enemyTree
}
end
end

View File

@@ -422,7 +422,7 @@ struct
(* only checks for collisions with environment (walls and platforms) *)
fun getEnvironmentPatches (player, game) =
let
val {walls, wallTree, platformTree, platforms, enemyTree, enemies, ...} =
val {walls, wallTree, platformTree, platforms, enemies, ...} =
game
val {x, y, attacked, mainAttack, ...} = player