diff options
author | nokoe <nokoe@mailbox.org> | 2024-09-27 22:34:19 +0200 |
---|---|---|
committer | nokoe <nokoe@mailbox.org> | 2024-09-27 22:35:35 +0200 |
commit | d18b148be6470a0e91bbfcf30437be70b4ef3b57 (patch) | |
tree | b7daee462a49cde8015ff12310318ce6db33788a /client/map/progress.gd | |
parent | f47aea76992f2e8c465e0bca515010d8ed00cca6 (diff) | |
download | hurrycurry-d18b148be6470a0e91bbfcf30437be70b4ef3b57.tar hurrycurry-d18b148be6470a0e91bbfcf30437be70b4ef3b57.tar.bz2 hurrycurry-d18b148be6470a0e91bbfcf30437be70b4ef3b57.tar.zst |
move progress data and sounds from progress bar to item
Diffstat (limited to 'client/map/progress.gd')
-rw-r--r-- | client/map/progress.gd | 44 |
1 files changed, 3 insertions, 41 deletions
diff --git a/client/map/progress.gd b/client/map/progress.gd index 96edb574..fc31408c 100644 --- a/client/map/progress.gd +++ b/client/map/progress.gd @@ -18,45 +18,7 @@ class_name ProgressBar3D extends MeshInstance3D -const PLAY_RANDOM_SCENE = preload("res://audio/play_random.tscn") - -var beep_node: PlayRandom = PLAY_RANDOM_SCENE.instantiate() -var ding_node: PlayRandom = PLAY_RANDOM_SCENE.instantiate() - -var speed := 0. -var position_ := 0. -var warn := false - -func _ready(): - add_child(beep_node) - add_child(ding_node) - - beep_node.randomize_pitch = false - beep_node.volume_db = -12 - beep_node.setup([load("res://map/tiles/sounds/beep.ogg")]) - - ding_node.randomize_pitch = false - ding_node.volume_db = -12 - ding_node.setup([load("res://map/tiles/sounds/ding.ogg")]) - -func update(new_position: float, new_speed: float, new_warn: bool): - speed = new_speed - position_ = new_position - warn = new_warn - - var mat: ShaderMaterial = get_active_material(0) - mat.set_shader_parameter("progress", position_) - mat.set_shader_parameter("bad", warn) - - # Always play ding sound if item is making progress while warn - if warn and speed > 0.: ding_node.play_random() - -func _process(delta: float): - position_ += delta * speed - var time_remaining = (1 - position_) / speed - - if warn and speed > 0 and time_remaining < 5.: beep_node.start_autoplay() - else: beep_node.stop_autoplay() - +func update(new_position: float, new_warn: bool): var mat: ShaderMaterial = get_active_material(0) - mat.set_shader_parameter("progress", position_) + mat.set_shader_parameter("progress", new_position) + mat.set_shader_parameter("bad", new_warn) |