diff options
Diffstat (limited to 'client/map/tiles')
| -rw-r--r-- | client/map/tiles/cutting_board.gd | 10 | ||||
| -rw-r--r-- | client/map/tiles/cutting_board.tscn | 160 | ||||
| -rw-r--r-- | client/map/tiles/knife.res | bin | 5530 -> 5546 bytes | |||
| -rw-r--r-- | client/map/tiles/knife.tscn | 4 | ||||
| -rw-r--r-- | client/map/tiles/oven.gd | 4 | ||||
| -rw-r--r-- | client/map/tiles/sink.gd | 8 | ||||
| -rw-r--r-- | client/map/tiles/tile.gd | 8 | 
7 files changed, 177 insertions, 17 deletions
diff --git a/client/map/tiles/cutting_board.gd b/client/map/tiles/cutting_board.gd index 3e1b4018..c9291717 100644 --- a/client/map/tiles/cutting_board.gd +++ b/client/map/tiles/cutting_board.gd @@ -16,9 +16,17 @@  class_name CuttingBoard  extends CounterBase +var board = load("res://map/tiles/cutting_board.tscn").instantiate() +  func _init(rename: String, neighbors: Array):  	super(rename, neighbors) -	base.add_child(load("res://map/tiles/cutting_board.tscn").instantiate()) +	base.add_child(board) + +func progress(position_: float, speed: float, warn: bool): +	super(position_, speed, warn) +	var anim: AnimationPlayer = board.get_node("AnimationPlayer") +	if not anim.is_playing(): +		anim.play("cut_loop")  static func interact_target() -> Vector3:  	return Vector3(0., 0.575, 0.) diff --git a/client/map/tiles/cutting_board.tscn b/client/map/tiles/cutting_board.tscn index 3defaba0..517682b7 100644 --- a/client/map/tiles/cutting_board.tscn +++ b/client/map/tiles/cutting_board.tscn @@ -1,14 +1,166 @@ -[gd_scene load_steps=3 format=3 uid="uid://bslx1a7kdufde"] +[gd_scene load_steps=6 format=3 uid="uid://bslx1a7kdufde"]  [ext_resource type="ArrayMesh" uid="uid://dd4g04lgvsly5" path="res://map/tiles/cutting_board.res" id="1_d4k2k"] -[ext_resource type="PackedScene" uid="uid://wadi7kb021k6" path="res://map/tiles/knife.tscn" id="3_wvxni"] +[ext_resource type="PackedScene" uid="uid://cufype1bex3r3" path="res://map/tiles/knife.tscn" id="3_wvxni"] + +[sub_resource type="Animation" id="Animation_ercgy"] +length = 0.001 +tracks/0/type = "bezier" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Knife:rotation:x") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(-1.5708, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} +tracks/1/type = "bezier" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Knife:rotation:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} +tracks/2/type = "bezier" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Knife:rotation:z") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} +tracks/3/type = "bezier" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Knife:position:x") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(0.375, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} +tracks/4/type = "bezier" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("Knife:position:y") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(0.52, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} +tracks/5/type = "bezier" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("Knife:position:z") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(0.19, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} + +[sub_resource type="Animation" id="Animation_vu13j"] +resource_name = "cut_loop" +length = 0.25 +loop_mode = 1 +step = 0.01 +tracks/0/type = "bezier" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Knife:rotation:x") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"handle_modes": PackedInt32Array(0, 0, 0), +"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0, 0, -0.125, 0, 0.125, 0, 0, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0, 0.1, 0.25) +} +tracks/1/type = "bezier" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Knife:rotation:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"handle_modes": PackedInt32Array(0, 0, 0), +"points": PackedFloat32Array(-1.5708, -0.25, 0, 0.25, 0, -1.5708, -0.125, 0, 0.125, 0, -1.5708, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0, 0.1, 0.25) +} +tracks/2/type = "bezier" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Knife:rotation:z") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"handle_modes": PackedInt32Array(0, 0, 0), +"points": PackedFloat32Array(0.785, -0.25, 0, 0.05, 0.0393813, 1.88533, -0.01, -0.696971, 0.03, 0.0774413, 0.855358, -0.07, 0.0542088, 0.1, -0.00774413), +"times": PackedFloat32Array(0, 0.15, 0.25) +} +tracks/3/type = "bezier" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Knife:position:x") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} +tracks/4/type = "bezier" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("Knife:position:y") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(0.75, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} +tracks/5/type = "bezier" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("Knife:position:z") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(0.19, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_fy61n"] +_data = { +"RESET": SubResource("Animation_ercgy"), +"cut_loop": SubResource("Animation_vu13j") +}  [node name="CuttingBoard" type="Node3D"]  [node name="Mesh" type="MeshInstance3D" parent="."] -transform = Transform3D(0.4, 0, 0, 0, 0.5, 0, 0, 0, 0.5, -0.1, 0.5, 0) +transform = Transform3D(0.4, 0, 0, 0, 0.5, 0, 0, 0, 0.5, -0.075, 0.5, 0)  mesh = ExtResource("1_d4k2k")  skeleton = NodePath("")  [node name="Knife" parent="." instance=ExtResource("3_wvxni")] -transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0.375, 0.52, 0.19) +transform = Transform3D(1, 0, 0, 0, -3.61999e-06, 1, 0, -1, -3.61999e-06, 0.375, 0.52, 0.19) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_fy61n") +} diff --git a/client/map/tiles/knife.res b/client/map/tiles/knife.res Binary files differindex 77e95cc7..622d9eb3 100644 --- a/client/map/tiles/knife.res +++ b/client/map/tiles/knife.res diff --git a/client/map/tiles/knife.tscn b/client/map/tiles/knife.tscn index a4dc676f..a7cd690e 100644 --- a/client/map/tiles/knife.tscn +++ b/client/map/tiles/knife.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=2 format=3 uid="uid://wadi7kb021k6"] +[gd_scene load_steps=2 format=3 uid="uid://cufype1bex3r3"] -[ext_resource type="ArrayMesh" uid="uid://bfsaljqvte3a8" path="res://map/tiles/knife.res" id="1_uotix"] +[ext_resource type="ArrayMesh" uid="uid://buqo28euvn7ru" path="res://map/tiles/knife.res" id="1_uotix"]  [node name="Knife" type="Node3D"] diff --git a/client/map/tiles/oven.gd b/client/map/tiles/oven.gd index 598e0c7e..9ab7fd75 100644 --- a/client/map/tiles/oven.gd +++ b/client/map/tiles/oven.gd @@ -30,6 +30,6 @@ func take_item() -> Item:  	oven.open()  	return super() -func finish(warn: bool): -	super(warn) +func finish(): +	super()  	oven.ding() diff --git a/client/map/tiles/sink.gd b/client/map/tiles/sink.gd index c39a2a2a..e2524041 100644 --- a/client/map/tiles/sink.gd +++ b/client/map/tiles/sink.gd @@ -35,8 +35,8 @@ func _init(rename: String, neighbors: Array):  	stopping.stream = preload("res://map/tiles/sounds/sink_stopping.ogg")  	add_child(stopping) -func progress(p: float, warn: bool): -	super(p, warn) +func progress(position_: float, speed: float, warn: bool): +	super(position_, speed, warn)  	if item is Plate:  		particles.start(true)  	elif item is Glass: @@ -44,8 +44,8 @@ func progress(p: float, warn: bool):  	if not running.playing:  		running.play() -func finish(warn: bool): -	super(warn) +func finish(): +	super()  	particles.stop()  	running.stop()  	stopping.play() diff --git a/client/map/tiles/tile.gd b/client/map/tiles/tile.gd index 70cecfd8..be78883e 100644 --- a/client/map/tiles/tile.gd +++ b/client/map/tiles/tile.gd @@ -57,13 +57,13 @@ static func interact_target() -> Vector3:  func interact():  	pass -func progress(p: float, warn: bool): +func progress(position_: float, speed: float, warn: bool):  	if item != null: -		item.progress(p, warn) +		item.progress(position_, speed, warn) -func finish(warn: bool): +func finish():  	if item != null: -		item.finish(warn) +		item.finish()  func put_item(i: Item):  	if item != null:  |