Improved UI calls
This commit is contained in:
+37
-3
@@ -353,6 +353,40 @@ text = "Exit"
|
|||||||
visible = false
|
visible = false
|
||||||
layout_mode = 1
|
layout_mode = 1
|
||||||
|
|
||||||
|
[node name="Inventory" type="PanelContainer" parent="CanvasLayer/UIHandler/MainUI/Content" unique_id=407422598]
|
||||||
|
visible = false
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 11
|
||||||
|
anchor_left = 1.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
offset_left = -525.0
|
||||||
|
grow_horizontal = 0
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer/UIHandler/MainUI/Content/Inventory" unique_id=1776118554]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Title" type="RichTextLabel" parent="CanvasLayer/UIHandler/MainUI/Content/Inventory/VBoxContainer" unique_id=1356874082]
|
||||||
|
layout_mode = 2
|
||||||
|
bbcode_enabled = true
|
||||||
|
text = "[font_size=32]Inventory[/font_size]"
|
||||||
|
fit_content = true
|
||||||
|
autowrap_mode = 0
|
||||||
|
horizontal_alignment = 1
|
||||||
|
|
||||||
|
[node name="ScrollContainer" type="ScrollContainer" parent="CanvasLayer/UIHandler/MainUI/Content/Inventory/VBoxContainer" unique_id=1743833752]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
|
theme_override_styles/panel = SubResource("StyleBoxFlat_fgofq")
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer/UIHandler/MainUI/Content/Inventory/VBoxContainer/ScrollContainer" unique_id=158199023]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
|
theme_override_constants/separation = 10
|
||||||
|
|
||||||
[node name="FooterContainer" type="PanelContainer" parent="CanvasLayer/UIHandler/MainUI" unique_id=1495029884]
|
[node name="FooterContainer" type="PanelContainer" parent="CanvasLayer/UIHandler/MainUI" unique_id=1495029884]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
@@ -391,6 +425,6 @@ texture_normal = ExtResource("12_3so38")
|
|||||||
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/Content/Menu/VBoxContainer/Button" to="CanvasLayer/UIHandler" method="HandleMenu"]
|
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/Content/Menu/VBoxContainer/Button" to="CanvasLayer/UIHandler" method="HandleMenu"]
|
||||||
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/Content/Menu/VBoxContainer/Button2" to="CanvasLayer/UIHandler" method="ShowOptions"]
|
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/Content/Menu/VBoxContainer/Button2" to="CanvasLayer/UIHandler" method="ShowOptions"]
|
||||||
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/Content/Menu/VBoxContainer/Button3" to="CanvasLayer/UIHandler" method="ExitGame"]
|
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/Content/Menu/VBoxContainer/Button3" to="CanvasLayer/UIHandler" method="ExitGame"]
|
||||||
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/FooterContainer/HBoxContainer/Map" to="CanvasLayer/UIHandler/MainUI/Content/Map" method="ShowMap"]
|
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/FooterContainer/HBoxContainer/Map" to="CanvasLayer/UIHandler" method="HandleMapButton"]
|
||||||
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/FooterContainer/HBoxContainer/Robots" to="CanvasLayer/UIHandler/MainUI/Content/RobotList" method="ShowList"]
|
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/FooterContainer/HBoxContainer/Robots" to="CanvasLayer/UIHandler" method="HandleRobotListButton"]
|
||||||
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/FooterContainer/HBoxContainer/Options" to="CanvasLayer/UIHandler" method="HandleMenu"]
|
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/FooterContainer/HBoxContainer/Options" to="CanvasLayer/UIHandler" method="HandleMenuButton"]
|
||||||
|
|||||||
@@ -20,11 +20,6 @@ public partial class Camera3d : Camera3D
|
|||||||
public override void _Process(double delta)
|
public override void _Process(double delta)
|
||||||
{
|
{
|
||||||
if (canMove) MoveCamera(delta);
|
if (canMove) MoveCamera(delta);
|
||||||
if (Input.IsActionJustPressed("map"))
|
|
||||||
{
|
|
||||||
isShowingMap = !isShowingMap;
|
|
||||||
canMove = !isShowingMap;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void MoveCamera(double delta)
|
public void MoveCamera(double delta)
|
||||||
|
|||||||
@@ -23,12 +23,6 @@ public partial class CodingWindow : PanelContainer
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ShowWindow(Robot robot)
|
|
||||||
{
|
|
||||||
Visible = true;
|
|
||||||
this.robot = robot;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Move, Harvest, Craft
|
//Move, Harvest, Craft
|
||||||
public void GenerateCodingBlocks()
|
public void GenerateCodingBlocks()
|
||||||
{
|
{
|
||||||
@@ -74,4 +68,9 @@ public partial class CodingWindow : PanelContainer
|
|||||||
|
|
||||||
if(nodes.Count > 0) robot.SetupExecution(nodes);
|
if(nodes.Count > 0) robot.SetupExecution(nodes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SetRobot(Robot robot)
|
||||||
|
{
|
||||||
|
this.robot = robot;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Godot;
|
using Godot;
|
||||||
@@ -14,6 +15,8 @@ public partial class UIHandler : Control
|
|||||||
[Export] PanelContainer options;
|
[Export] PanelContainer options;
|
||||||
[Export] Control uiContent;
|
[Export] Control uiContent;
|
||||||
[Export] PanelContainer menu;
|
[Export] PanelContainer menu;
|
||||||
|
|
||||||
|
bool receivedRobotJumpSignal = false;
|
||||||
public override void _Ready()
|
public override void _Ready()
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -24,50 +27,33 @@ public partial class UIHandler : Control
|
|||||||
{
|
{
|
||||||
robotList.OnRobotJumpTo += (robot) =>
|
robotList.OnRobotJumpTo += (robot) =>
|
||||||
{
|
{
|
||||||
|
if(receivedRobotJumpSignal) return;
|
||||||
|
receivedRobotJumpSignal = true;
|
||||||
mainCam.Position = new Vector3(robot.Position.X, mainCam.Position.Y, robot.Position.Z + 3f);
|
mainCam.Position = new Vector3(robot.Position.X, mainCam.Position.Y, robot.Position.Z + 3f);
|
||||||
ShowCodingWindow(robot);
|
codingWindow.SetRobot(robot);
|
||||||
|
OpenUIElement(codingWindow);
|
||||||
};
|
};
|
||||||
|
|
||||||
if (Input.IsActionJustPressed("map"))
|
if (Input.IsActionJustPressed("map")) HandleMapButton();
|
||||||
{
|
if (Input.IsActionJustPressed("menu")) HandleMenuButton();
|
||||||
map.ShowMap(false);
|
if (Input.IsActionJustPressed("robot_list")) HandleRobotListButton();
|
||||||
}
|
|
||||||
|
|
||||||
if (Input.IsActionJustPressed("menu"))
|
|
||||||
{
|
|
||||||
HandleMenu();
|
|
||||||
}
|
|
||||||
|
|
||||||
DisplayStats();
|
DisplayStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void HandleMenu()
|
public void HandleMenuButton()
|
||||||
{
|
{
|
||||||
bool shouldMenuOpen = true;
|
OpenUIElement(menu);
|
||||||
foreach (PanelContainer element in uiContent.GetChildren())
|
|
||||||
{
|
|
||||||
if (element.Visible)
|
|
||||||
{
|
|
||||||
element.Visible = false;
|
|
||||||
shouldMenuOpen = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shouldMenuOpen)
|
public void HandleMapButton()
|
||||||
{
|
{
|
||||||
menu.Visible = true;
|
OpenUIElement(map);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ChangeColor(Color color)
|
public void HandleRobotListButton()
|
||||||
{
|
{
|
||||||
GameData.lightColor = color;
|
receivedRobotJumpSignal = false;
|
||||||
LightHandler.RedrawLights(color);
|
OpenUIElement(robotList);
|
||||||
}
|
|
||||||
|
|
||||||
public void ShowCodingWindow(Robot robot)
|
|
||||||
{
|
|
||||||
codingWindow.ShowWindow(robot);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void DisplayStats()
|
public void DisplayStats()
|
||||||
@@ -78,13 +64,31 @@ public partial class UIHandler : Control
|
|||||||
RAM.Text = memoryDisplay;
|
RAM.Text = memoryDisplay;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ShowOptions()
|
|
||||||
{
|
|
||||||
options.Visible = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ExitGame()
|
public void ExitGame()
|
||||||
{
|
{
|
||||||
GetTree().ChangeSceneToFile("res://Scenes/MainMenu.tscn");
|
GetTree().ChangeSceneToFile("res://Scenes/MainMenu.tscn");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void OpenUIElement(Control element)
|
||||||
|
{
|
||||||
|
if (element.Visible)
|
||||||
|
{
|
||||||
|
element.Hide();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
element.Show();
|
||||||
|
}
|
||||||
|
HideUIElements(element);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void HideUIElements(Control element)
|
||||||
|
{
|
||||||
|
foreach (PanelContainer child in uiContent.GetChildren())
|
||||||
|
{
|
||||||
|
GD.Print(child == element);
|
||||||
|
if (child == element) continue;
|
||||||
|
child.Visible = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,17 +16,16 @@ public partial class RobotList : PanelContainer
|
|||||||
// Called every frame. 'delta' is the elapsed time since the previous frame.
|
// Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
public override void _Process(double delta)
|
public override void _Process(double delta)
|
||||||
{
|
{
|
||||||
if (Input.IsActionJustPressed("robot_list"))
|
|
||||||
{
|
|
||||||
ShowList();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ShowList()
|
public override void _Notification(int id)
|
||||||
|
{
|
||||||
|
if (id == NotificationVisibilityChanged)
|
||||||
{
|
{
|
||||||
Visible = !Visible;
|
|
||||||
if (Visible) ReloadRobots();
|
if (Visible) ReloadRobots();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void ReloadRobots()
|
public void ReloadRobots()
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user