1
0
Fork 0
1bit-godot-course/metroidvania/Scenes/Player/PlayerStats.gd

32 lines
811 B
GDScript3
Raw Normal View History

extends Resource
class_name PlayerStats
var max_health = 4
var health = max_health setget set_health
2021-05-18 19:05:50 +00:00
var missiles_unlocked = false setget set_missiles_unlocked
2021-05-18 18:43:07 +00:00
var max_missiles = 3
2021-05-22 16:43:03 +00:00
var missiles = 0 setget set_missiles
2021-02-04 19:04:56 +00:00
signal player_health_changed(value)
2021-05-18 19:05:50 +00:00
signal player_missiles_unlocked(value)
2021-05-18 18:43:07 +00:00
signal player_missiles_changed(value)
signal player_died
func set_health(value):
2021-02-04 18:53:22 +00:00
if value < health:
Events.emit_signal("add_screenshake", 0.5, 0.5)
health = clamp(value, 0, max_health)
2021-02-04 19:04:56 +00:00
emit_signal("player_health_changed", health)
if health == 0:
emit_signal("player_died")
2021-05-18 18:43:07 +00:00
func set_missiles(value):
missiles = clamp(value, 0, max_missiles)
emit_signal("player_missiles_changed", missiles)
2021-05-18 19:05:50 +00:00
func set_missiles_unlocked(value):
missiles_unlocked = value
emit_signal("player_missiles_unlocked", value)