partial refactoring so we use EnemyMap.t for collection of enemies

This commit is contained in:
2025-02-13 13:36:30 +00:00
parent 265c8db88a
commit c5cea8dcb3
8 changed files with 129 additions and 40 deletions

View File

@@ -13,32 +13,38 @@ struct
, fallingEnemies
} = game
val enemyTree = Enemy.generateTree enemies
val enemyTree = MakeEnemyTree.foldUnordered
( enemies
, ()
, QuadTree.create (Constants.worldWidth, Constants.worldHeight)
)
val player = Player.runPhysicsAndInput (game, input, enemyTree)
val projectiles = #projectiles player
val projectileTree = Projectile.generateTree projectiles
(* update state of falling enemies and possibly filter *)
val fallingEnemies = FallingEnemies.updateList
(Vector.length fallingEnemies - 1, fallingEnemies, player, [])
val (enemies, fallingEnemies) = Enemy.updateEnemyList
( Vector.length enemies - 1
, enemies
, projectiles
, projectileTree
, walls
, wallTree
, platforms
, platformTree
, player
, graph
, []
, fallingEnemies
)
val fallingEnemies = Vector.fromList fallingEnemies
(* update state of falling enemies and possibly filter *)
(* todo: use enemy map
val fallingEnemies = FallingEnemies.updateList
(Vector.length fallingEnemies - 1, fallingEnemies, player, [])
val (enemies, fallingEnemies) = Enemy.updateEnemyList
( Vector.length enemies - 1
, enemies
, projectiles
, projectileTree
, walls
, wallTree
, platforms
, platformTree
, player
, graph
, []
, fallingEnemies
)
val fallingEnemies = Vector.fromList fallingEnemies
*)
in
{ player = player
, walls = walls