diff options
Diffstat (limited to 'client/map')
-rw-r--r-- | client/map/progress.gd | 2 | ||||
-rw-r--r-- | client/map/tiles/cutting_board.gd | 13 | ||||
-rw-r--r-- | client/map/tiles/oven.gd | 4 | ||||
-rw-r--r-- | client/map/tiles/oven.tscn | 10 | ||||
-rw-r--r-- | client/map/tiles/sounds/chop.ogg | bin | 0 -> 22232 bytes | |||
-rw-r--r-- | client/map/tiles/sounds/chop.ogg.import | 19 | ||||
-rw-r--r-- | client/map/tiles/tile.gd | 2 |
7 files changed, 46 insertions, 4 deletions
diff --git a/client/map/progress.gd b/client/map/progress.gd index 1a8bb3c0..d78c9e66 100644 --- a/client/map/progress.gd +++ b/client/map/progress.gd @@ -47,8 +47,6 @@ func update(new_position: float, new_speed: float, new_warn: bool): var mat: ShaderMaterial = get_active_material(0) mat.set_shader_parameter("progress", position_) mat.set_shader_parameter("bad", warn) - - if warn and speed > 0.: ding_node.play_random() func _process(delta: float): position_ += delta * speed diff --git a/client/map/tiles/cutting_board.gd b/client/map/tiles/cutting_board.gd index e8f8897b..d59372de 100644 --- a/client/map/tiles/cutting_board.gd +++ b/client/map/tiles/cutting_board.gd @@ -17,19 +17,30 @@ class_name CuttingBoard extends CounterBase var board = load("res://map/tiles/cutting_board.tscn").instantiate() +var chopping: AudioStreamPlayer3D = AudioStreamPlayer3D.new() func _init(rename: String, neighbors: Array): super(rename, neighbors) + chopping.stream = preload("res://map/tiles/sounds/chop.ogg") + add_child(chopping) base.add_child(board) func progress(position_: float, speed: float, warn: bool, acting_player): super(position_, speed, warn, acting_player) var knife: Node3D = board.get_node("Knife") knife.visible = speed == 0 - + if acting_player != null: var acting_character: Character = acting_player.character acting_character.cutting = speed != 0 + if not chopping.playing and speed != 0.: + chopping.play() + print(speed) + +func finish(): + super() + chopping.stop() + static func interact_target() -> Vector3: return Vector3(0., 0.575, 0.) diff --git a/client/map/tiles/oven.gd b/client/map/tiles/oven.gd index c5df63f8..9ab7fd75 100644 --- a/client/map/tiles/oven.gd +++ b/client/map/tiles/oven.gd @@ -29,3 +29,7 @@ func put_item(i: Item): func take_item() -> Item: oven.open() return super() + +func finish(): + super() + oven.ding() diff --git a/client/map/tiles/oven.tscn b/client/map/tiles/oven.tscn index d6c2785c..7db9b3c4 100644 --- a/client/map/tiles/oven.tscn +++ b/client/map/tiles/oven.tscn @@ -1,8 +1,10 @@ -[gd_scene load_steps=8 format=3 uid="uid://bil6eip7uwqvs"] +[gd_scene load_steps=10 format=3 uid="uid://bil6eip7uwqvs"] [ext_resource type="Script" path="res://map/tiles/oven_model.gd" id="1_3v43w"] [ext_resource type="ArrayMesh" uid="uid://blc1q50d5ky86" path="res://map/tiles/oven_base.res" id="1_d1hwl"] [ext_resource type="ArrayMesh" uid="uid://blb5oew3sh7ek" path="res://map/tiles/oven_door.res" id="2_i5vso"] +[ext_resource type="PackedScene" uid="uid://bncx0wul2ikrg" path="res://audio/play_random.tscn" id="2_jw4df"] +[ext_resource type="AudioStream" uid="uid://dkwpv708ihh4c" path="res://map/tiles/sounds/ding.ogg" id="3_arthu"] [ext_resource type="Script" path="res://map/auto_setup/light_setup.gd" id="4_hjc80"] [sub_resource type="Animation" id="Animation_yo2v1"] @@ -42,6 +44,12 @@ _data = { [node name="Oven" type="Node3D"] script = ExtResource("1_3v43w") +[node name="Ding" parent="." instance=ExtResource("2_jw4df")] + +[node name="Ding" type="AudioStreamPlayer3D" parent="Ding"] +stream = ExtResource("3_arthu") +volume_db = -3.0 + [node name="Base" type="MeshInstance3D" parent="."] transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0) mesh = ExtResource("1_d1hwl") diff --git a/client/map/tiles/sounds/chop.ogg b/client/map/tiles/sounds/chop.ogg Binary files differnew file mode 100644 index 00000000..d537a330 --- /dev/null +++ b/client/map/tiles/sounds/chop.ogg diff --git a/client/map/tiles/sounds/chop.ogg.import b/client/map/tiles/sounds/chop.ogg.import new file mode 100644 index 00000000..e810856a --- /dev/null +++ b/client/map/tiles/sounds/chop.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://cacduep52yibn" +path="res://.godot/imported/chop.ogg-e2cabb258fe42a1cf48b6867c24ca411.oggvorbisstr" + +[deps] + +source_file="res://map/tiles/sounds/chop.ogg" +dest_files=["res://.godot/imported/chop.ogg-e2cabb258fe42a1cf48b6867c24ca411.oggvorbisstr"] + +[params] + +loop=true +loop_offset=0.0 +bpm=0.0 +beat_count=0 +bar_beats=4 diff --git a/client/map/tiles/tile.gd b/client/map/tiles/tile.gd index 98be64aa..bd507760 100644 --- a/client/map/tiles/tile.gd +++ b/client/map/tiles/tile.gd @@ -60,6 +60,8 @@ func interact(): func progress(position_: float, speed: float, warn: bool, _acting_player): if item != null: item.progress(position_, speed, warn) + if speed == 0.: finish() + func finish(): if item != null: |