finished pipe game

This commit is contained in:
SlightlyObscure 2020-01-02 01:59:35 +01:00
parent 5b6fe3e2c8
commit 0688ba411a
9 changed files with 77 additions and 64 deletions

View File

@ -12,12 +12,12 @@
[sub_resource type="CubeMesh" id=2] [sub_resource type="CubeMesh" id=2]
[sub_resource type="CubeMesh" id=8] [sub_resource type="CubeMesh" id=3]
[sub_resource type="SpatialMaterial" id=9] [sub_resource type="SpatialMaterial" id=4]
albedo_color = Color( 0.4, 0.4, 0.4, 1 ) albedo_color = Color( 0.4, 0.4, 0.4, 1 )
[sub_resource type="CubeMesh" id=10] [sub_resource type="CubeMesh" id=5]
[node name="PipeGame" type="StaticBody"] [node name="PipeGame" type="StaticBody"]
collision_layer = 7 collision_layer = 7
@ -25,8 +25,8 @@ collision_mask = 7
script = ExtResource( 1 ) script = ExtResource( 1 )
col1 = Color( 1, 1, 1, 1 ) col1 = Color( 1, 1, 1, 1 )
col2 = Color( 0.101961, 0.101961, 0.101961, 1 ) col2 = Color( 0.101961, 0.101961, 0.101961, 1 )
col3 = Color( 0.00784314, 0.792157, 0, 1 ) col3 = Color( 0, 0.792157, 0, 1 )
col4 = Color( 0, 0.0627451, 1, 1 ) col4 = Color( 0, 0, 1, 1 )
col5 = Color( 1, 0, 0, 1 ) col5 = Color( 1, 0, 0, 1 )
[node name="CollisionShape" type="CollisionShape" parent="."] [node name="CollisionShape" type="CollisionShape" parent="."]
@ -67,8 +67,8 @@ content_color = Color( 1, 0, 0, 1 )
[node name="Output1" type="MeshInstance" parent="IO Boxes"] [node name="Output1" type="MeshInstance" parent="IO Boxes"]
transform = Transform( 0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0.85, 0.75, -0.8 ) transform = Transform( 0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0.85, 0.75, -0.8 )
layers = 3 layers = 3
mesh = SubResource( 8 ) mesh = SubResource( 3 )
material/0 = SubResource( 9 ) material/0 = SubResource( 4 )
[node name="ExitCast" type="RayCast" parent="IO Boxes/Output1"] [node name="ExitCast" type="RayCast" parent="IO Boxes/Output1"]
transform = Transform( -4.37114e-008, 1, 0, -1, -4.37114e-008, 0, 0, 0, 1, -1.00011, 0.341612, -0.167214 ) transform = Transform( -4.37114e-008, 1, 0, -1, -4.37114e-008, 0, 0, 0, 1, -1.00011, 0.341612, -0.167214 )
@ -79,8 +79,8 @@ collision_mask = 3
[node name="Output2" type="MeshInstance" parent="IO Boxes"] [node name="Output2" type="MeshInstance" parent="IO Boxes"]
transform = Transform( 0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0.85, 0.75, 0 ) transform = Transform( 0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0.85, 0.75, 0 )
layers = 3 layers = 3
mesh = SubResource( 8 ) mesh = SubResource( 3 )
material/0 = SubResource( 9 ) material/0 = SubResource( 4 )
[node name="ExitCast" type="RayCast" parent="IO Boxes/Output2"] [node name="ExitCast" type="RayCast" parent="IO Boxes/Output2"]
transform = Transform( -4.37114e-008, 1, 0, -1, -4.37114e-008, 0, 0, 0, 1, -1.00011, 0.341612, 0.0168505 ) transform = Transform( -4.37114e-008, 1, 0, -1, -4.37114e-008, 0, 0, 0, 1, -1.00011, 0.341612, 0.0168505 )
@ -91,8 +91,8 @@ collision_mask = 3
[node name="Output3" type="MeshInstance" parent="IO Boxes"] [node name="Output3" type="MeshInstance" parent="IO Boxes"]
transform = Transform( 0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0.85, 0.75, 0.8 ) transform = Transform( 0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0.85, 0.75, 0.8 )
layers = 3 layers = 3
mesh = SubResource( 8 ) mesh = SubResource( 3 )
material/0 = SubResource( 9 ) material/0 = SubResource( 4 )
[node name="ExitCast" type="RayCast" parent="IO Boxes/Output3"] [node name="ExitCast" type="RayCast" parent="IO Boxes/Output3"]
transform = Transform( -4.37114e-008, 1, 0, -1, -4.37114e-008, 0, 0, 0, 1, -0.922591, 0.341612, 0.145537 ) transform = Transform( -4.37114e-008, 1, 0, -1, -4.37114e-008, 0, 0, 0, 1, -0.922591, 0.341612, 0.145537 )
@ -140,8 +140,7 @@ transform = Transform( 1.91069e-015, 4.37114e-008, 1, 1, -4.37114e-008, 0, 4.371
x_rot = 90 x_rot = 90
[node name="Pipe7_1" parent="Pipes" instance=ExtResource( 5 )] [node name="Pipe7_1" parent="Pipes" instance=ExtResource( 5 )]
editor/display_folded = true transform = Transform( 1, 0, 0, 0, -4.37114e-008, 1, 0, -1, -4.37114e-008, -1.55, 1.65, 0 )
transform = Transform( -1, -8.74228e-008, 0, 8.74228e-008, -1, 0, 0, 0, 1, -1.55, 1.65, 0 )
mesh_path = NodePath("../Pipe7_1/Mesh") mesh_path = NodePath("../Pipe7_1/Mesh")
color_cast_left = NodePath("../Pipe7_1/ColorCast") color_cast_left = NodePath("../Pipe7_1/ColorCast")
@ -185,7 +184,6 @@ mesh_path = NodePath("../Pipe13_1/Mesh")
color_cast_left = NodePath("../Pipe13_1/ColorCast") color_cast_left = NodePath("../Pipe13_1/ColorCast")
[node name="Pipe14_1" parent="Pipes" instance=ExtResource( 5 )] [node name="Pipe14_1" parent="Pipes" instance=ExtResource( 5 )]
editor/display_folded = true
transform = Transform( 1.91069e-015, -4.37114e-008, 1, -1, -4.37114e-008, 0, 4.37114e-008, -1, -4.37114e-008, -1.15, 1.25, 1.2 ) transform = Transform( 1.91069e-015, -4.37114e-008, 1, -1, -4.37114e-008, 0, 4.37114e-008, -1, -4.37114e-008, -1.15, 1.25, 1.2 )
mesh_path = NodePath("../Pipe14_1/Mesh") mesh_path = NodePath("../Pipe14_1/Mesh")
color_cast_left = NodePath("../Pipe14_1/ColorCast") color_cast_left = NodePath("../Pipe14_1/ColorCast")
@ -200,27 +198,24 @@ transform = Transform( 1.91069e-015, -4.37114e-008, 1, -1, -4.37114e-008, 0, 4.3
x_rot = -90 x_rot = -90
[node name="Pipe16_1" parent="Pipes" instance=ExtResource( 5 )] [node name="Pipe16_1" parent="Pipes" instance=ExtResource( 5 )]
editor/display_folded = true transform = Transform( -4.37114e-008, 1, 4.37114e-008, 0, -4.37114e-008, 1, 1, 4.37114e-008, 1.91069e-015, -0.75, 1.65, 0.8 )
transform = Transform( 4.37114e-008, -3.82137e-015, -1, -8.74228e-008, -1, 0, -1, 8.74228e-008, -4.37114e-008, -0.75, 1.65, 0.8 )
mesh_path = NodePath("../Pipe16_1/Mesh") mesh_path = NodePath("../Pipe16_1/Mesh")
color_cast_left = NodePath("../Pipe16_1/ColorCast") color_cast_left = NodePath("../Pipe16_1/ColorCast")
[node name="Pipe17_1" parent="Pipes" instance=ExtResource( 3 )] [node name="Pipe17_1" parent="Pipes" instance=ExtResource( 3 )]
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -0.35, 1.65, 0.8 ) transform = Transform( 4.37114e-008, -3.82137e-015, 1, -8.74228e-008, -1, 0, 1, -8.74228e-008, -4.37114e-008, -0.35, 1.65, 0.8 )
mesh_path = NodePath("../Pipe17_1/Mesh") mesh_path = NodePath("../Pipe17_1/Mesh")
color_cast_left = NodePath("../Pipe17_1/ColorCast") color_cast_left = NodePath("../Pipe17_1/ColorCast")
[node name="Pipe18_1" parent="Pipes" instance=ExtResource( 5 )] [node name="Pipe18_1" parent="Pipes" instance=ExtResource( 5 )]
editor/display_folded = true
transform = Transform( -4.37114e-008, -1, -4.37114e-008, 0, -4.37114e-008, 1, -1, 4.37114e-008, 1.91069e-015, -1.55, 1.65, 0.8 ) transform = Transform( -4.37114e-008, -1, -4.37114e-008, 0, -4.37114e-008, 1, -1, 4.37114e-008, 1.91069e-015, -1.55, 1.65, 0.8 )
mesh_path = NodePath("../Pipe18_1/Mesh") mesh_path = NodePath("../Pipe18_1/Mesh")
color_cast_left = NodePath("../Pipe18_1/ColorCast") color_cast_left = NodePath("../Pipe18_1/ColorCast")
[node name="Pipe19_1" parent="Pipes" instance=ExtResource( 5 )] [node name="Pipe19_1" parent="Pipes" instance=ExtResource( 5 )]
editor/display_folded = true
transform = Transform( 1.91069e-015, 4.37114e-008, -1, 1, -4.37114e-008, 0, -4.37114e-008, -1, -4.37114e-008, -1.95, 1.65, 0.8 ) transform = Transform( 1.91069e-015, 4.37114e-008, -1, 1, -4.37114e-008, 0, -4.37114e-008, -1, -4.37114e-008, -1.95, 1.65, 0.8 )
mesh_path = NodePath("../Pipe19_1/Mesh") mesh_path = NodePath("../Pipe19_1/Mesh")
color_cast_left = NodePath("../../Pipe46/ColorCast") color_cast_left = NodePath("../Pipe19_1/ColorCast")
[node name="Pipe20_1" parent="Pipes" instance=ExtResource( 6 )] [node name="Pipe20_1" parent="Pipes" instance=ExtResource( 6 )]
transform = Transform( 1, -8.74228e-008, -8.74228e-008, -8.74228e-008, -1, 0, -8.74228e-008, 7.64274e-015, -1, -1.95, 1.65, 0.4 ) transform = Transform( 1, -8.74228e-008, -8.74228e-008, -8.74228e-008, -1, 0, -8.74228e-008, 7.64274e-015, -1, -1.95, 1.65, 0.4 )
@ -233,10 +228,9 @@ mesh_path = NodePath("../Pipe21_1/Mesh")
color_cast_left = NodePath("../Pipe21_1/ColorCast") color_cast_left = NodePath("../Pipe21_1/ColorCast")
[node name="Fork5_1" parent="Pipes" instance=ExtResource( 4 )] [node name="Fork5_1" parent="Pipes" instance=ExtResource( 4 )]
editor/display_folded = true transform = Transform( 1, 8.74228e-008, -8.74228e-008, 8.74228e-008, -1, 0, -8.74228e-008, -7.64274e-015, -1, -1.95, 1.65, -0.4 )
transform = Transform( 1, -8.74228e-008, 8.74228e-008, -8.74228e-008, -1, 0, 8.74228e-008, -7.64274e-015, -1, -1.95, 1.65, -0.4 ) mesh_path = NodePath("../Fork5_1/Mesh")
mesh_path = NodePath("../../Fork1/Mesh") color_cast_left = NodePath("../Fork5_1/ColorCast")
color_cast_left = NodePath("../../Fork1/ColorCast")
z_rot = -90 z_rot = -90
[node name="Pipe22_1" parent="Pipes" instance=ExtResource( 6 )] [node name="Pipe22_1" parent="Pipes" instance=ExtResource( 6 )]
@ -265,13 +259,13 @@ color_cast_left = NodePath("../Pipe25_1/ColorCast")
[node name="Fork7_1" parent="Pipes" instance=ExtResource( 4 )] [node name="Fork7_1" parent="Pipes" instance=ExtResource( 4 )]
transform = Transform( 1.91069e-015, 4.37114e-008, 1, 1, -4.37114e-008, 0, 4.37114e-008, 1, -4.37114e-008, -0.35, 1.25, -0.8 ) transform = Transform( 1.91069e-015, 4.37114e-008, 1, 1, -4.37114e-008, 0, 4.37114e-008, 1, -4.37114e-008, -0.35, 1.25, -0.8 )
mesh_path = NodePath("../../Fork8/Mesh") mesh_path = NodePath("../Fork7_1/Mesh")
color_cast_left = NodePath("../../Fork8/ColorCast") color_cast_left = NodePath("../Fork7_1/ColorCast")
x_rot = 90 x_rot = 90
[node name="Pipe26_1" parent="Pipes" instance=ExtResource( 5 )] [node name="Pipe26_1" parent="Pipes" instance=ExtResource( 5 )]
editor/display_folded = true editor/display_folded = true
transform = Transform( 1, -8.74228e-008, -8.74228e-008, -8.74228e-008, -1, 0, -8.74228e-008, 7.64274e-015, -1, -0.35, 1.65, -0.8 ) transform = Transform( -1, 8.74228e-008, 3.82137e-015, 0, -4.37114e-008, 1, 8.74228e-008, 1, 4.37114e-008, -0.35, 1.65, -0.8 )
mesh_path = NodePath("../Pipe26_1/Mesh") mesh_path = NodePath("../Pipe26_1/Mesh")
color_cast_left = NodePath("../Pipe26_1/ColorCast") color_cast_left = NodePath("../Pipe26_1/ColorCast")
@ -281,21 +275,18 @@ mesh_path = NodePath("../Pipe27_1/Mesh")
color_cast_left = NodePath("../Pipe27_1/ColorCast") color_cast_left = NodePath("../Pipe27_1/ColorCast")
[node name="Pipe28_1" parent="Pipes" instance=ExtResource( 5 )] [node name="Pipe28_1" parent="Pipes" instance=ExtResource( 5 )]
editor/display_folded = true
transform = Transform( -1, 8.74228e-008, 0, -8.74228e-008, -1, 0, 0, 0, 1, -0.35, 1.65, 0 ) transform = Transform( -1, 8.74228e-008, 0, -8.74228e-008, -1, 0, 0, 0, 1, -0.35, 1.65, 0 )
mesh_path = NodePath("../Pipe28_1/Mesh") mesh_path = NodePath("../Pipe28_1/Mesh")
color_cast_left = NodePath("../Pipe28_1/ColorCast") color_cast_left = NodePath("../Pipe28_1/ColorCast")
[node name="Pipe29_1" parent="Pipes" instance=ExtResource( 5 )] [node name="Pipe29_1" parent="Pipes" instance=ExtResource( 5 )]
editor/display_folded = true editor/display_folded = true
transform = Transform( 1.91069e-015, 4.37114e-008, -1, 1, -4.37114e-008, 0, -4.37114e-008, -1, -4.37114e-008, -0.35, 1.25, -0.4 ) transform = Transform( -4.37114e-008, 1, 0, -1, -4.37114e-008, 0, 0, 0, 1, -0.35, 1.25, -0.4 )
mesh_path = NodePath("../Pipe29_1/Mesh") mesh_path = NodePath("../Pipe29_1/Mesh")
color_cast_left = NodePath("../Pipe29_1/ColorCast") color_cast_left = NodePath("../Pipe29_1/ColorCast")
[node name="Fork8_1" parent="Pipes" instance=ExtResource( 4 )] [node name="Fork8_1" parent="Pipes" instance=ExtResource( 4 )]
transform = Transform( 1.91069e-015, -4.37114e-008, 1, -1, -4.37114e-008, 0, 4.37114e-008, -1, -4.37114e-008, 0.05, 1.25, -0.4 ) transform = Transform( 1.91069e-015, -4.37114e-008, 1, -1, -4.37114e-008, 0, 4.37114e-008, -1, -4.37114e-008, 0.05, 1.25, -0.4 )
mesh_path = NodePath("../../Fork9/Mesh")
color_cast_left = NodePath("../../Fork9/ColorCast")
x_rot = -90 x_rot = -90
[node name="Pipe30_1" parent="Pipes" instance=ExtResource( 5 )] [node name="Pipe30_1" parent="Pipes" instance=ExtResource( 5 )]
@ -305,8 +296,7 @@ mesh_path = NodePath("../Pipe30_1/Mesh")
color_cast_left = NodePath("../Pipe30_1/ColorCast") color_cast_left = NodePath("../Pipe30_1/ColorCast")
[node name="Pipe31_1" parent="Pipes" instance=ExtResource( 5 )] [node name="Pipe31_1" parent="Pipes" instance=ExtResource( 5 )]
editor/display_folded = true transform = Transform( -1, 8.74228e-008, 3.82137e-015, 0, -4.37114e-008, 1, 8.74228e-008, 1, 4.37114e-008, 0.05, 1.65, -0.4 )
transform = Transform( 1, -8.74228e-008, -8.74228e-008, -8.74228e-008, -1, 0, -8.74228e-008, 7.64274e-015, -1, 0.05, 1.65, -0.4 )
mesh_path = NodePath("../Pipe31_1/Mesh") mesh_path = NodePath("../Pipe31_1/Mesh")
color_cast_left = NodePath("../Pipe31_1/ColorCast") color_cast_left = NodePath("../Pipe31_1/ColorCast")
@ -337,7 +327,6 @@ mesh_path = NodePath("../Pipe36_1/Mesh")
color_cast_left = NodePath("../Pipe36_1/ColorCastLeft") color_cast_left = NodePath("../Pipe36_1/ColorCastLeft")
[node name="Pipe37_1" parent="Pipes" instance=ExtResource( 5 )] [node name="Pipe37_1" parent="Pipes" instance=ExtResource( 5 )]
editor/display_folded = true
transform = Transform( 4.37114e-008, 1, -8.74228e-008, 1, -4.37114e-008, 0, -3.82137e-015, -8.74228e-008, -1, -1.55, 1.65, -0.8 ) transform = Transform( 4.37114e-008, 1, -8.74228e-008, 1, -4.37114e-008, 0, -3.82137e-015, -8.74228e-008, -1, -1.55, 1.65, -0.8 )
mesh_path = NodePath("../Pipe37_1/Mesh") mesh_path = NodePath("../Pipe37_1/Mesh")
color_cast_left = NodePath("../Pipe37_1/ColorCast") color_cast_left = NodePath("../Pipe37_1/ColorCast")
@ -443,14 +432,12 @@ mesh_path = NodePath("../Pipe55_1/Mesh")
color_cast_left = NodePath("../Pipe55_1/ColorCastLeft") color_cast_left = NodePath("../Pipe55_1/ColorCastLeft")
[node name="Pipe56_1" parent="Pipes" instance=ExtResource( 5 )] [node name="Pipe56_1" parent="Pipes" instance=ExtResource( 5 )]
editor/display_folded = true
transform = Transform( 4.37114e-008, 3.82137e-015, 1, 8.74228e-008, -1, 0, 1, 8.74228e-008, -4.37114e-008, 0.45, 1.65, 0.8 ) transform = Transform( 4.37114e-008, 3.82137e-015, 1, 8.74228e-008, -1, 0, 1, 8.74228e-008, -4.37114e-008, 0.45, 1.65, 0.8 )
mesh_path = NodePath("../Pipe56_1/Mesh") mesh_path = NodePath("../Pipe56_1/Mesh")
color_cast_left = NodePath("../Pipe56_1/ColorCast") color_cast_left = NodePath("../Pipe56_1/ColorCast")
[node name="Pipe57_1" parent="Pipes" instance=ExtResource( 5 )] [node name="Pipe57_1" parent="Pipes" instance=ExtResource( 5 )]
editor/display_folded = true transform = Transform( -4.37114e-008, 1, -4.37114e-008, 0, -4.37114e-008, -1, -1, -4.37114e-008, 1.91069e-015, 0.45, 1.25, 0.8 )
transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, 0.45, 1.25, 0.8 )
mesh_path = NodePath("../Pipe57_1/Mesh") mesh_path = NodePath("../Pipe57_1/Mesh")
color_cast_left = NodePath("../Pipe57_1/ColorCast") color_cast_left = NodePath("../Pipe57_1/ColorCast")
@ -463,17 +450,17 @@ is_machine_start = true
[node name="Light1" type="MeshInstance" parent="Lights"] [node name="Light1" type="MeshInstance" parent="Lights"]
transform = Transform( 0.05, 0, 0, 0, 0.05, 0, 0, 0, 0.05, 2.2, 1.1, -0.5 ) transform = Transform( 0.05, 0, 0, 0, 0.05, 0, 0, 0, 0.05, 2.2, 1.1, -0.5 )
layers = 3 layers = 3
mesh = SubResource( 10 ) mesh = SubResource( 5 )
material/0 = null material/0 = null
[node name="Light2" type="MeshInstance" parent="Lights"] [node name="Light2" type="MeshInstance" parent="Lights"]
transform = Transform( 0.05, 0, 0, 0, 0.05, 0, 0, 0, 0.05, 2.35, 1.1, -0.5 ) transform = Transform( 0.05, 0, 0, 0, 0.05, 0, 0, 0, 0.05, 2.35, 1.1, -0.5 )
layers = 3 layers = 3
mesh = SubResource( 10 ) mesh = SubResource( 5 )
material/0 = null material/0 = null
[node name="Light3" type="MeshInstance" parent="Lights"] [node name="Light3" type="MeshInstance" parent="Lights"]
transform = Transform( 0.05, 0, 0, 0, 0.05, 0, 0, 0, 0.05, 2.5, 1.1, -0.5 ) transform = Transform( 0.05, 0, 0, 0, 0.05, 0, 0, 0, 0.05, 2.5, 1.1, -0.5 )
layers = 3 layers = 3
mesh = SubResource( 10 ) mesh = SubResource( 5 )
material/0 = null material/0 = null

