add falling_enemies type to game (these enemies can be picked up and thrown), and thread fallingEnemies through enemy.sml to set up scaffolding for them

This commit is contained in:
2025-02-08 09:20:10 +00:00
parent 1c105193e2
commit 38640b14a2
4 changed files with 69 additions and 20 deletions

View File

@@ -2,8 +2,16 @@ structure GameUpdate =
struct
fun update (game, input) =
let
val {player, walls, wallTree, platforms, platformTree, enemies, graph} =
game
val
{ player
, walls
, wallTree
, platforms
, platformTree
, enemies
, graph
, fallingEnemies
} = game
val enemyTree = Enemy.generateTree enemies
val player = Player.runPhysicsAndInput (game, input, enemyTree)
@@ -11,7 +19,7 @@ struct
val projectiles = #projectiles player
val projectileTree = Projectile.generateTree projectiles
val enemies = Enemy.updateEnemyList
val (enemies, newFallingEnemies) = Enemy.updateEnemyList
( Vector.length enemies - 1
, enemies
, projectiles
@@ -23,7 +31,10 @@ struct
, player
, graph
, []
, []
)
val fallingEnemies = Vector.fromList newFallingEnemies
in
{ player = player
, walls = walls
@@ -32,6 +43,7 @@ struct
, platformTree = platformTree
, enemies = enemies
, graph = graph
, fallingEnemies = fallingEnemies
}
end
end