You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
575 B
GDScript

2 years ago
extends Node3D
class_name EffectBase
2 years ago
@export var lifetime: float = 1
var lifetime_now: float
var is_pause: bool = false
var rate: float
2 years ago
func _ready():
lifetime_now = lifetime
2 years ago
on_ready()
2 years ago
func _process(delta) -> void:
2 years ago
if is_pause:
return
lifetime_now -= delta
if lifetime_now <= 0:
2 years ago
queue_free()
return
rate = lifetime_now / lifetime
2 years ago
on_process(delta)
2 years ago
return
2 years ago
2 years ago
func set_pause(is_pause_set: bool):
2 years ago
is_pause = is_pause_set
on_set_pause(is_pause_set)
2 years ago
func on_ready(): pass
func on_process(delta: float): pass
func on_set_pause(is_pause_set: bool): pass