View File

@ -55,7 +55,7 @@ func _update_pipe_colors():
var pipes = get_tree().get_nodes_in_group("Pipes") var pipes = get_tree().get_nodes_in_group("Pipes")
for p in pipes: for p in pipes:
p.update_content_color() p.update_content_color(_all_colors)
if _is_running and not _exit_box_num == null: if _is_running and not _exit_box_num == null:
print(_exit_box_num) print(_exit_box_num)
@ -63,7 +63,9 @@ func _update_pipe_colors():
if collider.is_in_group("Pipes"): if collider.is_in_group("Pipes"):
var new_color = collider.content_color var new_color = collider.content_color
if new_color != null: if new_color != null:
if new_color == _req_exit_color: print(new_color)
print(_req_exit_color)
if _col_compare(new_color, _req_exit_color):
_lever.blocked = false _lever.blocked = false
_lever.flick() _lever.flick()
_is_running = false _is_running = false
@ -72,6 +74,17 @@ func _update_pipe_colors():
func _col_compare(var col1, var col2):
if col1.r < col2.r - 0.001 or col1.r > col2.r + 0.001:
return false
elif col1.g < col2.g - 0.001 or col1.g > col2.g + 0.001:
pass
elif col1.b < col2.b - 0.001 or col1.b > col2.b + 0.001:
pass
else:
return true
func _setup_next_combo(): func _setup_next_combo():
_reset_out_boxes() _reset_out_boxes()
_out_colors.clear() _out_colors.clear()
@ -109,6 +122,7 @@ func _set_exit_colors(var box_path):
_req_exit_color += material2.albedo_color / 3 _req_exit_color += material2.albedo_color / 3
counter+=1 counter+=1
_req_exit_color.a = 1
func _reset_out_boxes(): func _reset_out_boxes():

