use timing information introduced in MAIN_ATTACKING case so that a second attack is required to add a falling enemy to the player's list
This commit is contained in:
@@ -22,7 +22,7 @@ sig
|
||||
, shieldOn: bool
|
||||
}
|
||||
|
||||
type falling_enemy = {x: int, y: int, variant: variant}
|
||||
type falling_enemy = {x: int, y: int, variant: variant, time: Time.time}
|
||||
|
||||
datatype shoot_x_axis = SHOOT_LEFT | SHOOT_RIGHT | NO_SHOOT_X
|
||||
datatype shoot_y_axis = SHOOT_UP | SHOOT_DOWN | NO_SHOOT_Y
|
||||
@@ -52,7 +52,7 @@ struct
|
||||
, shieldOn: bool
|
||||
}
|
||||
|
||||
type falling_enemy = {x: int, y: int, variant: variant}
|
||||
type falling_enemy = {x: int, y: int, variant: variant, time: Time.time}
|
||||
|
||||
datatype shoot_x_axis = SHOOT_LEFT | SHOOT_RIGHT | NO_SHOOT_X
|
||||
datatype shoot_y_axis = SHOOT_UP | SHOOT_DOWN | NO_SHOOT_Y
|
||||
|
||||
@@ -41,7 +41,7 @@ struct
|
||||
|
||||
fun fold (fallingID, fallingEnemy, (), fallingMap) =
|
||||
let
|
||||
val {x, y, variant} = fallingEnemy
|
||||
val {x, y, variant, time} = fallingEnemy
|
||||
val size = Constants.enemySize
|
||||
val ww = Constants.worldWidth
|
||||
val wh = Constants.worldHeight
|
||||
@@ -49,7 +49,11 @@ struct
|
||||
if Collision.isCollidingPlus (x, y, size, size, 0, 0, ww, wh) then
|
||||
let
|
||||
val newFalling =
|
||||
{x = x, y = y - Constants.moveEnemyBy, variant = variant}
|
||||
{ x = x
|
||||
, y = y - Constants.moveEnemyBy
|
||||
, variant = variant
|
||||
, time = time
|
||||
}
|
||||
in
|
||||
FallingEnemyMap.add (fallingID, newFalling, fallingMap)
|
||||
end
|
||||
@@ -81,7 +85,7 @@ struct
|
||||
fun helpGetDrawVec
|
||||
(fallingEnemy, width, height, ratio, xOffset, yOffset, acc) =
|
||||
let
|
||||
val {x, y, variant = _} = fallingEnemy
|
||||
val {x, y, variant = _, time = _} = fallingEnemy
|
||||
|
||||
val x = Real32.fromInt x * ratio + xOffset
|
||||
val y = Real32.fromInt y * ratio + yOffset
|
||||
|
||||
Reference in New Issue
Block a user