From 287cb4df783a0a0ac4b2215167970caa7c71c6d3 Mon Sep 17 00:00:00 2001 From: = <=> Date: Tue, 28 Apr 2026 11:09:47 +0200 Subject: [PATCH] Restructered project folders --- Prefabs/Layer.tscn | 2 +- Scenes/Game.tscn | 26 +++++++++++++---- Scenes/MainMenu.tscn | 2 +- Scripts/{ => DSL}/CodingWindow.cs | 28 ++++++++++++++++++- Scripts/{ => DSL}/CodingWindow.cs.uid | 0 Scripts/Helpers/GameData.cs | 4 +++ Scripts/{ => Helpers}/SteamworksHandler.cs | 0 .../{ => Helpers}/SteamworksHandler.cs.uid | 0 Scripts/{ => Menus}/MainMenu.cs | 0 Scripts/{ => Menus}/MainMenu.cs.uid | 0 Scripts/{Helpers => WorldGeneration}/Layer.cs | 0 .../{Helpers => WorldGeneration}/Layer.cs.uid | 0 Scripts/{ => WorldGeneration}/Tile.cs | 0 Scripts/{ => WorldGeneration}/Tile.cs.uid | 0 Scripts/{Helpers => WorldGeneration}/WFC.cs | 0 .../{Helpers => WorldGeneration}/WFC.cs.uid | 0 Scripts/{ => WorldGeneration}/World.cs | 6 ++-- Scripts/{ => WorldGeneration}/World.cs.uid | 0 18 files changed, 57 insertions(+), 11 deletions(-) rename Scripts/{ => DSL}/CodingWindow.cs (60%) rename Scripts/{ => DSL}/CodingWindow.cs.uid (100%) rename Scripts/{ => Helpers}/SteamworksHandler.cs (100%) rename Scripts/{ => Helpers}/SteamworksHandler.cs.uid (100%) rename Scripts/{ => Menus}/MainMenu.cs (100%) rename Scripts/{ => Menus}/MainMenu.cs.uid (100%) rename Scripts/{Helpers => WorldGeneration}/Layer.cs (100%) rename Scripts/{Helpers => WorldGeneration}/Layer.cs.uid (100%) rename Scripts/{ => WorldGeneration}/Tile.cs (100%) rename Scripts/{ => WorldGeneration}/Tile.cs.uid (100%) rename Scripts/{Helpers => WorldGeneration}/WFC.cs (100%) rename Scripts/{Helpers => WorldGeneration}/WFC.cs.uid (100%) rename Scripts/{ => WorldGeneration}/World.cs (96%) rename Scripts/{ => WorldGeneration}/World.cs.uid (100%) diff --git a/Prefabs/Layer.tscn b/Prefabs/Layer.tscn index 8fc877e..f261ad2 100644 --- a/Prefabs/Layer.tscn +++ b/Prefabs/Layer.tscn @@ -1,6 +1,6 @@ [gd_scene format=3 uid="uid://ck10wk10me3tx"] -[ext_resource type="Script" path="res://Scripts/Helpers/Layer.cs" id="1_trar1"] +[ext_resource type="Script" path="res://Scripts/WorldGeneration/Layer.cs" id="1_trar1"] [node name="Node3D" type="Node3D" unique_id=724642284] script = ExtResource("1_trar1") diff --git a/Scenes/Game.tscn b/Scenes/Game.tscn index 3a00d8c..995567d 100644 --- a/Scenes/Game.tscn +++ b/Scenes/Game.tscn @@ -1,11 +1,11 @@ [gd_scene format=3 uid="uid://cgsmfi2s51cbd"] -[ext_resource type="Script" uid="uid://br2udyi6t8yvf" path="res://Scripts/World.cs" id="1_kldst"] -[ext_resource type="Script" uid="uid://dqrdb3bvws6b6" path="res://Scripts/SteamworksHandler.cs" id="2_b2bpf"] +[ext_resource type="Script" path="res://Scripts/WorldGeneration/World.cs" id="1_7lihs"] +[ext_resource type="Script" uid="uid://dqrdb3bvws6b6" path="res://Scripts/Helpers/SteamworksHandler.cs" id="2_b2bpf"] [ext_resource type="Script" uid="uid://c7khr6oist3ku" path="res://Scripts/Camera3d.cs" id="3_7lihs"] [ext_resource type="Script" uid="uid://bm7knir4552j5" path="res://Scripts/Helpers/UIHandler.cs" id="4_fgofq"] [ext_resource type="Texture2D" uid="uid://bmcpkt6mae2qi" path="res://Assets/AlarmSign.png" id="5_b2bpf"] -[ext_resource type="Script" uid="uid://bsd6n6b06a4pe" path="res://Scripts/CodingWindow.cs" id="6_7lihs"] +[ext_resource type="Script" uid="uid://bsd6n6b06a4pe" path="res://Scripts/DSL/CodingWindow.cs" id="6_7lihs"] [sub_resource type="CompressedTexture2D" id="CompressedTexture2D_u44n3"] @@ -27,10 +27,16 @@ bg_color = Color(0.053073194, 0.053073194, 0.053073194, 1) [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_7lihs"] bg_color = Color(0, 0, 0, 0.7647059) +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_fgofq"] +bg_color = Color(0.64705884, 0.58431375, 0.79607844, 0.5176471) + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_2irst"] +bg_color = Color(0.44442034, 0.29004335, 0.54089326, 1) + [node name="Main" type="Node3D" unique_id=234207355] [node name="World" type="Node3D" parent="." unique_id=770208789] -script = ExtResource("1_kldst") +script = ExtResource("1_7lihs") [node name="SteamworksHandler" type="Node" parent="." unique_id=1183440473] script = ExtResource("2_b2bpf") @@ -106,7 +112,6 @@ layout_mode = 2 size_flags_vertical = 3 [node name="CodingWindow" type="PanelContainer" parent="Control/MainUI/Content" unique_id=1576652491] -visible = false layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 @@ -123,6 +128,7 @@ size_flags_vertical = 3 [node name="CodeBlocks" type="ScrollContainer" parent="Control/MainUI/Content/CodingWindow/HBoxContainer" unique_id=1196874464] custom_minimum_size = Vector2(200, 0) layout_mode = 2 +theme_override_styles/panel = SubResource("StyleBoxFlat_fgofq") [node name="VBoxContainer" type="VBoxContainer" parent="Control/MainUI/Content/CodingWindow/HBoxContainer/CodeBlocks" unique_id=1751038712] layout_mode = 2 @@ -134,9 +140,19 @@ theme_override_constants/separation = 10 layout_mode = 2 size_flags_horizontal = 3 +[node name="Panel" type="Panel" parent="Control/MainUI/Content/CodingWindow/HBoxContainer/EditorWindow" unique_id=1694893754] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/panel = SubResource("StyleBoxFlat_2irst") + [node name="Robotlist" type="ScrollContainer" parent="Control/MainUI/Content/CodingWindow/HBoxContainer" unique_id=592644944] custom_minimum_size = Vector2(200, 0) layout_mode = 2 +theme_override_styles/panel = SubResource("StyleBoxFlat_fgofq") [node name="VBoxContainer" type="VBoxContainer" parent="Control/MainUI/Content/CodingWindow/HBoxContainer/Robotlist" unique_id=963718788] layout_mode = 2 diff --git a/Scenes/MainMenu.tscn b/Scenes/MainMenu.tscn index 34c7ab0..2e5f9ce 100644 --- a/Scenes/MainMenu.tscn +++ b/Scenes/MainMenu.tscn @@ -1,6 +1,6 @@ [gd_scene format=3 uid="uid://dlommaelbbw2b"] -[ext_resource type="Script" uid="uid://dda0bhhqspbr0" path="res://Scripts/MainMenu.cs" id="1_tt5f1"] +[ext_resource type="Script" uid="uid://dda0bhhqspbr0" path="res://Scripts/Menus/MainMenu.cs" id="1_tt5f1"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_bnhvo"] bg_color = Color(0.24115604, 0.24115607, 0.24115595, 1) diff --git a/Scripts/CodingWindow.cs b/Scripts/DSL/CodingWindow.cs similarity index 60% rename from Scripts/CodingWindow.cs rename to Scripts/DSL/CodingWindow.cs index fbeddd5..9e8ac41 100644 --- a/Scripts/CodingWindow.cs +++ b/Scripts/DSL/CodingWindow.cs @@ -12,7 +12,14 @@ public partial class CodingWindow : PanelContainer // Called every frame. 'delta' is the elapsed time since the previous frame. public override void _Process(double delta) { - if (Input.IsActionJustPressed("codingwindow")) Visible = !Visible; + if (Input.IsActionJustPressed("codingwindow")) + { + Visible = !Visible; + if (Visible) + { + ReloadRobots(); + } + } } //Move, Harvest, Craft @@ -31,4 +38,23 @@ public partial class CodingWindow : PanelContainer node3.GetNode("./Node/NodeContainer/NodeText").Text = "Craft"; GetNode("./HBoxContainer/CodeBlocks/VBoxContainer").AddChild(node3); } + + public void ReloadRobots() + { + VBoxContainer robotList = GetNode("./HBoxContainer/Robotlist/VBoxContainer"); + foreach(Node node in robotList.GetChildren()) + { + robotList.RemoveChild(node); + node.QueueFree(); + } + PackedScene nodePrefab = ResourceLoader.LoadProgramNodePrefab(); + Control robot; + + foreach (Robot robotObject in GameData.robots) + { + robot = nodePrefab.Instantiate(); + robot.GetNode("./Node/NodeContainer/NodeText").Text = robotObject.Position.ToString(); + GetNode("./HBoxContainer/Robotlist/VBoxContainer").AddChild(robot); + } + } } diff --git a/Scripts/CodingWindow.cs.uid b/Scripts/DSL/CodingWindow.cs.uid similarity index 100% rename from Scripts/CodingWindow.cs.uid rename to Scripts/DSL/CodingWindow.cs.uid diff --git a/Scripts/Helpers/GameData.cs b/Scripts/Helpers/GameData.cs index e0dd55f..2e57624 100644 --- a/Scripts/Helpers/GameData.cs +++ b/Scripts/Helpers/GameData.cs @@ -1,3 +1,4 @@ +using System.Collections.Generic; using Godot; public partial class GameData @@ -8,6 +9,9 @@ public partial class GameData public static int visibleLayer = 0; //Determines if the player can move the camera or not (Necessary for input and options menu) public static bool canMove = true; + public static int maxRobotCount = 1000; + public static List robots = new List(); + //--- PLAYER ADJUSTABLE VALUES --- //Color used in primary objects (e.g. Robots) public static Color primaryColor = new Color("#276ac2"); diff --git a/Scripts/SteamworksHandler.cs b/Scripts/Helpers/SteamworksHandler.cs similarity index 100% rename from Scripts/SteamworksHandler.cs rename to Scripts/Helpers/SteamworksHandler.cs diff --git a/Scripts/SteamworksHandler.cs.uid b/Scripts/Helpers/SteamworksHandler.cs.uid similarity index 100% rename from Scripts/SteamworksHandler.cs.uid rename to Scripts/Helpers/SteamworksHandler.cs.uid diff --git a/Scripts/MainMenu.cs b/Scripts/Menus/MainMenu.cs similarity index 100% rename from Scripts/MainMenu.cs rename to Scripts/Menus/MainMenu.cs diff --git a/Scripts/MainMenu.cs.uid b/Scripts/Menus/MainMenu.cs.uid similarity index 100% rename from Scripts/MainMenu.cs.uid rename to Scripts/Menus/MainMenu.cs.uid diff --git a/Scripts/Helpers/Layer.cs b/Scripts/WorldGeneration/Layer.cs similarity index 100% rename from Scripts/Helpers/Layer.cs rename to Scripts/WorldGeneration/Layer.cs diff --git a/Scripts/Helpers/Layer.cs.uid b/Scripts/WorldGeneration/Layer.cs.uid similarity index 100% rename from Scripts/Helpers/Layer.cs.uid rename to Scripts/WorldGeneration/Layer.cs.uid diff --git a/Scripts/Tile.cs b/Scripts/WorldGeneration/Tile.cs similarity index 100% rename from Scripts/Tile.cs rename to Scripts/WorldGeneration/Tile.cs diff --git a/Scripts/Tile.cs.uid b/Scripts/WorldGeneration/Tile.cs.uid similarity index 100% rename from Scripts/Tile.cs.uid rename to Scripts/WorldGeneration/Tile.cs.uid diff --git a/Scripts/Helpers/WFC.cs b/Scripts/WorldGeneration/WFC.cs similarity index 100% rename from Scripts/Helpers/WFC.cs rename to Scripts/WorldGeneration/WFC.cs diff --git a/Scripts/Helpers/WFC.cs.uid b/Scripts/WorldGeneration/WFC.cs.uid similarity index 100% rename from Scripts/Helpers/WFC.cs.uid rename to Scripts/WorldGeneration/WFC.cs.uid diff --git a/Scripts/World.cs b/Scripts/WorldGeneration/World.cs similarity index 96% rename from Scripts/World.cs rename to Scripts/WorldGeneration/World.cs index 1b486c1..5cac928 100644 --- a/Scripts/World.cs +++ b/Scripts/WorldGeneration/World.cs @@ -84,12 +84,12 @@ public partial class World : Node3D visibleLayer = currentLayer; } - if (Input.IsActionJustPressed("spawn_robot")) + if (Input.IsActionJustPressed("spawn_robot") && robots.Count < maxRobotCount) { Robot robot = ResourceLoader.LoadRobotPrefab().Instantiate(); - robot.Position = map[0].tiles[1, 1].Position; - robot.Position -= new Vector3(0, 1.5f, 0); + robot.Position = map[0].tiles[rand.Next(layerSize), rand.Next(layerSize)].Position; AddChild(robot); + robots.Add(robot); } } diff --git a/Scripts/World.cs.uid b/Scripts/WorldGeneration/World.cs.uid similarity index 100% rename from Scripts/World.cs.uid rename to Scripts/WorldGeneration/World.cs.uid