22 lines
488 B
GDScript
22 lines
488 B
GDScript
class_name BaseEffect
|
|
extends Resource
|
|
|
|
@export var duration: float = 0.5
|
|
|
|
var _elapsed: float = 0.0
|
|
|
|
# Called when the effect is applied
|
|
func start(target: Node) -> void:
|
|
_elapsed = 0.0
|
|
|
|
# Called every frame (if needed)
|
|
func process(delta: float, target: Node) -> void:
|
|
_elapsed += delta
|
|
|
|
# Clean up any changes to the target
|
|
func stop(target: Node) -> void:
|
|
pass
|
|
|
|
# Returns true when the effect has run its course
|
|
func is_finished() -> bool:
|
|
return _elapsed >= duration
|