basic hp for spawnables

This commit is contained in:
Victor Turgeon
2023-10-10 19:38:24 -04:00
parent 7dbd9f75f1
commit 448dad5331
5 changed files with 92 additions and 9 deletions

View File

@@ -18,6 +18,8 @@ const ATTACK_COOLDOWN : float = 100
@onready var animatedSprite : AnimatedSprite2D = $AnimatedSprite2D
@onready var attackArea : Area2D = $AttackArea
@onready var damageCollision : CollisionShape2D = $DamageArea/DamageCollision
@onready var bodyCollision : CollisionShape2D = $BodyCollision
@onready var spawnableUI : Control = $UIContainer/SpawnableUI
var isAlive : bool = true
var isFacingLeft : bool = false
@@ -30,6 +32,8 @@ var cooldown : float = 0
func _ready():
enemy = get_node("../Enemy")
currentHp = maxHp
spawnableUI.setHP(currentHp, maxHp)
spawnableUI.visible = true
animatedSprite.play("default")
func _process(delta):
@@ -43,12 +47,14 @@ func _process(delta):
if !isFacingLeft && direction.x < 0:
isFacingLeft = true
scale.x = -1
scale.y = 1
attackArea.scale = Vector2(-1,1)
damageCollision.scale = Vector2(-1,1)
animatedSprite.flip_h = isFacingLeft
elif isFacingLeft && direction.x > 0:
isFacingLeft = false
scale.x = -1
scale.y = -1
attackArea.scale = Vector2(1,1)
damageCollision.scale = Vector2(1,1)
animatedSprite.flip_h = isFacingLeft
velocity = direction * speed * delta
move_and_slide()
@@ -83,13 +89,16 @@ func receive_damage(dmg):
if currentHp - dmg <= 0:
currentHp = 0
die()
call_deferred("die")
else :
currentHp -= dmg
spawnableUI.setHP(currentHp, maxHp)
func die():
isAlive = false
bodyCollision.disabled = true
damageCollision.disabled = true
spawnableUI.visible = false
isAlive = false
animatedSprite.stop()
animatedSprite.play("death")
animatedSprite.disconnect("animation_finished", endAttack)