Files
ScrapFrontier/game/reloaders/firerate_reloader.gd
T
2025-11-21 00:27:08 +03:00

44 lines
642 B
GDScript

extends AbstractReloader
class_name FirerateReloader
@export_range(1, 1500) var firerate : int = 1:
set(value):
firerate = value
_calculate_delay()
var _delay : float
var _delay_tenth : float
var _cooldown : float
func _ready() -> void:
_calculate_delay()
func process(delta: float) -> void:
if _cooldown > 0:
_cooldown -= delta
func can_shoot() -> bool:
return _cooldown <= 0
func shoot() -> void:
_cooldown = _delay
func reload() -> void:
pass
func get_process_percent() -> int:
return 100 - int(_cooldown * 100 / _delay)
func _calculate_delay() -> void:
_delay = 60.0 / firerate
_delay_tenth = _delay / 10