aboutsummaryrefslogtreecommitdiff
path: root/client/map/progress.gd
diff options
context:
space:
mode:
authornokoe <nokoe@mailbox.org>2024-09-27 22:34:19 +0200
committernokoe <nokoe@mailbox.org>2024-09-27 22:35:35 +0200
commitd18b148be6470a0e91bbfcf30437be70b4ef3b57 (patch)
treeb7daee462a49cde8015ff12310318ce6db33788a /client/map/progress.gd
parentf47aea76992f2e8c465e0bca515010d8ed00cca6 (diff)
downloadhurrycurry-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.gd44
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)