Add MultiplayerSyncronizers to stations
This commit is contained in:
+2
-2
@@ -147,8 +147,8 @@ func apply_held_state() -> void:
|
|||||||
and _pickable.collision_mask == 0 \
|
and _pickable.collision_mask == 0 \
|
||||||
and _pickable.enabled == want_enabled:
|
and _pickable.enabled == want_enabled:
|
||||||
return
|
return
|
||||||
if NetworkManager.is_online():
|
# if NetworkManager.is_online(): # This was spamming that Knife was frozen every frame.
|
||||||
print("%s: freezing (non-authority, owner=peer %d)" % [_pickable.name, net_held_by])
|
# print("%s: freezing (non-authority, owner=peer %d)" % [_pickable.name, net_held_by])
|
||||||
_pickable.freeze = true
|
_pickable.freeze = true
|
||||||
_pickable.freeze_mode = RigidBody3D.FREEZE_MODE_KINEMATIC
|
_pickable.freeze_mode = RigidBody3D.FREEZE_MODE_KINEMATIC
|
||||||
_pickable.collision_mask = 0
|
_pickable.collision_mask = 0
|
||||||
|
|||||||
@@ -522,7 +522,8 @@ func _on_player_absent(peer_id: int) -> void:
|
|||||||
# --- Command-line driven test bootstrap -----------------------------------
|
# --- Command-line driven test bootstrap -----------------------------------
|
||||||
|
|
||||||
func _handle_cmdline() -> void:
|
func _handle_cmdline() -> void:
|
||||||
var args := OS.get_cmdline_user_args()
|
print("Networkmanager _handle_cmdline()")
|
||||||
|
var args := OS.get_cmdline_args()
|
||||||
if args.has("--server"):
|
if args.has("--server"):
|
||||||
log_line("cmdline: --server")
|
log_line("cmdline: --server")
|
||||||
host()
|
host()
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=5 format=3]
|
[gd_scene format=3 uid="uid://c58ns7csdahjy"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://Player/net_player.gd" id="1_np001"]
|
[ext_resource type="Script" uid="uid://bncuxh7j7ix5q" path="res://Player/net_player.gd" id="1_np001"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bq86r4yll8po" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_fullglove_low.tscn" id="2_np002"]
|
[ext_resource type="PackedScene" uid="uid://bq86r4yll8po" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_fullglove_low.tscn" id="2_np002"]
|
||||||
[ext_resource type="PackedScene" uid="uid://xqimcf20s2jp" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_fullglove_low.tscn" id="3_np003"]
|
[ext_resource type="PackedScene" uid="uid://xqimcf20s2jp" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_fullglove_low.tscn" id="3_np003"]
|
||||||
|
|
||||||
@@ -28,17 +28,16 @@ properties/5/path = NodePath("RightHand:quaternion")
|
|||||||
properties/5/spawn = false
|
properties/5/spawn = false
|
||||||
properties/5/replication_mode = 1
|
properties/5/replication_mode = 1
|
||||||
|
|
||||||
[node name="NetPlayer" type="Node3D"]
|
[node name="NetPlayer" type="Node3D" unique_id=70287099]
|
||||||
script = ExtResource("1_np001")
|
script = ExtResource("1_np001")
|
||||||
|
|
||||||
[node name="Head" type="MeshInstance3D" parent="."]
|
[node name="Head" type="MeshInstance3D" parent="." unique_id=56588259]
|
||||||
mesh = SubResource("CapsuleMesh_np004")
|
mesh = SubResource("CapsuleMesh_np004")
|
||||||
|
|
||||||
[node name="LeftHand" parent="." instance=ExtResource("2_np002")]
|
[node name="LeftHand" parent="." unique_id=1703673184 instance=ExtResource("2_np002")]
|
||||||
|
|
||||||
[node name="RightHand" parent="." instance=ExtResource("3_np003")]
|
[node name="RightHand" parent="." unique_id=325341465 instance=ExtResource("3_np003")]
|
||||||
|
|
||||||
[node name="Sync" type="MultiplayerSynchronizer" parent="."]
|
[node name="Sync" type="MultiplayerSynchronizer" parent="." unique_id=529459963]
|
||||||
root_path = NodePath("..")
|
|
||||||
replication_config = SubResource("SceneReplicationConfig_np005")
|
|
||||||
replication_interval = 0.033
|
replication_interval = 0.033
|
||||||
|
replication_config = SubResource("SceneReplicationConfig_np005")
|
||||||
|
|||||||
+24
-24
@@ -10,34 +10,34 @@
|
|||||||
[ext_resource type="PackedScene" uid="uid://cqhw276realc" path="res://addons/godot-xr-tools/functions/function_pointer.tscn" id="6_ptr"]
|
[ext_resource type="PackedScene" uid="uid://cqhw276realc" path="res://addons/godot-xr-tools/functions/function_pointer.tscn" id="6_ptr"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bjcxf427un2wp" path="res://addons/godot-xr-tools/player/poke/poke.tscn" id="7_1fmci"]
|
[ext_resource type="PackedScene" uid="uid://bjcxf427un2wp" path="res://addons/godot-xr-tools/player/poke/poke.tscn" id="7_1fmci"]
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_1fmci"]
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ouruy"]
|
||||||
animation = &"Grip"
|
animation = &"Grip"
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_itrmp"]
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_i0gvw"]
|
||||||
animation = &"Grip"
|
animation = &"Grip"
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_nrfrd"]
|
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_5mmou"]
|
||||||
filter_enabled = true
|
filter_enabled = true
|
||||||
filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"]
|
filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"]
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_73fu8"]
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_yfij0"]
|
||||||
animation = &"Grip 5"
|
animation = &"Grip 5"
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_ouruy"]
|
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_2ebvs"]
|
||||||
filter_enabled = true
|
filter_enabled = true
|
||||||
filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"]
|
filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"]
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_i0gvw"]
|
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_l8v2a"]
|
||||||
graph_offset = Vector2(-536, 11)
|
graph_offset = Vector2(-536, 11)
|
||||||
nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_1fmci")
|
nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_ouruy")
|
||||||
nodes/ClosedHand1/position = Vector2(-600, 300)
|
nodes/ClosedHand1/position = Vector2(-600, 300)
|
||||||
nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_itrmp")
|
nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_i0gvw")
|
||||||
nodes/ClosedHand2/position = Vector2(-360, 300)
|
nodes/ClosedHand2/position = Vector2(-360, 300)
|
||||||
nodes/Grip/node = SubResource("AnimationNodeBlend2_nrfrd")
|
nodes/Grip/node = SubResource("AnimationNodeBlend2_5mmou")
|
||||||
nodes/Grip/position = Vector2(0, 20)
|
nodes/Grip/position = Vector2(0, 20)
|
||||||
nodes/OpenHand/node = SubResource("AnimationNodeAnimation_73fu8")
|
nodes/OpenHand/node = SubResource("AnimationNodeAnimation_yfij0")
|
||||||
nodes/OpenHand/position = Vector2(-600, 100)
|
nodes/OpenHand/position = Vector2(-600, 100)
|
||||||
nodes/Trigger/node = SubResource("AnimationNodeBlend2_ouruy")
|
nodes/Trigger/node = SubResource("AnimationNodeBlend2_2ebvs")
|
||||||
nodes/Trigger/position = Vector2(-360, 20)
|
nodes/Trigger/position = Vector2(-360, 20)
|
||||||
node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
|
node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
|
||||||
|
|
||||||
@@ -45,34 +45,34 @@ node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &
|
|||||||
transparency = 1
|
transparency = 1
|
||||||
albedo_color = Color(1, 1, 1, 0.5882353)
|
albedo_color = Color(1, 1, 1, 0.5882353)
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_5mmou"]
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_qpjda"]
|
||||||
animation = &"Grip"
|
animation = &"Grip"
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_yfij0"]
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_37hbl"]
|
||||||
animation = &"Grip"
|
animation = &"Grip"
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_2ebvs"]
|
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_to5tn"]
|
||||||
filter_enabled = true
|
filter_enabled = true
|
||||||
filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"]
|
filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"]
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_l8v2a"]
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_nlnu7"]
|
||||||
animation = &"Grip 5"
|
animation = &"Grip 5"
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_qpjda"]
|
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_we6ah"]
|
||||||
filter_enabled = true
|
filter_enabled = true
|
||||||
filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"]
|
filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"]
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_37hbl"]
|
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_dtgvk"]
|
||||||
graph_offset = Vector2(-552.664, 107.301)
|
graph_offset = Vector2(-552.664, 107.301)
|
||||||
nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_5mmou")
|
nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_qpjda")
|
||||||
nodes/ClosedHand1/position = Vector2(-600, 300)
|
nodes/ClosedHand1/position = Vector2(-600, 300)
|
||||||
nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_yfij0")
|
nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_37hbl")
|
||||||
nodes/ClosedHand2/position = Vector2(-360, 300)
|
nodes/ClosedHand2/position = Vector2(-360, 300)
|
||||||
nodes/Grip/node = SubResource("AnimationNodeBlend2_2ebvs")
|
nodes/Grip/node = SubResource("AnimationNodeBlend2_to5tn")
|
||||||
nodes/Grip/position = Vector2(0, 40)
|
nodes/Grip/position = Vector2(0, 40)
|
||||||
nodes/OpenHand/node = SubResource("AnimationNodeAnimation_l8v2a")
|
nodes/OpenHand/node = SubResource("AnimationNodeAnimation_nlnu7")
|
||||||
nodes/OpenHand/position = Vector2(-600, 100)
|
nodes/OpenHand/position = Vector2(-600, 100)
|
||||||
nodes/Trigger/node = SubResource("AnimationNodeBlend2_qpjda")
|
nodes/Trigger/node = SubResource("AnimationNodeBlend2_we6ah")
|
||||||
nodes/Trigger/position = Vector2(-360, 40)
|
nodes/Trigger/position = Vector2(-360, 40)
|
||||||
node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
|
node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
|
||||||
|
|
||||||
@@ -120,7 +120,7 @@ bone_idx = 9
|
|||||||
[node name="Poke" parent="XRControllerLeftHand/LeftHand/Hand_low_L/Armature/Skeleton3D/BoneAttachment3D" unique_id=259928841 instance=ExtResource("7_1fmci")]
|
[node name="Poke" parent="XRControllerLeftHand/LeftHand/Hand_low_L/Armature/Skeleton3D/BoneAttachment3D" unique_id=259928841 instance=ExtResource("7_1fmci")]
|
||||||
|
|
||||||
[node name="AnimationTree" parent="XRControllerLeftHand/LeftHand" index="1"]
|
[node name="AnimationTree" parent="XRControllerLeftHand/LeftHand" index="1"]
|
||||||
tree_root = SubResource("AnimationNodeBlendTree_i0gvw")
|
tree_root = SubResource("AnimationNodeBlendTree_l8v2a")
|
||||||
|
|
||||||
[node name="MovementDirect" parent="XRControllerLeftHand" unique_id=1865515938 instance=ExtResource("2_q1xvu")]
|
[node name="MovementDirect" parent="XRControllerLeftHand" unique_id=1865515938 instance=ExtResource("2_q1xvu")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.009340696, -0.0074635968, 0.024033919)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.009340696, -0.0074635968, 0.024033919)
|
||||||
@@ -181,7 +181,7 @@ bone_idx = 9
|
|||||||
[node name="Poke" parent="XRControllerRightHand/RightHand/Hand_low_R/Armature/Skeleton3D/BoneAttachment3D" unique_id=303927399 instance=ExtResource("7_1fmci")]
|
[node name="Poke" parent="XRControllerRightHand/RightHand/Hand_low_R/Armature/Skeleton3D/BoneAttachment3D" unique_id=303927399 instance=ExtResource("7_1fmci")]
|
||||||
|
|
||||||
[node name="AnimationTree" parent="XRControllerRightHand/RightHand" index="1"]
|
[node name="AnimationTree" parent="XRControllerRightHand/RightHand" index="1"]
|
||||||
tree_root = SubResource("AnimationNodeBlendTree_37hbl")
|
tree_root = SubResource("AnimationNodeBlendTree_dtgvk")
|
||||||
|
|
||||||
[node name="MovementTurn" parent="XRControllerRightHand" unique_id=154529119 instance=ExtResource("4_rd8py")]
|
[node name="MovementTurn" parent="XRControllerRightHand" unique_id=154529119 instance=ExtResource("4_rd8py")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0074635968, 0.024033919)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0074635968, 0.024033919)
|
||||||
|
|||||||
@@ -6,6 +6,17 @@
|
|||||||
[ext_resource type="PackedScene" uid="uid://c0lknik4noobs" path="res://items/BurgerBuns.tscn" id="2_1q74o"]
|
[ext_resource type="PackedScene" uid="uid://c0lknik4noobs" path="res://items/BurgerBuns.tscn" id="2_1q74o"]
|
||||||
[ext_resource type="PackedScene" uid="uid://mpapt5mkbuao" path="res://prefabs/slide_off_dome.tscn" id="4_rf1b2"]
|
[ext_resource type="PackedScene" uid="uid://mpapt5mkbuao" path="res://prefabs/slide_off_dome.tscn" id="4_rf1b2"]
|
||||||
|
|
||||||
|
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_u2p81"]
|
||||||
|
properties/0/path = NodePath(".:position")
|
||||||
|
properties/0/spawn = false
|
||||||
|
properties/0/replication_mode = 1
|
||||||
|
properties/1/path = NodePath(".:rotation")
|
||||||
|
properties/1/spawn = false
|
||||||
|
properties/1/replication_mode = 1
|
||||||
|
properties/2/path = NodePath(".:visible")
|
||||||
|
properties/2/spawn = false
|
||||||
|
properties/2/replication_mode = 1
|
||||||
|
|
||||||
[sub_resource type="SphereShape3D" id="SphereShape3D_xmbo2"]
|
[sub_resource type="SphereShape3D" id="SphereShape3D_xmbo2"]
|
||||||
radius = 0.3
|
radius = 0.3
|
||||||
|
|
||||||
@@ -21,6 +32,10 @@ albedo_color = Color(0.6784191, 0.54546416, 0.016760282, 1)
|
|||||||
[node name="StationMovement" parent="." unique_id=946873975 node_paths=PackedStringArray("station") instance=ExtResource("1_u2p81")]
|
[node name="StationMovement" parent="." unique_id=946873975 node_paths=PackedStringArray("station") instance=ExtResource("1_u2p81")]
|
||||||
station = NodePath("../BurgerBunsDispenser")
|
station = NodePath("../BurgerBunsDispenser")
|
||||||
|
|
||||||
|
[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="." unique_id=904562637]
|
||||||
|
root_path = NodePath("../BurgerBunsDispenser")
|
||||||
|
replication_config = SubResource("SceneReplicationConfig_u2p81")
|
||||||
|
|
||||||
[node name="BurgerBunsDispenser" type="StaticBody3D" parent="." unique_id=1720683779]
|
[node name="BurgerBunsDispenser" type="StaticBody3D" parent="." unique_id=1720683779]
|
||||||
script = ExtResource("1_myl3s")
|
script = ExtResource("1_myl3s")
|
||||||
item_scene = ExtResource("2_1q74o")
|
item_scene = ExtResource("2_1q74o")
|
||||||
|
|||||||
@@ -9,6 +9,24 @@
|
|||||||
[ext_resource type="PackedScene" uid="uid://bxbocxdaayvwx" path="res://UI/progress_bar.tscn" id="6_racgh"]
|
[ext_resource type="PackedScene" uid="uid://bxbocxdaayvwx" path="res://UI/progress_bar.tscn" id="6_racgh"]
|
||||||
|
|
||||||
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_3jbl6"]
|
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_3jbl6"]
|
||||||
|
properties/0/path = NodePath("Counter:position")
|
||||||
|
properties/0/spawn = false
|
||||||
|
properties/0/replication_mode = 1
|
||||||
|
properties/1/path = NodePath("Counter:rotation")
|
||||||
|
properties/1/spawn = false
|
||||||
|
properties/1/replication_mode = 1
|
||||||
|
properties/2/path = NodePath("Counter:process_result")
|
||||||
|
properties/2/spawn = false
|
||||||
|
properties/2/replication_mode = 1
|
||||||
|
properties/3/path = NodePath("Counter:process_result_work")
|
||||||
|
properties/3/spawn = false
|
||||||
|
properties/3/replication_mode = 1
|
||||||
|
properties/4/path = NodePath("Counter:work_progress")
|
||||||
|
properties/4/spawn = false
|
||||||
|
properties/4/replication_mode = 1
|
||||||
|
properties/5/path = NodePath("Counter:visible")
|
||||||
|
properties/5/spawn = false
|
||||||
|
properties/5/replication_mode = 1
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_24d3s"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_24d3s"]
|
||||||
size = Vector3(0.48521727, 0.040039063, 0.41994628)
|
size = Vector3(0.48521727, 0.040039063, 0.41994628)
|
||||||
|
|||||||
+14
-12
@@ -8,14 +8,6 @@
|
|||||||
[ext_resource type="Material" uid="uid://d1djvskv4n4m3" path="res://textures/hob_off.tres" id="4_8qpxk"]
|
[ext_resource type="Material" uid="uid://d1djvskv4n4m3" path="res://textures/hob_off.tres" id="4_8qpxk"]
|
||||||
[ext_resource type="Material" uid="uid://db7c7w4apwti7" path="res://textures/hob_on.tres" id="6_m7l4u"]
|
[ext_resource type="Material" uid="uid://db7c7w4apwti7" path="res://textures/hob_on.tres" id="6_m7l4u"]
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_kdxnr"]
|
|
||||||
size = Vector3(0.6, 1, 0.6)
|
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_7uuqv"]
|
|
||||||
size = Vector3(0.6, 0.12802735, 0.6)
|
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gkb3v"]
|
|
||||||
|
|
||||||
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_np_hob"]
|
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_np_hob"]
|
||||||
properties/0/path = NodePath("Hob:time_cooked")
|
properties/0/path = NodePath("Hob:time_cooked")
|
||||||
properties/0/spawn = false
|
properties/0/spawn = false
|
||||||
@@ -32,6 +24,17 @@ properties/3/replication_mode = 1
|
|||||||
properties/4/path = NodePath("Hob:rotation")
|
properties/4/path = NodePath("Hob:rotation")
|
||||||
properties/4/spawn = false
|
properties/4/spawn = false
|
||||||
properties/4/replication_mode = 1
|
properties/4/replication_mode = 1
|
||||||
|
properties/5/path = NodePath("Hob:visible")
|
||||||
|
properties/5/spawn = false
|
||||||
|
properties/5/replication_mode = 1
|
||||||
|
|
||||||
|
[sub_resource type="BoxShape3D" id="BoxShape3D_kdxnr"]
|
||||||
|
size = Vector3(0.6, 1, 0.6)
|
||||||
|
|
||||||
|
[sub_resource type="BoxShape3D" id="BoxShape3D_7uuqv"]
|
||||||
|
size = Vector3(0.6, 0.12802735, 0.6)
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gkb3v"]
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_7uuqv"]
|
[sub_resource type="Animation" id="Animation_7uuqv"]
|
||||||
length = 0.001
|
length = 0.001
|
||||||
@@ -171,6 +174,9 @@ _data = {
|
|||||||
[node name="StationMovement" parent="." unique_id=946873975 node_paths=PackedStringArray("station") instance=ExtResource("1_pydjp")]
|
[node name="StationMovement" parent="." unique_id=946873975 node_paths=PackedStringArray("station") instance=ExtResource("1_pydjp")]
|
||||||
station = NodePath("../Hob")
|
station = NodePath("../Hob")
|
||||||
|
|
||||||
|
[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="." unique_id=768992259]
|
||||||
|
replication_config = SubResource("SceneReplicationConfig_np_hob")
|
||||||
|
|
||||||
[node name="Hob" type="StaticBody3D" parent="." unique_id=1332123047]
|
[node name="Hob" type="StaticBody3D" parent="." unique_id=1332123047]
|
||||||
script = ExtResource("1_7jc4g")
|
script = ExtResource("1_7jc4g")
|
||||||
|
|
||||||
@@ -279,10 +285,6 @@ size = Vector3(0.55, 0.835, 0.072)
|
|||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.003479004, -0.45215607, 0.24655426)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.003479004, -0.45215607, 0.24655426)
|
||||||
size = Vector3(0.55, 0.096, 0.14)
|
size = Vector3(0.55, 0.096, 0.14)
|
||||||
|
|
||||||
[node name="Sync" type="MultiplayerSynchronizer" parent="Hob" unique_id=768992259]
|
|
||||||
root_path = NodePath("../..")
|
|
||||||
replication_config = SubResource("SceneReplicationConfig_np_hob")
|
|
||||||
|
|
||||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Hob" unique_id=1525460719]
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="Hob" unique_id=1525460719]
|
||||||
root_node = NodePath("../..")
|
root_node = NodePath("../..")
|
||||||
libraries/ = SubResource("AnimationLibrary_ac5f3")
|
libraries/ = SubResource("AnimationLibrary_ac5f3")
|
||||||
|
|||||||
@@ -36,9 +36,6 @@ properties/0/replication_mode = 1
|
|||||||
properties/1/path = NodePath(".:quaternion")
|
properties/1/path = NodePath(".:quaternion")
|
||||||
properties/1/spawn = false
|
properties/1/spawn = false
|
||||||
properties/1/replication_mode = 1
|
properties/1/replication_mode = 1
|
||||||
properties/2/path = NodePath("NetPickable:net_held_by")
|
|
||||||
properties/2/spawn = true
|
|
||||||
properties/2/replication_mode = 1
|
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"]
|
||||||
size = Vector3(0.5, 0.87231445, 0.5)
|
size = Vector3(0.5, 0.87231445, 0.5)
|
||||||
@@ -51,12 +48,15 @@ albedo_color = Color(1, 0.78999996, 0.39999998, 0.4627451)
|
|||||||
properties/0/path = NodePath(".:visible")
|
properties/0/path = NodePath(".:visible")
|
||||||
properties/0/spawn = false
|
properties/0/spawn = false
|
||||||
properties/0/replication_mode = 1
|
properties/0/replication_mode = 1
|
||||||
properties/1/path = NodePath("../MoveHandle:position")
|
properties/1/path = NodePath(".:position")
|
||||||
properties/1/spawn = false
|
properties/1/spawn = false
|
||||||
properties/1/replication_mode = 1
|
properties/1/replication_mode = 1
|
||||||
properties/2/path = NodePath("../MoveHandle:rotation")
|
properties/2/path = NodePath(".:rotation")
|
||||||
properties/2/spawn = false
|
properties/2/spawn = false
|
||||||
properties/2/replication_mode = 1
|
properties/2/replication_mode = 1
|
||||||
|
properties/3/path = NodePath("..:moving")
|
||||||
|
properties/3/spawn = false
|
||||||
|
properties/3/replication_mode = 1
|
||||||
|
|
||||||
[node name="StationMovement" type="Node3D" unique_id=946873975 node_paths=PackedStringArray("move_handle", "move_ghost")]
|
[node name="StationMovement" type="Node3D" unique_id=946873975 node_paths=PackedStringArray("move_handle", "move_ghost")]
|
||||||
script = ExtResource("1_ldy6a")
|
script = ExtResource("1_ldy6a")
|
||||||
|
|||||||
+3
-3
@@ -11,9 +11,9 @@ extends StaticBody3D
|
|||||||
|
|
||||||
# Chopping state. Follow the hob/sink pattern so the display refreshes when
|
# Chopping state. Follow the hob/sink pattern so the display refreshes when
|
||||||
# values change; only the world owner runs the station's process in practice.
|
# values change; only the world owner runs the station's process in practice.
|
||||||
var process_result: String = "": set = _set_result
|
@export var process_result: String = "": set = _set_result
|
||||||
var process_result_work: float = 0.0: set = _set_result_work
|
@export var process_result_work: float = 0.0: set = _set_result_work
|
||||||
var work_progress: float = 0.0: set = _set_work_progress
|
@export var work_progress: float = 0.0: set = _set_work_progress
|
||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
|
|||||||
@@ -6,6 +6,17 @@
|
|||||||
[ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="3_ahn1e"]
|
[ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="3_ahn1e"]
|
||||||
[ext_resource type="PackedScene" uid="uid://mpapt5mkbuao" path="res://prefabs/slide_off_dome.tscn" id="4_nn8tr"]
|
[ext_resource type="PackedScene" uid="uid://mpapt5mkbuao" path="res://prefabs/slide_off_dome.tscn" id="4_nn8tr"]
|
||||||
|
|
||||||
|
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_0wtc7"]
|
||||||
|
properties/0/path = NodePath("CubeSideDispenser:position")
|
||||||
|
properties/0/spawn = false
|
||||||
|
properties/0/replication_mode = 1
|
||||||
|
properties/1/path = NodePath("CubeSideDispenser:rotation")
|
||||||
|
properties/1/spawn = false
|
||||||
|
properties/1/replication_mode = 1
|
||||||
|
properties/2/path = NodePath("CubeSideDispenser:visible")
|
||||||
|
properties/2/spawn = false
|
||||||
|
properties/2/replication_mode = 1
|
||||||
|
|
||||||
[sub_resource type="SphereShape3D" id="SphereShape3D_xmbo2"]
|
[sub_resource type="SphereShape3D" id="SphereShape3D_xmbo2"]
|
||||||
radius = 0.3
|
radius = 0.3
|
||||||
|
|
||||||
@@ -25,6 +36,9 @@ size = Vector3(0.1, 0.1, 0.1)
|
|||||||
[node name="StationMovement" parent="." unique_id=946873975 node_paths=PackedStringArray("station") instance=ExtResource("1_qooyy")]
|
[node name="StationMovement" parent="." unique_id=946873975 node_paths=PackedStringArray("station") instance=ExtResource("1_qooyy")]
|
||||||
station = NodePath("../CubeSideDispenser")
|
station = NodePath("../CubeSideDispenser")
|
||||||
|
|
||||||
|
[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="." unique_id=821487160]
|
||||||
|
replication_config = SubResource("SceneReplicationConfig_0wtc7")
|
||||||
|
|
||||||
[node name="CubeSideDispenser" type="StaticBody3D" parent="." unique_id=200950572]
|
[node name="CubeSideDispenser" type="StaticBody3D" parent="." unique_id=200950572]
|
||||||
script = ExtResource("1_4m60m")
|
script = ExtResource("1_4m60m")
|
||||||
item_scene = ExtResource("2_nn8tr")
|
item_scene = ExtResource("2_nn8tr")
|
||||||
|
|||||||
@@ -1,8 +1,20 @@
|
|||||||
[gd_scene format=3 uid="uid://cnjwtnhwh0i8q"]
|
[gd_scene format=3 uid="uid://cnjwtnhwh0i8q"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://q7tpwmrbmu1m" path="res://stations/dirt_station.gd" id="1_hc1d4"]
|
[ext_resource type="Script" uid="uid://q7tpwmrbmu1m" path="res://stations/dirt_station.gd" id="1_hc1d4"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://cvucwxibtol5f" path="res://stations/StationMovement.tscn" id="1_ucg2q"]
|
||||||
[ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="2_v0ytd"]
|
[ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="2_v0ytd"]
|
||||||
|
|
||||||
|
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_ku4h3"]
|
||||||
|
properties/0/path = NodePath(".:position")
|
||||||
|
properties/0/spawn = false
|
||||||
|
properties/0/replication_mode = 1
|
||||||
|
properties/1/path = NodePath(".:rotation")
|
||||||
|
properties/1/spawn = false
|
||||||
|
properties/1/replication_mode = 1
|
||||||
|
properties/2/path = NodePath(".:visible")
|
||||||
|
properties/2/spawn = false
|
||||||
|
properties/2/replication_mode = 1
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_24d3s"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_24d3s"]
|
||||||
size = Vector3(0.5, 1, 0.5)
|
size = Vector3(0.5, 1, 0.5)
|
||||||
|
|
||||||
@@ -16,28 +28,38 @@ size = Vector3(0.5, 1, 0.5)
|
|||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_mep2a"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_mep2a"]
|
||||||
size = Vector3(0.81640625, 0.5635376, 0.79351807)
|
size = Vector3(0.81640625, 0.5635376, 0.79351807)
|
||||||
|
|
||||||
[node name="DirtStation" type="StaticBody3D" unique_id=160842153 groups=["station"]]
|
[node name="DirtStation" type="Node3D" unique_id=784427347]
|
||||||
|
|
||||||
|
[node name="StationMovement" parent="." unique_id=946873975 node_paths=PackedStringArray("station") instance=ExtResource("1_ucg2q")]
|
||||||
|
station = NodePath("../DirtStation")
|
||||||
|
|
||||||
|
[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="." unique_id=1485614825]
|
||||||
|
root_path = NodePath("../DirtStation")
|
||||||
|
replication_config = SubResource("SceneReplicationConfig_ku4h3")
|
||||||
|
|
||||||
|
[node name="DirtStation" type="StaticBody3D" parent="." unique_id=160842153 groups=["station"]]
|
||||||
script = ExtResource("1_hc1d4")
|
script = ExtResource("1_hc1d4")
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1400366312]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="DirtStation" unique_id=1400366312]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
||||||
shape = SubResource("BoxShape3D_24d3s")
|
shape = SubResource("BoxShape3D_24d3s")
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="CollisionShape3D" unique_id=55726639]
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="DirtStation/CollisionShape3D" unique_id=55726639]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.008318901, 0, -0.022509098)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.008318901, 0, -0.022509098)
|
||||||
mesh = SubResource("BoxMesh_ay2w6")
|
mesh = SubResource("BoxMesh_ay2w6")
|
||||||
|
|
||||||
[node name="Label3D" type="Label3D" parent="CollisionShape3D" unique_id=1251766743]
|
[node name="Label3D" type="Label3D" parent="DirtStation/CollisionShape3D" unique_id=1251766743]
|
||||||
transform = Transform3D(0.9999992, 0, 0, 0, 0.99999946, 0, 0, 0, 0.9999992, 0.002797456, 0.6309581, -0.2812457)
|
transform = Transform3D(0.9999992, 0, 0, 0, 0.99999946, 0, 0, 0, 0.9999992, 0.002797456, 0.6309581, -0.2812457)
|
||||||
text = "Dirt"
|
text = "Dirt"
|
||||||
|
|
||||||
[node name="XRToolsSnapZone" type="Area3D" parent="." unique_id=333161027 groups=["station"]]
|
[node name="XRToolsSnapZone" type="Area3D" parent="DirtStation" unique_id=333161027 groups=["station"]]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5270121, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.0313971, 0)
|
||||||
collision_layer = 65536
|
collision_layer = 65536
|
||||||
collision_mask = 65540
|
collision_mask = 65540
|
||||||
script = ExtResource("2_v0ytd")
|
script = ExtResource("2_v0ytd")
|
||||||
snap_mode = 1
|
snap_mode = 1
|
||||||
metadata/_custom_type_script = "uid://cquqe4f1m1sw6"
|
metadata/_custom_type_script = "uid://cquqe4f1m1sw6"
|
||||||
|
|
||||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="XRToolsSnapZone" unique_id=1398712192]
|
[node name="CollisionShape3D2" type="CollisionShape3D" parent="DirtStation/XRToolsSnapZone" unique_id=1398712192]
|
||||||
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0.008666992, -0.11009073, -0.009353638)
|
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0.008666992, -0.11009073, -0.009353638)
|
||||||
shape = SubResource("BoxShape3D_mep2a")
|
shape = SubResource("BoxShape3D_mep2a")
|
||||||
|
|||||||
@@ -6,6 +6,17 @@
|
|||||||
[ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="3_lr065"]
|
[ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="3_lr065"]
|
||||||
[ext_resource type="PackedScene" uid="uid://mpapt5mkbuao" path="res://prefabs/slide_off_dome.tscn" id="4_tfo2i"]
|
[ext_resource type="PackedScene" uid="uid://mpapt5mkbuao" path="res://prefabs/slide_off_dome.tscn" id="4_tfo2i"]
|
||||||
|
|
||||||
|
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_jgjsq"]
|
||||||
|
properties/0/path = NodePath("PlateDispenser:position")
|
||||||
|
properties/0/spawn = false
|
||||||
|
properties/0/replication_mode = 1
|
||||||
|
properties/1/path = NodePath("PlateDispenser:rotation")
|
||||||
|
properties/1/spawn = false
|
||||||
|
properties/1/replication_mode = 1
|
||||||
|
properties/2/path = NodePath("PlateDispenser:visible")
|
||||||
|
properties/2/spawn = false
|
||||||
|
properties/2/replication_mode = 1
|
||||||
|
|
||||||
[sub_resource type="SphereShape3D" id="SphereShape3D_xmbo2"]
|
[sub_resource type="SphereShape3D" id="SphereShape3D_xmbo2"]
|
||||||
radius = 0.3
|
radius = 0.3
|
||||||
|
|
||||||
@@ -18,6 +29,9 @@ radius = 0.3
|
|||||||
[node name="StationMovement" parent="." unique_id=946873975 node_paths=PackedStringArray("station") instance=ExtResource("1_jgjsq")]
|
[node name="StationMovement" parent="." unique_id=946873975 node_paths=PackedStringArray("station") instance=ExtResource("1_jgjsq")]
|
||||||
station = NodePath("../PlateDispenser")
|
station = NodePath("../PlateDispenser")
|
||||||
|
|
||||||
|
[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="." unique_id=901684173]
|
||||||
|
replication_config = SubResource("SceneReplicationConfig_jgjsq")
|
||||||
|
|
||||||
[node name="PlateDispenser" type="StaticBody3D" parent="." unique_id=710538846]
|
[node name="PlateDispenser" type="StaticBody3D" parent="." unique_id=710538846]
|
||||||
script = ExtResource("1_jm0ik")
|
script = ExtResource("1_jm0ik")
|
||||||
item_scene = ExtResource("2_tfo2i")
|
item_scene = ExtResource("2_tfo2i")
|
||||||
|
|||||||
@@ -6,6 +6,17 @@
|
|||||||
[ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="4_fx1kw"]
|
[ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="4_fx1kw"]
|
||||||
[ext_resource type="PackedScene" uid="uid://mpapt5mkbuao" path="res://prefabs/slide_off_dome.tscn" id="5_ur331"]
|
[ext_resource type="PackedScene" uid="uid://mpapt5mkbuao" path="res://prefabs/slide_off_dome.tscn" id="5_ur331"]
|
||||||
|
|
||||||
|
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_8orw3"]
|
||||||
|
properties/0/path = NodePath("PotatoDispenser:position")
|
||||||
|
properties/0/spawn = false
|
||||||
|
properties/0/replication_mode = 1
|
||||||
|
properties/1/path = NodePath("PotatoDispenser:rotation")
|
||||||
|
properties/1/spawn = false
|
||||||
|
properties/1/replication_mode = 1
|
||||||
|
properties/2/path = NodePath("PotatoDispenser:visible")
|
||||||
|
properties/2/spawn = false
|
||||||
|
properties/2/replication_mode = 1
|
||||||
|
|
||||||
[sub_resource type="SphereShape3D" id="SphereShape3D_xmbo2"]
|
[sub_resource type="SphereShape3D" id="SphereShape3D_xmbo2"]
|
||||||
radius = 0.3
|
radius = 0.3
|
||||||
|
|
||||||
@@ -21,6 +32,9 @@ albedo_color = Color(0.48, 0.34336, 0.1872, 1)
|
|||||||
[node name="StationMovement" parent="." unique_id=946873975 node_paths=PackedStringArray("station") instance=ExtResource("1_8orw3")]
|
[node name="StationMovement" parent="." unique_id=946873975 node_paths=PackedStringArray("station") instance=ExtResource("1_8orw3")]
|
||||||
station = NodePath("../PotatoDispenser")
|
station = NodePath("../PotatoDispenser")
|
||||||
|
|
||||||
|
[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="." unique_id=41449367]
|
||||||
|
replication_config = SubResource("SceneReplicationConfig_8orw3")
|
||||||
|
|
||||||
[node name="PotatoDispenser" type="StaticBody3D" parent="." unique_id=1720683779]
|
[node name="PotatoDispenser" type="StaticBody3D" parent="." unique_id=1720683779]
|
||||||
script = ExtResource("2_30d2d")
|
script = ExtResource("2_30d2d")
|
||||||
item_scene = ExtResource("3_mjqsn")
|
item_scene = ExtResource("3_mjqsn")
|
||||||
|
|||||||
@@ -7,6 +7,17 @@
|
|||||||
[ext_resource type="PackedScene" uid="uid://mpapt5mkbuao" path="res://prefabs/slide_off_dome.tscn" id="5_mep2a"]
|
[ext_resource type="PackedScene" uid="uid://mpapt5mkbuao" path="res://prefabs/slide_off_dome.tscn" id="5_mep2a"]
|
||||||
[ext_resource type="PackedScene" uid="uid://cvucwxibtol5f" path="res://stations/StationMovement.tscn" id="6_8ou8n"]
|
[ext_resource type="PackedScene" uid="uid://cvucwxibtol5f" path="res://stations/StationMovement.tscn" id="6_8ou8n"]
|
||||||
|
|
||||||
|
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_8ou8n"]
|
||||||
|
properties/0/path = NodePath("RawBurgerDispenser:position")
|
||||||
|
properties/0/spawn = false
|
||||||
|
properties/0/replication_mode = 1
|
||||||
|
properties/1/path = NodePath("RawBurgerDispenser:rotation")
|
||||||
|
properties/1/spawn = false
|
||||||
|
properties/1/replication_mode = 1
|
||||||
|
properties/2/path = NodePath("RawBurgerDispenser:visible")
|
||||||
|
properties/2/spawn = false
|
||||||
|
properties/2/replication_mode = 1
|
||||||
|
|
||||||
[sub_resource type="SphereShape3D" id="SphereShape3D_xmbo2"]
|
[sub_resource type="SphereShape3D" id="SphereShape3D_xmbo2"]
|
||||||
radius = 0.3
|
radius = 0.3
|
||||||
|
|
||||||
@@ -22,6 +33,9 @@ albedo_texture = ExtResource("4_1f5le")
|
|||||||
[node name="StationMovement" parent="." unique_id=946873975 node_paths=PackedStringArray("station") instance=ExtResource("6_8ou8n")]
|
[node name="StationMovement" parent="." unique_id=946873975 node_paths=PackedStringArray("station") instance=ExtResource("6_8ou8n")]
|
||||||
station = NodePath("../RawBurgerDispenser")
|
station = NodePath("../RawBurgerDispenser")
|
||||||
|
|
||||||
|
[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="." unique_id=1886082284]
|
||||||
|
replication_config = SubResource("SceneReplicationConfig_8ou8n")
|
||||||
|
|
||||||
[node name="RawBurgerDispenser" type="StaticBody3D" parent="." unique_id=235630131]
|
[node name="RawBurgerDispenser" type="StaticBody3D" parent="." unique_id=235630131]
|
||||||
script = ExtResource("1_gkb3v")
|
script = ExtResource("1_gkb3v")
|
||||||
item_scene = ExtResource("2_mep2a")
|
item_scene = ExtResource("2_mep2a")
|
||||||
|
|||||||
+3
-3
@@ -10,9 +10,9 @@ const plate_wash_time: float = 3.0
|
|||||||
## display when they change. Only the world owner runs this station's _process
|
## display when they change. Only the world owner runs this station's _process
|
||||||
## and snap zone, so without this a client never updates its bar — it stayed
|
## and snap zone, so without this a client never updates its bar — it stayed
|
||||||
## frozen on screen long after the plate came out clean.
|
## frozen on screen long after the plate came out clean.
|
||||||
var time_washed: float = 0.0: set = _set_time_washed
|
@export var time_washed: float = 0.0: set = _set_time_washed
|
||||||
var is_washing: bool = false: set = _set_is_washing
|
@export var is_washing: bool = false: set = _set_is_washing
|
||||||
var plate: PlateController = null
|
@export var plate: PlateController = null
|
||||||
|
|
||||||
|
|
||||||
func _set_time_washed(value: float) -> void:
|
func _set_time_washed(value: float) -> void:
|
||||||
|
|||||||
+21
-11
@@ -5,6 +5,23 @@
|
|||||||
[ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="2_3ocod"]
|
[ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="2_3ocod"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bxbocxdaayvwx" path="res://UI/progress_bar.tscn" id="4_1pinr"]
|
[ext_resource type="PackedScene" uid="uid://bxbocxdaayvwx" path="res://UI/progress_bar.tscn" id="4_1pinr"]
|
||||||
|
|
||||||
|
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_np_sink"]
|
||||||
|
properties/0/path = NodePath(".:position")
|
||||||
|
properties/0/spawn = false
|
||||||
|
properties/0/replication_mode = 1
|
||||||
|
properties/1/path = NodePath(".:rotation")
|
||||||
|
properties/1/spawn = false
|
||||||
|
properties/1/replication_mode = 1
|
||||||
|
properties/2/path = NodePath(".:time_washed")
|
||||||
|
properties/2/spawn = false
|
||||||
|
properties/2/replication_mode = 1
|
||||||
|
properties/3/path = NodePath(".:is_washing")
|
||||||
|
properties/3/spawn = false
|
||||||
|
properties/3/replication_mode = 1
|
||||||
|
properties/4/path = NodePath(".:visible")
|
||||||
|
properties/4/spawn = false
|
||||||
|
properties/4/replication_mode = 1
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_l02yb"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_l02yb"]
|
||||||
size = Vector3(0.6, 1.0024658, 0.6)
|
size = Vector3(0.6, 1.0024658, 0.6)
|
||||||
|
|
||||||
@@ -16,14 +33,6 @@ stereo = true
|
|||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_ai6d4"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_ai6d4"]
|
||||||
size = Vector3(0.5, 0.128, 0.5)
|
size = Vector3(0.5, 0.128, 0.5)
|
||||||
|
|
||||||
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_np_sink"]
|
|
||||||
properties/0/path = NodePath(".:time_washed")
|
|
||||||
properties/0/spawn = true
|
|
||||||
properties/0/replication_mode = 1
|
|
||||||
properties/1/path = NodePath(".:is_washing")
|
|
||||||
properties/1/spawn = true
|
|
||||||
properties/1/replication_mode = 1
|
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_0gbf8"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_0gbf8"]
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_bvwq1"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_bvwq1"]
|
||||||
@@ -187,6 +196,10 @@ height = 0.04
|
|||||||
[node name="StationMovement" parent="." unique_id=946873975 node_paths=PackedStringArray("station") instance=ExtResource("1_uluvy")]
|
[node name="StationMovement" parent="." unique_id=946873975 node_paths=PackedStringArray("station") instance=ExtResource("1_uluvy")]
|
||||||
station = NodePath("../Sink")
|
station = NodePath("../Sink")
|
||||||
|
|
||||||
|
[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="." unique_id=1601242574]
|
||||||
|
root_path = NodePath("../Sink")
|
||||||
|
replication_config = SubResource("SceneReplicationConfig_np_sink")
|
||||||
|
|
||||||
[node name="Sink" type="StaticBody3D" parent="." unique_id=2055277359 groups=["station"]]
|
[node name="Sink" type="StaticBody3D" parent="." unique_id=2055277359 groups=["station"]]
|
||||||
script = ExtResource("1_7hh4b")
|
script = ExtResource("1_7hh4b")
|
||||||
|
|
||||||
@@ -241,9 +254,6 @@ transform = Transform3D(1, 0, 0, 0, 0.9367828, -0.34991136, 0, 0.34991136, 0.936
|
|||||||
operation = 2
|
operation = 2
|
||||||
size = Vector3(1, 1.2053223, 0.352417)
|
size = Vector3(1, 1.2053223, 0.352417)
|
||||||
|
|
||||||
[node name="Sync" type="MultiplayerSynchronizer" parent="Sink" unique_id=1601242574]
|
|
||||||
replication_config = SubResource("SceneReplicationConfig_np_sink")
|
|
||||||
|
|
||||||
[node name="ProgressBar3D" parent="Sink" unique_id=654673176 instance=ExtResource("4_1pinr")]
|
[node name="ProgressBar3D" parent="Sink" unique_id=654673176 instance=ExtResource("4_1pinr")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.3229032, -0.035980098)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.3229032, -0.035980098)
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ var move_handle_rigid: RigidBody3D
|
|||||||
var original_collision_layer: int = 0
|
var original_collision_layer: int = 0
|
||||||
var original_y_pos: float = 0.0
|
var original_y_pos: float = 0.0
|
||||||
var original_station_transform: Transform3D = Transform3D.IDENTITY
|
var original_station_transform: Transform3D = Transform3D.IDENTITY
|
||||||
var moving: bool = false
|
@export var moving: bool = false
|
||||||
var ghost_materials: Array[StandardMaterial3D] = []
|
var ghost_materials: Array[StandardMaterial3D] = []
|
||||||
|
|
||||||
const GHOST_COLOR_VALID: Color = Color(0, 1, 0, 0.35)
|
const GHOST_COLOR_VALID: Color = Color(0, 1, 0, 0.35)
|
||||||
|
|||||||
+24
-14
@@ -7,6 +7,26 @@
|
|||||||
[ext_resource type="AudioStream" uid="uid://daiv8ubwdbidf" path="res://sounds/220195__gameaudio__click-wooden-1.wav" id="3_0s6ir"]
|
[ext_resource type="AudioStream" uid="uid://daiv8ubwdbidf" path="res://sounds/220195__gameaudio__click-wooden-1.wav" id="3_0s6ir"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bxbocxdaayvwx" path="res://UI/progress_bar.tscn" id="3_kjf1i"]
|
[ext_resource type="PackedScene" uid="uid://bxbocxdaayvwx" path="res://UI/progress_bar.tscn" id="3_kjf1i"]
|
||||||
|
|
||||||
|
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_np_table"]
|
||||||
|
properties/0/path = NodePath(".:_state")
|
||||||
|
properties/0/spawn = false
|
||||||
|
properties/0/replication_mode = 1
|
||||||
|
properties/1/path = NodePath(".:_state_time")
|
||||||
|
properties/1/spawn = false
|
||||||
|
properties/1/replication_mode = 1
|
||||||
|
properties/2/path = NodePath(".:_unsatisfied_orders")
|
||||||
|
properties/2/spawn = false
|
||||||
|
properties/2/replication_mode = 1
|
||||||
|
properties/3/path = NodePath(".:position")
|
||||||
|
properties/3/spawn = false
|
||||||
|
properties/3/replication_mode = 1
|
||||||
|
properties/4/path = NodePath(".:rotation")
|
||||||
|
properties/4/spawn = false
|
||||||
|
properties/4/replication_mode = 1
|
||||||
|
properties/5/path = NodePath(".:visible")
|
||||||
|
properties/5/spawn = false
|
||||||
|
properties/5/replication_mode = 1
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_24d3s"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_24d3s"]
|
||||||
size = Vector3(0.7983472, 0.060000002, 0.59873295)
|
size = Vector3(0.7983472, 0.060000002, 0.59873295)
|
||||||
|
|
||||||
@@ -16,17 +36,6 @@ radius = 0.6
|
|||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_24d3s"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_24d3s"]
|
||||||
albedo_color = Color(0.31, 0.21576, 0.1333, 1)
|
albedo_color = Color(0.31, 0.21576, 0.1333, 1)
|
||||||
|
|
||||||
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_np_table"]
|
|
||||||
properties/0/path = NodePath(".:_state")
|
|
||||||
properties/0/spawn = true
|
|
||||||
properties/0/replication_mode = 1
|
|
||||||
properties/1/path = NodePath(".:_state_time")
|
|
||||||
properties/1/spawn = true
|
|
||||||
properties/1/replication_mode = 1
|
|
||||||
properties/2/path = NodePath(".:_unsatisfied_orders")
|
|
||||||
properties/2/spawn = true
|
|
||||||
properties/2/replication_mode = 1
|
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"]
|
||||||
size = Vector3(2.1, 0.5, 2.1)
|
size = Vector3(2.1, 0.5, 2.1)
|
||||||
|
|
||||||
@@ -35,6 +44,10 @@ size = Vector3(2.1, 0.5, 2.1)
|
|||||||
[node name="StationMovement" parent="." unique_id=946873975 node_paths=PackedStringArray("station") instance=ExtResource("1_5mi7y")]
|
[node name="StationMovement" parent="." unique_id=946873975 node_paths=PackedStringArray("station") instance=ExtResource("1_5mi7y")]
|
||||||
station = NodePath("../Table")
|
station = NodePath("../Table")
|
||||||
|
|
||||||
|
[node name="MultiplayerSyncronizer" type="MultiplayerSynchronizer" parent="." unique_id=2000411505]
|
||||||
|
root_path = NodePath("../Table")
|
||||||
|
replication_config = SubResource("SceneReplicationConfig_np_table")
|
||||||
|
|
||||||
[node name="Table" type="StaticBody3D" parent="." unique_id=1863572470 groups=["station", "table"]]
|
[node name="Table" type="StaticBody3D" parent="." unique_id=1863572470 groups=["station", "table"]]
|
||||||
script = ExtResource("1_2vcpj")
|
script = ExtResource("1_2vcpj")
|
||||||
money_sound = ExtResource("2_jslhm")
|
money_sound = ExtResource("2_jslhm")
|
||||||
@@ -154,9 +167,6 @@ pixel_size = 0.003
|
|||||||
billboard = 2
|
billboard = 2
|
||||||
text = "20.1s"
|
text = "20.1s"
|
||||||
|
|
||||||
[node name="Sync" type="MultiplayerSynchronizer" parent="Table" unique_id=2000411505]
|
|
||||||
replication_config = SubResource("SceneReplicationConfig_np_table")
|
|
||||||
|
|
||||||
[node name="ProgressBar3D" parent="Table" unique_id=654673176 instance=ExtResource("3_kjf1i")]
|
[node name="ProgressBar3D" parent="Table" unique_id=654673176 instance=ExtResource("3_kjf1i")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.8692299, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.8692299, 0)
|
||||||
y_billboard = true
|
y_billboard = true
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[gd_resource type="Sky" format=3 uid="uid://c1abtpwhdm2d5"]
|
[gd_resource type="Sky" format=3 uid="uid://c1abtpwhdm2d5"]
|
||||||
|
|
||||||
[ext_resource type="Texture2D" uid="uid://ci0hjoabnf8nu" path="res://Textures/sky/NightSkyHDRI009_16K_HDR.exr" id="acg_mft3ic9d"]
|
[ext_resource type="Texture2D" uid="uid://ci0hjoabnf8nu" path="res://textures/sky/NightSkyHDRI009_16K_HDR.exr" id="acg_mft3ic9d"]
|
||||||
|
|
||||||
[sub_resource type="PanoramaSkyMaterial" id="acg_025sfqr4"]
|
[sub_resource type="PanoramaSkyMaterial" id="acg_025sfqr4"]
|
||||||
panorama = ExtResource("acg_mft3ic9d")
|
panorama = ExtResource("acg_mft3ic9d")
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ func _ready() -> void:
|
|||||||
## --server / --join <ip> on the command line skip straight to the multiplayer
|
## --server / --join <ip> on the command line skip straight to the multiplayer
|
||||||
## scene, same as the previously headless-tested main.tscn flow.
|
## scene, same as the previously headless-tested main.tscn flow.
|
||||||
func _bypass_menu_for_cmdline() -> bool:
|
func _bypass_menu_for_cmdline() -> bool:
|
||||||
var args := OS.get_cmdline_user_args()
|
var args := OS.get_cmdline_args()
|
||||||
if args.has("--server"):
|
if args.has("--server"):
|
||||||
NetworkManager.request_host()
|
NetworkManager.request_host()
|
||||||
get_tree().change_scene_to_file.call_deferred(MULTIPLAYER_SCENE)
|
get_tree().change_scene_to_file.call_deferred(MULTIPLAYER_SCENE)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[gd_resource type="VisualShader" load_steps=28 format=3 uid="uid://c6okm2ay0fkjf"]
|
[gd_resource type="VisualShader" format=3 uid="uid://c6okm2ay0fkjf"]
|
||||||
|
|
||||||
[sub_resource type="VisualShaderNodeFloatOp" id="1"]
|
[sub_resource type="VisualShaderNodeFloatOp" id="1"]
|
||||||
output_port_for_preview = 0
|
output_port_for_preview = 0
|
||||||
@@ -101,159 +101,6 @@ output_port_for_preview = 0
|
|||||||
function = 12
|
function = 12
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
code = "shader_type spatial;
|
|
||||||
render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_lambert, specular_schlick_ggx, unshaded;
|
|
||||||
|
|
||||||
uniform vec4 albedo : source_color;
|
|
||||||
uniform float value;
|
|
||||||
uniform float fade;
|
|
||||||
uniform float radius;
|
|
||||||
uniform float width;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void fragment() {
|
|
||||||
// ColorParameter:2
|
|
||||||
vec4 n_out2p0 = albedo;
|
|
||||||
|
|
||||||
|
|
||||||
// Input:3
|
|
||||||
vec2 n_out3p0 = UV;
|
|
||||||
|
|
||||||
|
|
||||||
// VectorOp:4
|
|
||||||
vec3 n_in4p1 = vec3(2.00000, 2.00000, 0.00000);
|
|
||||||
vec3 n_out4p0 = vec3(n_out3p0, 0.0) * n_in4p1;
|
|
||||||
|
|
||||||
|
|
||||||
// VectorOp:5
|
|
||||||
vec3 n_in5p1 = vec3(-1.00000, -1.00000, 0.00000);
|
|
||||||
vec3 n_out5p0 = n_out4p0 + n_in5p1;
|
|
||||||
|
|
||||||
|
|
||||||
// VectorFunc:17
|
|
||||||
vec3 n_out17p0 = normalize(n_out5p0);
|
|
||||||
|
|
||||||
|
|
||||||
// VectorOp:19
|
|
||||||
vec3 n_in19p1 = vec3(0.00000, -1.00000, 0.00000);
|
|
||||||
vec3 n_out19p0 = cross(n_out17p0, n_in19p1);
|
|
||||||
|
|
||||||
|
|
||||||
// VectorDecompose:20
|
|
||||||
float n_out20p0 = n_out19p0.x;
|
|
||||||
float n_out20p1 = n_out19p0.y;
|
|
||||||
float n_out20p2 = n_out19p0.z;
|
|
||||||
|
|
||||||
|
|
||||||
// DotProduct:18
|
|
||||||
vec3 n_in18p1 = vec3(0.00000, -1.00000, 0.00000);
|
|
||||||
float n_out18p0 = dot(n_out17p0, n_in18p1);
|
|
||||||
|
|
||||||
|
|
||||||
// FloatFunc:24
|
|
||||||
float n_out24p0 = acos(n_out18p0);
|
|
||||||
|
|
||||||
|
|
||||||
// FloatOp:23
|
|
||||||
float n_in23p0 = 6.28319;
|
|
||||||
float n_out23p0 = n_in23p0 - n_out24p0;
|
|
||||||
|
|
||||||
|
|
||||||
vec3 n_out22p0;
|
|
||||||
// If:22
|
|
||||||
float n_in22p1 = 0.00000;
|
|
||||||
float n_in22p2 = 0.00001;
|
|
||||||
if(abs(n_out20p2 - n_in22p1) < n_in22p2)
|
|
||||||
{
|
|
||||||
n_out22p0 = vec3(n_out24p0);
|
|
||||||
}
|
|
||||||
else if(n_out20p2 < n_in22p1)
|
|
||||||
{
|
|
||||||
n_out22p0 = vec3(n_out24p0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
n_out22p0 = vec3(n_out23p0);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// FloatOp:25
|
|
||||||
float n_in25p1 = 6.28319;
|
|
||||||
float n_out25p0 = n_out22p0.x / n_in25p1;
|
|
||||||
|
|
||||||
|
|
||||||
// FloatParameter:26
|
|
||||||
float n_out26p0 = value;
|
|
||||||
|
|
||||||
|
|
||||||
// FloatOp:27
|
|
||||||
float n_out27p0 = n_out25p0 - n_out26p0;
|
|
||||||
|
|
||||||
|
|
||||||
// FloatParameter:14
|
|
||||||
float n_out14p0 = fade;
|
|
||||||
|
|
||||||
|
|
||||||
// FloatOp:30
|
|
||||||
float n_in30p1 = 6.28319;
|
|
||||||
float n_out30p0 = n_out14p0 / n_in30p1;
|
|
||||||
|
|
||||||
|
|
||||||
// FloatOp:28
|
|
||||||
float n_out28p0 = n_out27p0 / n_out30p0;
|
|
||||||
|
|
||||||
|
|
||||||
// VectorLen:6
|
|
||||||
float n_out6p0 = length(n_out5p0);
|
|
||||||
|
|
||||||
|
|
||||||
// FloatParameter:8
|
|
||||||
float n_out8p0 = radius;
|
|
||||||
|
|
||||||
|
|
||||||
// FloatOp:7
|
|
||||||
float n_out7p0 = n_out6p0 - n_out8p0;
|
|
||||||
|
|
||||||
|
|
||||||
// FloatFunc:9
|
|
||||||
float n_out9p0 = abs(n_out7p0);
|
|
||||||
|
|
||||||
|
|
||||||
// FloatParameter:11
|
|
||||||
float n_out11p0 = width;
|
|
||||||
|
|
||||||
|
|
||||||
// FloatOp:15
|
|
||||||
float n_in15p1 = 2.00000;
|
|
||||||
float n_out15p0 = n_out11p0 / n_in15p1;
|
|
||||||
|
|
||||||
|
|
||||||
// FloatOp:13
|
|
||||||
float n_out13p0 = n_out9p0 - n_out15p0;
|
|
||||||
|
|
||||||
|
|
||||||
// FloatOp:10
|
|
||||||
float n_out10p0 = n_out13p0 / n_out14p0;
|
|
||||||
|
|
||||||
|
|
||||||
// FloatOp:29
|
|
||||||
float n_out29p0 = max(n_out28p0, n_out10p0);
|
|
||||||
|
|
||||||
|
|
||||||
// FloatOp:12
|
|
||||||
float n_in12p0 = 1.00000;
|
|
||||||
float n_out12p0 = n_in12p0 - n_out29p0;
|
|
||||||
|
|
||||||
|
|
||||||
// Output:0
|
|
||||||
ALBEDO = vec3(n_out2p0.xyz);
|
|
||||||
ALPHA = n_out12p0;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
"
|
|
||||||
graph_offset = Vector2(652.664, 119.317)
|
|
||||||
flags/unshaded = true
|
flags/unshaded = true
|
||||||
nodes/fragment/0/position = Vector2(1800, -40)
|
nodes/fragment/0/position = Vector2(1800, -40)
|
||||||
nodes/fragment/2/node = SubResource("3")
|
nodes/fragment/2/node = SubResource("3")
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[gd_resource type="VisualShader" load_steps=16 format=3 uid="uid://4i0pwdtfmtsv"]
|
[gd_resource type="VisualShader" format=3 uid="uid://4i0pwdtfmtsv"]
|
||||||
|
|
||||||
[sub_resource type="VisualShaderNodeCompare" id="5"]
|
[sub_resource type="VisualShaderNodeCompare" id="5"]
|
||||||
output_port_for_preview = 0
|
output_port_for_preview = 0
|
||||||
@@ -62,95 +62,6 @@ function = 2
|
|||||||
condition = 1
|
condition = 1
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
code = "shader_type spatial;
|
|
||||||
render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_lambert, specular_schlick_ggx, unshaded;
|
|
||||||
|
|
||||||
uniform vec4 bar_color : source_color;
|
|
||||||
uniform sampler2D bar_texture : source_color;
|
|
||||||
uniform vec3 cutout = vec3(4.850000, 0.330000, 0.000000);
|
|
||||||
uniform float progress;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void fragment() {
|
|
||||||
// ColorParameter:15
|
|
||||||
vec4 n_out15p0 = bar_color;
|
|
||||||
|
|
||||||
|
|
||||||
vec4 n_out19p0;
|
|
||||||
// Texture2D:19
|
|
||||||
n_out19p0 = texture(bar_texture, UV);
|
|
||||||
float n_out19p4 = n_out19p0.a;
|
|
||||||
|
|
||||||
|
|
||||||
// VectorOp:17
|
|
||||||
vec3 n_out17p0 = vec3(n_out15p0.xyz) * vec3(n_out19p0.xyz);
|
|
||||||
|
|
||||||
|
|
||||||
// Input:3
|
|
||||||
vec2 n_out3p0 = UV;
|
|
||||||
|
|
||||||
|
|
||||||
// VectorOp:4
|
|
||||||
vec3 n_in4p1 = vec3(10.00000, 1.00000, 0.00000);
|
|
||||||
vec3 n_out4p0 = vec3(n_out3p0, 0.0) * n_in4p1;
|
|
||||||
|
|
||||||
|
|
||||||
// VectorOp:5
|
|
||||||
vec3 n_in5p1 = vec3(5.00000, 0.50000, 0.00000);
|
|
||||||
vec3 n_out5p0 = n_out4p0 - n_in5p1;
|
|
||||||
|
|
||||||
|
|
||||||
// VectorFunc:6
|
|
||||||
vec3 n_out6p0 = abs(n_out5p0);
|
|
||||||
|
|
||||||
|
|
||||||
// Vector3Parameter:20
|
|
||||||
vec3 n_out20p0 = cutout;
|
|
||||||
|
|
||||||
|
|
||||||
bool n_out8p0;
|
|
||||||
// Compare:8
|
|
||||||
{
|
|
||||||
bvec2 _bv = greaterThan(vec2(n_out6p0.xy), vec2(n_out20p0.xy));
|
|
||||||
n_out8p0 = any(_bv);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// FloatParameter:12
|
|
||||||
float n_out12p0 = progress;
|
|
||||||
|
|
||||||
|
|
||||||
// VectorCompose:13
|
|
||||||
float n_in13p1 = 0.00000;
|
|
||||||
float n_in13p2 = 0.00000;
|
|
||||||
vec3 n_out13p0 = vec3(n_out12p0, n_in13p1, n_in13p2);
|
|
||||||
|
|
||||||
|
|
||||||
bool n_out11p0;
|
|
||||||
// Compare:11
|
|
||||||
{
|
|
||||||
bvec2 _bv = lessThan(n_out3p0, vec2(n_out13p0.xy));
|
|
||||||
n_out11p0 = any(_bv);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// FloatOp:14
|
|
||||||
float n_out14p0 = max((n_out8p0 ? 1.0 : 0.0), (n_out11p0 ? 1.0 : 0.0));
|
|
||||||
|
|
||||||
|
|
||||||
// FloatOp:18
|
|
||||||
float n_out18p0 = n_out19p4 * n_out14p0;
|
|
||||||
|
|
||||||
|
|
||||||
// Output:0
|
|
||||||
ALBEDO = n_out17p0;
|
|
||||||
ALPHA = n_out18p0;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
"
|
|
||||||
graph_offset = Vector2(-744.269, 307.118)
|
|
||||||
flags/unshaded = true
|
flags/unshaded = true
|
||||||
nodes/fragment/0/position = Vector2(1220, 440)
|
nodes/fragment/0/position = Vector2(1220, 440)
|
||||||
nodes/fragment/3/node = SubResource("10")
|
nodes/fragment/3/node = SubResource("10")
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ extends Node
|
|||||||
|
|
||||||
const STAR_DAY_FREQUENCY: int = 3
|
const STAR_DAY_FREQUENCY: int = 3
|
||||||
|
|
||||||
var money: int = 0:
|
var money: int = 1000:
|
||||||
get:
|
get:
|
||||||
return money
|
return money
|
||||||
set(value):
|
set(value):
|
||||||
|
|||||||
@@ -32,7 +32,6 @@ file_logging/enable_file_logging=true
|
|||||||
|
|
||||||
window/size/viewport_width=1000
|
window/size/viewport_width=1000
|
||||||
window/size/viewport_height=650
|
window/size/viewport_height=650
|
||||||
window/size/mode=2
|
|
||||||
window/stretch/mode="canvas_items"
|
window/stretch/mode="canvas_items"
|
||||||
window/stretch/aspect="expand"
|
window/stretch/aspect="expand"
|
||||||
|
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
uid://be8o8m6xpp3kc
|
|
||||||
@@ -86,7 +86,7 @@ var _frame_index := 0
|
|||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
var args := OS.get_cmdline_user_args()
|
var args := OS.get_cmdline_args()
|
||||||
_auto_mode = "--mptest" in args
|
_auto_mode = "--mptest" in args
|
||||||
# Opt-in only. This node also sits in the real multiplayer scene (so a client
|
# Opt-in only. This node also sits in the real multiplayer scene (so a client
|
||||||
# joining a test session has a driver), and must be completely inert during
|
# joining a test session has a driver), and must be completely inert during
|
||||||
@@ -788,7 +788,7 @@ func _setup_frames() -> void:
|
|||||||
_frames_enabled = false
|
_frames_enabled = false
|
||||||
_log("frame capture disabled: a headless run has no rendered output to grab")
|
_log("frame capture disabled: a headless run has no rendered output to grab")
|
||||||
return
|
return
|
||||||
var role := "server" if "--server" in OS.get_cmdline_user_args() else "client"
|
var role := "server" if "--server" in OS.get_cmdline_args() else "client"
|
||||||
_frames_dir = "res://logs/mptest_frames_%s" % role
|
_frames_dir = "res://logs/mptest_frames_%s" % role
|
||||||
DirAccess.make_dir_recursive_absolute(ProjectSettings.globalize_path(_frames_dir))
|
DirAccess.make_dir_recursive_absolute(ProjectSettings.globalize_path(_frames_dir))
|
||||||
# Clear out a previous run's frames, or the GIF would splice the two together.
|
# Clear out a previous run's frames, or the GIF would splice the two together.
|
||||||
@@ -1410,7 +1410,7 @@ func _banner(s: String) -> void:
|
|||||||
# would otherwise fight over one file (the engine's own godot.log has exactly
|
# would otherwise fight over one file (the engine's own godot.log has exactly
|
||||||
# that problem when two peers run at once — it rotates per process).
|
# that problem when two peers run at once — it rotates per process).
|
||||||
func _open_log() -> void:
|
func _open_log() -> void:
|
||||||
var role := "server" if "--server" in OS.get_cmdline_user_args() else "client"
|
var role := "server" if "--server" in OS.get_cmdline_args() else "client"
|
||||||
var path := "res://logs/mptest_%s.log" % role
|
var path := "res://logs/mptest_%s.log" % role
|
||||||
DirAccess.make_dir_recursive_absolute(ProjectSettings.globalize_path("res://logs"))
|
DirAccess.make_dir_recursive_absolute(ProjectSettings.globalize_path("res://logs"))
|
||||||
_log_file = FileAccess.open(path, FileAccess.WRITE)
|
_log_file = FileAccess.open(path, FileAccess.WRITE)
|
||||||
|
|||||||
Reference in New Issue
Block a user