blob: 1bd7549303978c849dfee1896d54cdbbc0b33acd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
extends CharacterBody2D
@export var speed = 50.0
@export var max_health = 40
var _health = max_health
func _process(delta):
get_parent().set_progress(get_parent().get_progress() + speed * delta)
if get_parent().get_progress_ratio() == 1:
queue_free()
func deal_damage(damage):
_health -= damage
if _health <= 0:
queue_free()
else:
_update_color()
func _update_color():
var ratio : float = float(_health) / max_health
var target_color = Color(1, ratio, ratio)
$Sprite2D.modulate = target_color
|