Files
przygody-pana-cegly/scripts/components/invulnerability_component.gd

30 lines
560 B
GDScript

class_name InvulnerabilityComponent
extends Node
@export var duration: float = 1.0
@export var flashing_component: FlashingComponent
var invulnerable: bool = false
func activate() -> void:
if invulnerable:
return
invulnerable = true
if flashing_component:
flashing_component.start_flashing()
var timer = get_tree().create_timer(duration)
timer.timeout.connect(deactivate)
func deactivate() -> void:
invulnerable = false
if flashing_component:
flashing_component.stop_flashing()
func is_invulnerable() -> bool:
return invulnerable