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
		
	
	
		
			623 B
		
	
	
	
		
			GDScript
		
	
			
		
		
	
	
			40 lines
		
	
	
		
			623 B
		
	
	
	
		
			GDScript
		
	
| extends Node3D
 | |
| class_name EffectBase
 | |
| 
 | |
| @export var lifetime: float = 1
 | |
| 
 | |
| var lifetime_now: float
 | |
| var is_pause: bool = false
 | |
| var rate: float
 | |
| 
 | |
| 
 | |
| func _ready():
 | |
|     lifetime_now = lifetime
 | |
|     on_ready()
 | |
| 
 | |
| 
 | |
| func _process(delta) -> void:
 | |
|     if is_pause:
 | |
|         return
 | |
|     lifetime_now -= delta
 | |
|     if lifetime_now <= 0:
 | |
|         queue_free()
 | |
|         return
 | |
|     rate = lifetime_now / lifetime
 | |
|     on_process(delta)
 | |
|     return
 | |
| 
 | |
| 
 | |
| func set_pause(is_pause_set: bool):
 | |
|     is_pause = is_pause_set
 | |
|     on_set_pause(is_pause_set)
 | |
| 
 | |
| 
 | |
| func on_ready(): pass
 | |
| 
 | |
| 
 | |
| func on_process(delta: float): pass
 | |
| 
 | |
| 
 | |
| func on_set_pause(is_pause_set: bool): pass
 |