Invulnerability component

This commit is contained in:
2025-02-09 06:32:21 +01:00
parent 867dde03c7
commit ad973e58a2
3 changed files with 53 additions and 6 deletions

View File

@@ -0,0 +1,30 @@
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