More work on multiplayer and first pass of the trap icons

This commit is contained in:
2025-12-11 11:40:26 -05:00
parent c6da8344a4
commit 0451361af8
37 changed files with 495 additions and 71 deletions

View File

@@ -2,16 +2,21 @@
[ext_resource type="Script" uid="uid://dep7nr2nkdmga" path="res://scripts/multiplayer_setup.gd" id="1_lckj3"]
[node name="Multiplayer Setup" type="Control"]
[node name="MultiplayerSetup" type="MultiplayerSpawner" groups=["level_spawner"]]
_spawnable_scenes = PackedStringArray("uid://ti65jukt8gvs")
spawn_path = NodePath(".")
script = ExtResource("1_lckj3")
[node name="Setup" type="Control" parent="." groups=["scenes"]]
unique_name_in_owner = true
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_lckj3")
[node name="Panel" type="PanelContainer" parent="."]
[node name="Panel" type="PanelContainer" parent="Setup"]
custom_minimum_size = Vector2(400, 400)
layout_mode = 1
anchors_preset = 8
@@ -26,68 +31,68 @@ offset_bottom = 200.0
grow_horizontal = 2
grow_vertical = 2
[node name="Menu" type="VBoxContainer" parent="Panel"]
[node name="Menu" type="VBoxContainer" parent="Setup/Panel"]
unique_name_in_owner = true
layout_mode = 2
[node name="HostButton" type="Button" parent="Panel/Menu"]
[node name="HostButton" type="Button" parent="Setup/Panel/Menu"]
layout_mode = 2
text = "Host Match"
[node name="JoinButton" type="Button" parent="Panel/Menu"]
[node name="JoinButton" type="Button" parent="Setup/Panel/Menu"]
layout_mode = 2
text = "Join Match"
[node name="BackButton" type="Button" parent="Panel/Menu"]
[node name="BackButton" type="Button" parent="Setup/Panel/Menu"]
layout_mode = 2
text = "Back"
[node name="Hosting" type="VBoxContainer" parent="Panel"]
[node name="Hosting" type="VBoxContainer" parent="Setup/Panel"]
unique_name_in_owner = true
visible = false
layout_mode = 2
alignment = 1
[node name="Label" type="Label" parent="Panel/Hosting"]
[node name="Label" type="Label" parent="Setup/Panel/Hosting"]
layout_mode = 2
text = "HOSTING MATCH"
horizontal_alignment = 1
[node name="HBoxContainer" type="HBoxContainer" parent="Panel/Hosting"]
[node name="HBoxContainer" type="HBoxContainer" parent="Setup/Panel/Hosting"]
layout_mode = 2
[node name="Label" type="Label" parent="Panel/Hosting/HBoxContainer"]
[node name="Label" type="Label" parent="Setup/Panel/Hosting/HBoxContainer"]
layout_mode = 2
text = "Handle"
[node name="HostHandle" type="TextEdit" parent="Panel/Hosting/HBoxContainer"]
[node name="HostHandle" type="TextEdit" parent="Setup/Panel/Hosting/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
[node name="HostButton" type="Button" parent="Panel/Hosting"]
[node name="HostButton" type="Button" parent="Setup/Panel/Hosting"]
layout_mode = 2
text = "HOST"
[node name="BackButton" type="Button" parent="Panel/Hosting"]
[node name="BackButton" type="Button" parent="Setup/Panel/Hosting"]
layout_mode = 2
text = "Back"
[node name="Host Waiting" type="VBoxContainer" parent="Panel"]
[node name="Host Waiting" type="VBoxContainer" parent="Setup/Panel"]
unique_name_in_owner = true
visible = false
layout_mode = 2
alignment = 1
[node name="Label" type="Label" parent="Panel/Host Waiting"]
[node name="Label" type="Label" parent="Setup/Panel/Host Waiting"]
layout_mode = 2
text = "WAITING FOR OPPONENT"
horizontal_alignment = 1
[node name="PanelContainer" type="PanelContainer" parent="Panel/Host Waiting"]
[node name="PanelContainer" type="PanelContainer" parent="Setup/Panel/Host Waiting"]
layout_mode = 2
[node name="ParticipantsText" type="RichTextLabel" parent="Panel/Host Waiting/PanelContainer"]
[node name="ParticipantsText" type="RichTextLabel" parent="Setup/Panel/Host Waiting/PanelContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(0, 70)
layout_mode = 2
@@ -96,62 +101,64 @@ bbcode_enabled = true
text = "[b]*YOU (Host)[/b]
[color=\"FFFF00\"]*THEM (Opponent)[/color]"
[node name="StartButton" type="Button" parent="Panel/Host Waiting"]
[node name="StartButton" type="Button" parent="Setup/Panel/Host Waiting"]
unique_name_in_owner = true
layout_mode = 2
disabled = true
text = "START"
[node name="BackButton" type="Button" parent="Panel/Host Waiting"]
[node name="ExitButton" type="Button" parent="Setup/Panel/Host Waiting"]
layout_mode = 2
text = "Back"
text = "EXIT"
[node name="Joining" type="VBoxContainer" parent="Panel"]
[node name="Joining" type="VBoxContainer" parent="Setup/Panel"]
unique_name_in_owner = true
visible = false
layout_mode = 2
alignment = 1
[node name="Label" type="Label" parent="Panel/Joining"]
[node name="Label" type="Label" parent="Setup/Panel/Joining"]
layout_mode = 2
text = "JOINING MATCH"
horizontal_alignment = 1
[node name="HBoxContainer" type="HBoxContainer" parent="Panel/Joining"]
[node name="HBoxContainer" type="HBoxContainer" parent="Setup/Panel/Joining"]
layout_mode = 2
[node name="Label" type="Label" parent="Panel/Joining/HBoxContainer"]
[node name="Label" type="Label" parent="Setup/Panel/Joining/HBoxContainer"]
layout_mode = 2
text = "HANDLE"
[node name="JoinHandle" type="TextEdit" parent="Panel/Joining/HBoxContainer"]
[node name="JoinHandle" type="TextEdit" parent="Setup/Panel/Joining/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
[node name="HBoxContainer2" type="HBoxContainer" parent="Panel/Joining"]
[node name="HBoxContainer2" type="HBoxContainer" parent="Setup/Panel/Joining"]
layout_mode = 2
[node name="Label" type="Label" parent="Panel/Joining/HBoxContainer2"]
[node name="Label" type="Label" parent="Setup/Panel/Joining/HBoxContainer2"]
layout_mode = 2
text = "MATCH CODE"
[node name="TextEdit" type="TextEdit" parent="Panel/Joining/HBoxContainer2"]
[node name="TextEdit" type="TextEdit" parent="Setup/Panel/Joining/HBoxContainer2"]
layout_mode = 2
size_flags_horizontal = 3
[node name="JoinButton" type="Button" parent="Panel/Joining"]
[node name="JoinButton" type="Button" parent="Setup/Panel/Joining"]
layout_mode = 2
text = "HOST"
text = "JOIN"
[node name="BackButton" type="Button" parent="Panel/Joining"]
[node name="BackButton" type="Button" parent="Setup/Panel/Joining"]
layout_mode = 2
text = "Back"
[connection signal="pressed" from="Panel/Menu/HostButton" to="." method="_on_host_game_button_pressed"]
[connection signal="pressed" from="Panel/Menu/JoinButton" to="." method="_on_join_game_button_pressed"]
[connection signal="pressed" from="Panel/Menu/BackButton" to="." method="_on_menu_back_button_pressed"]
[connection signal="pressed" from="Panel/Hosting/HostButton" to="." method="_on_start_hosting_button_pressed"]
[connection signal="pressed" from="Panel/Hosting/BackButton" to="." method="_on_hosting_back_button_pressed"]
[connection signal="pressed" from="Panel/Host Waiting/StartButton" to="." method="_on_start_game_button_pressed"]
[connection signal="pressed" from="Panel/Host Waiting/BackButton" to="." method="_on_waiting_back_button_pressed"]
[connection signal="pressed" from="Panel/Joining/JoinButton" to="." method="_on_join_button_pressed"]
[connection signal="pressed" from="Panel/Joining/BackButton" to="." method="_on_joining_back_button_pressed"]
[connection signal="pressed" from="Setup/Panel/Menu/HostButton" to="." method="_on_host_game_button_pressed"]
[connection signal="pressed" from="Setup/Panel/Menu/JoinButton" to="." method="_on_join_game_button_pressed"]
[connection signal="pressed" from="Setup/Panel/Menu/BackButton" to="." method="_on_menu_back_button_pressed"]
[connection signal="pressed" from="Setup/Panel/Hosting/HostButton" to="." method="_on_start_hosting_button_pressed"]
[connection signal="pressed" from="Setup/Panel/Hosting/BackButton" to="." method="_on_hosting_back_button_pressed"]
[connection signal="pressed" from="Setup/Panel/Host Waiting/StartButton" to="." method="_on_start_game_button_pressed"]
[connection signal="pressed" from="Setup/Panel/Host Waiting/ExitButton" to="." method="_on_waiting_back_button_pressed"]
[connection signal="pressed" from="Setup/Panel/Joining/JoinButton" to="." method="_on_join_button_pressed"]
[connection signal="pressed" from="Setup/Panel/Joining/BackButton" to="." method="_on_joining_back_button_pressed"]

View File

@@ -1,16 +1,17 @@
[gd_scene load_steps=6 format=3 uid="uid://ti65jukt8gvs"]
[ext_resource type="PackedScene" uid="uid://bgocskbofewsr" path="res://templates/HUD.tscn" id="1_q2h5d"]
[ext_resource type="Texture2D" uid="uid://bj07x13pkoevk" path="res://visuals/textures/tile.png" id="2_02mmr"]
[ext_resource type="Script" uid="uid://cymi1n4gavixy" path="res://scripts/level_camera.gd" id="3_qfwdi"]
[ext_resource type="PackedScene" uid="uid://cqe6hkn2oncpc" path="res://templates/multiplayer_pc.tscn" id="4_q2h5d"]
[ext_resource type="Script" uid="uid://ccj72thiebvx8" path="res://scripts/multiplayer_level.gd" id="1_qfwdi"]
[ext_resource type="Texture2D" uid="uid://bj07x13pkoevk" path="res://models/floor.png" id="2_02mmr"]
[ext_resource type="Script" uid="uid://nn76jlxer5qb" path="res://scripts/multiplayer_spawner.gd" id="5_02mmr"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gbhdq"]
albedo_texture = ExtResource("2_02mmr")
uv1_scale = Vector3(100, 100, 100)
texture_filter = 0
[node name="Node3D" type="Node3D"]
[node name="MultiplayerTest" type="Node3D"]
script = ExtResource("1_qfwdi")
[node name="CanvasLayer" type="CanvasLayer" parent="."]
layer = 1000
@@ -21,22 +22,25 @@ layer = 1000
size = Vector3(100, 1, 100)
material = SubResource("StandardMaterial3D_gbhdq")
[node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.49999997, 0.86602545, 0, -0.86602545, 0.49999997, 0, 18.855, 9.603047)
projection = 1
size = 5.0
script = ExtResource("3_qfwdi")
[node name="MultiplayerPC" parent="." instance=ExtResource("4_q2h5d")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
[node name="OmniLight3D" type="OmniLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 18.508709, 0)
omni_range = 25.142
omni_attenuation = -0.165
[node name="MultiplayerSpawner" type="MultiplayerSpawner" parent="."]
[node name="Spawner" type="MultiplayerSpawner" parent="." groups=["spawner"]]
unique_name_in_owner = true
spawn_path = NodePath("../Players")
spawn_limit = 2
script = ExtResource("5_02mmr")
[node name="SpawnPoints" type="Node" parent="Spawner"]
[node name="Node3D" type="Node3D" parent="Spawner/SpawnPoints"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19.415695, 0, 0)
[node name="Node3D2" type="Node3D" parent="Spawner/SpawnPoints"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.23061, 0, 0)
[node name="Players" type="Node3D" parent="."]
[node name="GridMap" type="GridMap" parent="."]

View File

@@ -1,7 +1,7 @@
[gd_scene load_steps=9 format=3 uid="uid://by6suwmds7xq2"]
[ext_resource type="PackedScene" uid="uid://bgocskbofewsr" path="res://templates/HUD.tscn" id="1_x4b8f"]
[ext_resource type="Texture2D" uid="uid://bj07x13pkoevk" path="res://visuals/textures/tile.png" id="2_tmr53"]
[ext_resource type="Texture2D" uid="uid://bj07x13pkoevk" path="res://models/floor.png" id="2_tmr53"]
[ext_resource type="Script" uid="uid://cymi1n4gavixy" path="res://scripts/level_camera.gd" id="3_qcd3b"]
[ext_resource type="Script" uid="uid://bcs7ygh6s3l35" path="res://scripts/player.gd" id="4_88ety"]