mirror of
				https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
				synced 2025-11-04 08:35:41 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			36 lines
		
	
	
		
			942 B
		
	
	
	
		
			GDScript
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			942 B
		
	
	
	
		
			GDScript
		
	
	
	
	
	
class_name TimerSprite
 | 
						|
extends Sprite2D
 | 
						|
 | 
						|
@export var max_value := 1.0
 | 
						|
@export var value_name := ""
 | 
						|
 | 
						|
@export_enum("Global", "Player", "Timer") var object := 0
 | 
						|
@export var timer: Timer = null
 | 
						|
 | 
						|
@export var warn_sfx: AudioStreamPlayer = null
 | 
						|
 | 
						|
@export var warn_threshold := 0.7
 | 
						|
 | 
						|
var can_warn := false
 | 
						|
 | 
						|
func _ready() -> void:
 | 
						|
	texture = ResourceSetter.get_resource(texture, self)
 | 
						|
 | 
						|
func _process(_delta: float) -> void:
 | 
						|
	var node = owner if object == 1 else Global
 | 
						|
	if object == 2:
 | 
						|
		node = timer
 | 
						|
	var value = node.get(value_name)
 | 
						|
	var percent = inverse_lerp(max_value, 0, value)
 | 
						|
	percent = clamp(percent, 0, 1)
 | 
						|
	get_parent().visible = percent < 1 and Settings.file.visuals.visible_timers
 | 
						|
	frame = lerp(0, 6, percent)
 | 
						|
	if percent >= warn_threshold and Settings.file.audio.extra_sfx == 1:
 | 
						|
		if node is Timer:
 | 
						|
			if node.is_stopped(): return
 | 
						|
		if can_warn:
 | 
						|
			can_warn = false
 | 
						|
			AudioManager.play_global_sfx("timer_warning")
 | 
						|
	else:
 | 
						|
		can_warn = true
 |