View File

@ -61,7 +61,7 @@ transform = Transform( 0.1, 0, 0, 0, 0.14, 0, 0, 0, 0.14, 0, 0.05, -0.05 )
shape = SubResource( 3 ) shape = SubResource( 3 )
[node name="ColorCast" type="RayCast" parent="."] [node name="ColorCast" type="RayCast" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.2 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.18599 )
enabled = true enabled = true
cast_to = Vector3( 0, 0, -0.075 ) cast_to = Vector3( 0, 0, -0.075 )
collision_mask = 7 collision_mask = 7

View File

@ -38,8 +38,8 @@ surfaces/0 = {
[node name="Spatial" type="StaticBody" groups=[ [node name="Spatial" type="StaticBody" groups=[
"Pipes", "Pipes",
"PipeForks",
"Touchables", "Touchables",
"PipeForks",
]] ]]
collision_layer = 7 collision_layer = 7
collision_mask = 7 collision_mask = 7
@ -65,7 +65,7 @@ transform = Transform( 0.1, 0, 0, 0, 0.14, 0, 0, 0, 0.14, 0, 0.05, -0.05 )
shape = SubResource( 3 ) shape = SubResource( 3 )
[node name="ColorCast" type="RayCast" parent="."] [node name="ColorCast" type="RayCast" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.2 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.181783 )
enabled = true enabled = true
cast_to = Vector3( 0, 0, -0.075 ) cast_to = Vector3( 0, 0, -0.075 )
collision_mask = 7 collision_mask = 7

View File

@ -23,7 +23,7 @@ func load_content_color():
_mesh.material_override = material _mesh.material_override = material
material.albedo_color = content_color material.albedo_color = content_color
func update_content_color(): func update_content_color(var unused):
if lever.is_on: if lever.is_on:
_col_shape.disabled = false _col_shape.disabled = false
else: else:

View File

@ -12,6 +12,7 @@ export(int) var z_rot
export(Color) var content_color export(Color) var content_color
onready var outline = get_node("Mesh/Outline") as MeshInstance onready var outline = get_node("Mesh/Outline") as MeshInstance
onready var fork_material = preload("res://Materials/Pipe_Dream.tres")
# signals # signals
signal flow_changed signal flow_changed
@ -46,17 +47,30 @@ func do_interact(var player):
is_turned = true is_turned = true
emit_signal("flow_changed") emit_signal("flow_changed")
func _get_color_from_cast(ray_cast : RayCast): func _get_color_from_cast(ray_cast : RayCast):
if ray_cast.is_colliding(): if ray_cast.is_colliding():
if get_name() == "Pipe29":
print("TTTTEEEEEEEEEESSSSSSSSSTTTTTTTTTTT")
var collider = ray_cast.get_collider() var collider = ray_cast.get_collider()
if collider.is_in_group("Pipes"): if collider.is_in_group("Pipes"):
var new_color = collider.content_color var new_color = collider.content_color
if new_color != null: if new_color != null:
return new_color return new_color
func update_content_color():
func _blend_colors(var col1, var col2, var _all_colors: Array):
var cols_of_1 = 2.0
var cols_of_2 = 2.0
for c in _all_colors:
if col1 == c:
cols_of_1 = 1.0
elif col2 == c:
cols_of_2 = 1.0
var mix_pcent = cols_of_2/(cols_of_1 + cols_of_2)
var mix_col = col1.linear_interpolate(col2, mix_pcent)
return mix_col
func update_content_color(var _all_colors: Array):
_left_color = NULL_COLOR _left_color = NULL_COLOR
_up_color = NULL_COLOR _up_color = NULL_COLOR
@ -65,23 +79,19 @@ func update_content_color():
if new_color != null: if new_color != null:
_left_color = new_color _left_color = new_color
if _up_cast != null: if _up_cast != null:
var new_color = _get_color_from_cast(_up_cast) var new_color2 = _get_color_from_cast(_up_cast)
if new_color != null: if new_color2 != null:
_up_color = new_color _up_color = new_color2
#if(get_name() == "Pipe17"):
#print(get_name())
#print(_left_color)
#print(_up_color)
if _left_color != NULL_COLOR and _up_color != NULL_COLOR: if _left_color != NULL_COLOR and _up_color != NULL_COLOR:
var mix = _left_color var mix = _blend_colors(_left_color, _up_color, _all_colors)
mix.blend(_up_color)
content_color = mix content_color = mix
elif _left_color != NULL_COLOR: elif _left_color != NULL_COLOR:
content_color = _left_color content_color = _left_color
elif _up_color != NULL_COLOR: elif _up_color != NULL_COLOR:
content_color = _up_color content_color = _up_color
else:
content_color = NULL_COLOR
if _mesh != null: if _mesh != null:
var material = _mesh.get_surface_material(0) var material = _mesh.get_surface_material(0)
@ -92,5 +102,7 @@ func update_content_color():
_mesh.material_override = material _mesh.material_override = material
material.albedo_color = content_color material.albedo_color = content_color
else: else:
if not can_turn: if can_turn and content_color == NULL_COLOR:
_mesh.material_override = fork_material
else:
_mesh.material_override = null _mesh.material_override = null

View File

@ -42,6 +42,7 @@ collision_mask = 7
script = ExtResource( 1 ) script = ExtResource( 1 )
mesh_path = NodePath("Mesh") mesh_path = NodePath("Mesh")
color_cast_left = NodePath("ColorCastLeft") color_cast_left = NodePath("ColorCastLeft")
color_cast_up = NodePath("ColorCastUp")
[node name="Mesh" type="MeshInstance" parent="."] [node name="Mesh" type="MeshInstance" parent="."]
transform = Transform( 0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, 0, 0 ) transform = Transform( 0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, 0, 0 )
@ -59,13 +60,13 @@ transform = Transform( 0.1, 0, 0, 0, 0.14, 0, 0, 0, 0.18, 0, 0.05, 0 )
shape = SubResource( 3 ) shape = SubResource( 3 )
[node name="ColorCastLeft" type="RayCast" parent="."] [node name="ColorCastLeft" type="RayCast" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.72529e-009, -0.2 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.72529e-009, -0.175473 )
enabled = true enabled = true
cast_to = Vector3( 0, 0, -0.075 ) cast_to = Vector3( 0, 0, -0.075 )
collision_mask = 7 collision_mask = 7
[node name="ColorCastUp" type="RayCast" parent="."] [node name="ColorCastUp" type="RayCast" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.18045, 0 )
enabled = true enabled = true
cast_to = Vector3( 0, 0.075, 0 ) cast_to = Vector3( 0, 0.075, 0 )
collision_mask = 7 collision_mask = 7

View File

@ -60,7 +60,7 @@ transform = Transform( 0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.18, 0, 0, 0 )
shape = SubResource( 3 ) shape = SubResource( 3 )
[node name="ColorCast" type="RayCast" parent="."] [node name="ColorCast" type="RayCast" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.2 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.180402 )
enabled = true enabled = true
cast_to = Vector3( 0, 0, -0.075 ) cast_to = Vector3( 0, 0, -0.075 )
collision_mask = 7 collision_mask = 7

View File

@ -80,7 +80,6 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0 )
shape = SubResource( 7 ) shape = SubResource( 7 )
[node name="MeldewesenNavigator" parent="." instance=ExtResource( 2 )] [node name="MeldewesenNavigator" parent="." instance=ExtResource( 2 )]
editor/display_folded = true
speed = 3.0 speed = 3.0
body_nodepath = NodePath("../MeldewesenNavigator/Meldewesen") body_nodepath = NodePath("../MeldewesenNavigator/Meldewesen")