Removed script select from the robotlist and added current script name to display.

This commit is contained in:
2026-05-06 09:50:42 +02:00
parent 18b76f3cbc
commit 4e760d4c0d
4 changed files with 13 additions and 10 deletions
+5 -5
View File
@@ -2,7 +2,7 @@
[ext_resource type="Script" uid="uid://dcxom1paffp0p" path="res://Scripts/Robot/RobotDisplay.cs" id="1_ltmdd"] [ext_resource type="Script" uid="uid://dcxom1paffp0p" path="res://Scripts/Robot/RobotDisplay.cs" id="1_ltmdd"]
[node name="Robot" type="PanelContainer" unique_id=247502695 node_paths=PackedStringArray("listItem")] [node name="Robot" type="PanelContainer" unique_id=247502695 node_paths=PackedStringArray("listItem", "currentScript")]
anchors_preset = 14 anchors_preset = 14
anchor_top = 0.5 anchor_top = 0.5
anchor_right = 1.0 anchor_right = 1.0
@@ -12,6 +12,7 @@ grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
script = ExtResource("1_ltmdd") script = ExtResource("1_ltmdd")
listItem = NodePath("HBoxContainer/ListItem") listItem = NodePath("HBoxContainer/ListItem")
currentScript = NodePath("HBoxContainer/CurrentScript")
[node name="HBoxContainer" type="HBoxContainer" parent="." unique_id=906487472] [node name="HBoxContainer" type="HBoxContainer" parent="." unique_id=906487472]
layout_mode = 2 layout_mode = 2
@@ -20,6 +21,7 @@ alignment = 1
[node name="ListItem" type="RichTextLabel" parent="HBoxContainer" unique_id=46246913] [node name="ListItem" type="RichTextLabel" parent="HBoxContainer" unique_id=46246913]
layout_mode = 2 layout_mode = 2
size_flags_horizontal = 3
text = "Robot #1" text = "Robot #1"
fit_content = true fit_content = true
autowrap_mode = 0 autowrap_mode = 0
@@ -28,18 +30,16 @@ vertical_alignment = 1
[node name="Jump" type="Button" parent="HBoxContainer" unique_id=391426419] [node name="Jump" type="Button" parent="HBoxContainer" unique_id=391426419]
layout_mode = 2 layout_mode = 2
size_flags_horizontal = 3
text = "Jump to" text = "Jump to"
[node name="CurrentScript" type="RichTextLabel" parent="HBoxContainer" unique_id=425408407] [node name="CurrentScript" type="RichTextLabel" parent="HBoxContainer" unique_id=425408407]
layout_mode = 2 layout_mode = 2
size_flags_horizontal = 3
text = "Scriptname" text = "Scriptname"
fit_content = true fit_content = true
autowrap_mode = 0 autowrap_mode = 0
horizontal_alignment = 1 horizontal_alignment = 1
vertical_alignment = 1 vertical_alignment = 1
[node name="ScriptSelect" type="MenuButton" parent="HBoxContainer" unique_id=63458827]
layout_mode = 2
text = "Select script..."
[connection signal="pressed" from="HBoxContainer/Jump" to="." method="OnJumpToClicked"] [connection signal="pressed" from="HBoxContainer/Jump" to="." method="OnJumpToClicked"]
+1
View File
@@ -114,6 +114,7 @@ public partial class CodingWindow : PanelContainer
} }
if (nodes.Count > 0) robot.SetupExecution(nodes); if (nodes.Count > 0) robot.SetupExecution(nodes);
robot.currentProgram = scriptName.Text.Length <= 0 ? $"Script{availableScripts.ItemCount}" : scriptName.Text;
} }
public void SetRobot(Robot robot) public void SetRobot(Robot robot)
+1 -4
View File
@@ -8,6 +8,7 @@ public partial class Robot : Node3D
List<ProgramNode> nodes; List<ProgramNode> nodes;
bool isExecuting = false; bool isExecuting = false;
ProgramNode currentNode; ProgramNode currentNode;
public string currentProgram;
public override void _Ready() public override void _Ready()
{ {
@@ -40,10 +41,6 @@ public partial class Robot : Node3D
Visible = Math.Round(Math.Abs(Position.Y / GameData.tileHeight), 0) == GameData.visibleLayer; Visible = Math.Round(Math.Abs(Position.Y / GameData.tileHeight), 0) == GameData.visibleLayer;
}
public void Move()
{
} }
public void SetupExecution(List<ProgramNode> nodes) public void SetupExecution(List<ProgramNode> nodes)
+6 -1
View File
@@ -1,8 +1,10 @@
using System.Collections.Generic;
using Godot; using Godot;
public partial class RobotDisplay : PanelContainer public partial class RobotDisplay : PanelContainer
{ {
[Export] public RichTextLabel listItem; [Export] public RichTextLabel listItem;
[Export] public RichTextLabel currentScript;
[Signal] [Signal]
public delegate void OnRobotJumpToEventHandler(Robot robot); public delegate void OnRobotJumpToEventHandler(Robot robot);
public Robot robot; public Robot robot;
@@ -13,7 +15,10 @@ public partial class RobotDisplay : PanelContainer
public override void _Process(double delta) public override void _Process(double delta)
{ {
if (robot.currentProgram != currentScript.Text)
{
currentScript.Text = robot.currentProgram;
}
} }
public void OnJumpToClicked() public void OnJumpToClicked()