27 lines
587 B
GDScript
27 lines
587 B
GDScript
class_name StaminaComponent
|
|
extends Node
|
|
|
|
export var max_stamina: int = 0
|
|
onready var stamina :int = max_stamina
|
|
|
|
|
|
signal stamina_depleted()
|
|
|
|
func reduce_stamina(_amount :int):
|
|
if _amount < 0:
|
|
push_error("ERROR: Only positive numbers in stamina component functions.")
|
|
stamina -= _amount
|
|
|
|
if stamina <= 0:
|
|
emit_signal("stamina_depleted")
|
|
stamina = 0
|
|
|
|
func recover(recover_amount :int):
|
|
if recover_amount < 0:
|
|
push_error("ERROR: Only positive numbers in stamina component functions.")
|
|
return
|
|
stamina += recover_amount
|
|
|
|
if stamina > max_stamina:
|
|
stamina = max_stamina
|