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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user