Added a loot component
This commit is contained in:
@ -2,6 +2,9 @@ class_name HealthComponent
|
||||
extends Node
|
||||
|
||||
signal value_changed
|
||||
signal death
|
||||
|
||||
const DEATH_THRESHOLD = 0.01
|
||||
|
||||
@export var max_value: float
|
||||
var value: float
|
||||
@ -11,8 +14,8 @@ func _ready():
|
||||
value_changed.emit()
|
||||
|
||||
func take_damage(attack: DamageInstance):
|
||||
value -= attack.damage
|
||||
value = clampf(value - attack.damage, 0, max_value)
|
||||
value_changed.emit()
|
||||
|
||||
if value <= 0:
|
||||
owner.queue_free()
|
||||
if value < DEATH_THRESHOLD:
|
||||
death.emit()
|
||||
|
@ -2,13 +2,14 @@ class_name SkillsComponent
|
||||
extends Node
|
||||
|
||||
var player: Player
|
||||
var area: Area3D
|
||||
|
||||
func _ready():
|
||||
player = owner
|
||||
area = %MeleeArea
|
||||
player.attacked.connect(attack)
|
||||
|
||||
func attack():
|
||||
var area := %MeleeArea as Area3D
|
||||
await get_tree().create_timer(0.5).timeout
|
||||
area.monitoring = true
|
||||
await get_tree().create_timer(0.1).timeout
|
||||
|
Reference in New Issue
Block a user