Refactored to allow hotseat and multiplayer. TODO: Create interface class for webrtc/enet multiplayer

This commit is contained in:
Sch1nken 2024-03-22 01:37:05 +01:00
parent d688eaf9c6
commit 5fe8f22ccb
27 changed files with 798 additions and 135 deletions

View file

@ -1,37 +1,21 @@
[gd_scene load_steps=23 format=3 uid="uid://bx0bbrwdr0h40"]
[gd_scene load_steps=22 format=3 uid="uid://bx0bbrwdr0h40"]
[ext_resource type="Script" path="res://Game.gd" id="1_dgt1j"]
[ext_resource type="Script" path="res://Misc/RTSCamera3D.gd" id="1_dtmfo"]
[ext_resource type="Script" path="res://HexGrid3D/HexGrid3D.gd" id="2_suxca"]
[ext_resource type="Script" path="res://GameEndChecker.gd" id="2_ufkw3"]
[ext_resource type="Texture2D" uid="uid://cilgpyanfb3a8" path="res://Testbed/textures/wood_table_001_diff_4k.jpg" id="3_w3jge"]
[ext_resource type="Texture2D" uid="uid://diamo44e2x4if" path="res://Testbed/textures/wood_table_001_disp_4k.png" id="4_b7cy7"]
[ext_resource type="Texture2D" uid="uid://b6ejmikbfrprs" path="res://Testbed/textures/wood_table_001_rough_4k.jpg" id="5_lck42"]
[ext_resource type="Material" uid="uid://dv2oo7hlc5nyy" path="res://Testbed/Table.tres" id="5_u4p4p"]
[ext_resource type="Script" path="res://WebLightChecker.gd" id="6_41m5i"]
[ext_resource type="Script" path="res://UI/BuildMenu.gd" id="7_1oc55"]
[ext_resource type="PackedScene" uid="uid://bo8hgq66dbbb6" path="res://UI/insect_button.tscn" id="8_lfn34"]
[ext_resource type="Script" path="res://Table.gd" id="8_ys5y3"]
[ext_resource type="Texture2D" uid="uid://d2i5vboeyq8qx" path="res://UI/hex_white.svg" id="11_cl0he"]
[ext_resource type="Script" path="res://GameOverMenu.gd" id="11_ffmss"]
[ext_resource type="Script" path="res://MenuButtons.gd" id="11_urihv"]
[ext_resource type="Script" path="res://TurnTexture.gd" id="12_kjwp8"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_u8oxs"]
albedo_texture = ExtResource("3_w3jge")
roughness_texture = ExtResource("5_lck42")
roughness_texture_channel = 4
normal_enabled = true
normal_scale = 0.1
normal_texture = ExtResource("4_b7cy7")
heightmap_scale = 1.0
heightmap_deep_parallax = true
heightmap_min_layers = 1
heightmap_max_layers = 1
heightmap_texture = ExtResource("4_b7cy7")
refraction_scale = 0.28
refraction_texture = ExtResource("4_b7cy7")
texture_filter = 5
[ext_resource type="PackedScene" uid="uid://8ffmln680deh" path="res://Testbed/Rules.tscn" id="12_xhim1"]
[sub_resource type="PlaneMesh" id="PlaneMesh_cu5ir"]
material = SubResource("StandardMaterial3D_u8oxs")
material = ExtResource("5_u4p4p")
size = Vector2(50, 50)
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_dv0dt"]
@ -40,12 +24,22 @@ size = Vector2(50, 50)
sky_material = SubResource("ProceduralSkyMaterial_dv0dt")
[sub_resource type="Environment" id="Environment_xoohw"]
background_mode = 2
background_mode = 1
background_energy_multiplier = 0.0
sky = SubResource("Sky_v4pi7")
ambient_light_source = 2
ambient_light_color = Color(1, 1, 1, 1)
ambient_light_energy = 0.3
tonemap_mode = 1
ssao_enabled = true
fog_light_color = Color(0, 0, 0, 1)
fog_density = 0.3
[sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_41x5h"]
dof_blur_far_enabled = true
dof_blur_far_distance = 15.0
dof_blur_far_transition = 10.0
dof_blur_near_enabled = true
[sub_resource type="Gradient" id="Gradient_pctcs"]
interpolation_mode = 2
@ -84,6 +78,7 @@ script = ExtResource("2_suxca")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
mesh = SubResource("PlaneMesh_cu5ir")
script = ExtResource("8_ys5y3")
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_xoohw")
@ -92,6 +87,8 @@ camera_attributes = SubResource("CameraAttributesPractical_41x5h")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(0.843961, -0.46784, 0.262404, -0.0775016, 0.377705, 0.922677, -0.530777, -0.79904, 0.28251, 0.262159, 3.27869, -0.104568)
light_color = Color(1, 0.941176, 0.823529, 1)
light_energy = 0.8
light_indirect_energy = 0.8
shadow_enabled = true
directional_shadow_blend_splits = true
script = ExtResource("6_41m5i")
@ -162,12 +159,6 @@ alignment = 1
layout_mode = 2
mouse_filter = 0
[node name="BeeButton" parent="BuildMenu/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer2/LocalPlayerInsects" instance=ExtResource("8_lfn34")]
layout_mode = 2
[node name="VSeparator" type="VSeparator" parent="BuildMenu/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer2/LocalPlayerInsects"]
layout_mode = 2
[node name="PanelContainer2" type="PanelContainer" parent="BuildMenu/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer2"]
modulate = Color(1, 1, 1, 0)
layout_mode = 2
@ -230,13 +221,6 @@ mouse_filter = 2
layout_mode = 2
mouse_filter = 0
[node name="VSeparator" type="VSeparator" parent="BuildMenu/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer2/RemotePlayerInsects"]
layout_mode = 2
[node name="BeeButton" parent="BuildMenu/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer2/RemotePlayerInsects" instance=ExtResource("8_lfn34")]
layout_mode = 2
is_black = true
[node name="CurrentTurnDisplay" type="Control" parent="."]
layout_mode = 3
anchors_preset = 5
@ -249,6 +233,29 @@ size_flags_horizontal = 4
size_flags_vertical = 0
mouse_filter = 2
[node name="MenuButtons" type="Control" parent="."]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
script = ExtResource("11_urihv")
[node name="VBoxContainer" type="VBoxContainer" parent="MenuButtons"]
layout_mode = 0
offset_right = 40.0
offset_bottom = 40.0
[node name="MenuButton" type="Button" parent="MenuButtons/VBoxContainer"]
layout_mode = 2
text = "Menu"
[node name="RulesButton" type="Button" parent="MenuButtons/VBoxContainer"]
layout_mode = 2
text = "Rules"
[node name="Rules" parent="." instance=ExtResource("12_xhim1")]
visible = false
[node name="GameOverMenu" type="CanvasLayer" parent="."]
script = ExtResource("11_ffmss")
@ -284,4 +291,5 @@ text = "Back to menu"
[node name="PauseMenu" type="CanvasLayer" parent="."]
[connection signal="pressed" from="MenuButtons/VBoxContainer/RulesButton" to="MenuButtons" method="_on_rules_button_pressed"]
[connection signal="pressed" from="GameOverMenu/Control/PanelContainer/VBoxContainer/Button" to="GameOverMenu" method="_on_button_pressed"]