Refactor SelectedUnitPanel to enable unit info display and button functionality; add Godot project files for integration

This commit is contained in:
2025-08-08 16:25:46 +02:00
parent ba366157fd
commit b5c20b3032
6 changed files with 46 additions and 48 deletions

View File

@@ -3,17 +3,15 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17 # Visual Studio Version 17
VisualStudioVersion = 17.0.31903.59 VisualStudioVersion = 17.0.31903.59
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Lib", "Lib", "{F2AAD021-D793-4910-ADA2-9A655FAA3671}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Lib", "Lib", "{FC1FAD89-AEAA-4873-8CAD-D586E9776FD5}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Civilization.Core", "Lib\Civilization.Core\Civilization.Core.csproj", "{1947734F-D4AF-4B96-B576-1785A518CB06}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Civilization.Core", "Lib\Civilization.Core\Civilization.Core.csproj", "{BDB56C1A-FE23-4F49-A713-AF6121E79651}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Civilization.Shared", "Lib\Civilization.Shared\Civilization.Shared.csproj", "{EC2DA10E-1661-4CD3-AF51-59F2A7E6D74C}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Civilization.Shared", "Lib\Civilization.Shared\Civilization.Shared.csproj", "{2776AAB2-6500-4976-8E5F-0A67D52ED428}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Civilization.Server", "Lib\Civilization.Server\Civilization.Server.csproj", "{A210FD70-21DB-4D70-8E05-851C6BE9DF00}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Civilization.Server", "Lib\Civilization.Server\Civilization.Server.csproj", "{5929BEC7-1832-4C9E-A6E0-F750ED57C414}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "godot_game", "godot_game", "{00F50C86-6B92-4850-9DD3-B183DAB900BA}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Civilization.GodotIntegration", "godot_game\Civilization.GodotIntegration.csproj", "{3B32AE10-5C0C-4D72-8E5C-B17E29065A6D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Civilization.GodotIntegration", "godot_game\Civilization.GodotIntegration\Civilization.GodotIntegration.csproj", "{CD0D5AD9-EFF3-4DD8-A629-5CB8A898AE79}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -24,27 +22,26 @@ Global
HideSolutionNode = FALSE HideSolutionNode = FALSE
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{1947734F-D4AF-4B96-B576-1785A518CB06}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {BDB56C1A-FE23-4F49-A713-AF6121E79651}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1947734F-D4AF-4B96-B576-1785A518CB06}.Debug|Any CPU.Build.0 = Debug|Any CPU {BDB56C1A-FE23-4F49-A713-AF6121E79651}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1947734F-D4AF-4B96-B576-1785A518CB06}.Release|Any CPU.ActiveCfg = Release|Any CPU {BDB56C1A-FE23-4F49-A713-AF6121E79651}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1947734F-D4AF-4B96-B576-1785A518CB06}.Release|Any CPU.Build.0 = Release|Any CPU {BDB56C1A-FE23-4F49-A713-AF6121E79651}.Release|Any CPU.Build.0 = Release|Any CPU
{EC2DA10E-1661-4CD3-AF51-59F2A7E6D74C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2776AAB2-6500-4976-8E5F-0A67D52ED428}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EC2DA10E-1661-4CD3-AF51-59F2A7E6D74C}.Debug|Any CPU.Build.0 = Debug|Any CPU {2776AAB2-6500-4976-8E5F-0A67D52ED428}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EC2DA10E-1661-4CD3-AF51-59F2A7E6D74C}.Release|Any CPU.ActiveCfg = Release|Any CPU {2776AAB2-6500-4976-8E5F-0A67D52ED428}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EC2DA10E-1661-4CD3-AF51-59F2A7E6D74C}.Release|Any CPU.Build.0 = Release|Any CPU {2776AAB2-6500-4976-8E5F-0A67D52ED428}.Release|Any CPU.Build.0 = Release|Any CPU
{A210FD70-21DB-4D70-8E05-851C6BE9DF00}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5929BEC7-1832-4C9E-A6E0-F750ED57C414}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A210FD70-21DB-4D70-8E05-851C6BE9DF00}.Debug|Any CPU.Build.0 = Debug|Any CPU {5929BEC7-1832-4C9E-A6E0-F750ED57C414}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A210FD70-21DB-4D70-8E05-851C6BE9DF00}.Release|Any CPU.ActiveCfg = Release|Any CPU {5929BEC7-1832-4C9E-A6E0-F750ED57C414}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A210FD70-21DB-4D70-8E05-851C6BE9DF00}.Release|Any CPU.Build.0 = Release|Any CPU {5929BEC7-1832-4C9E-A6E0-F750ED57C414}.Release|Any CPU.Build.0 = Release|Any CPU
{CD0D5AD9-EFF3-4DD8-A629-5CB8A898AE79}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3B32AE10-5C0C-4D72-8E5C-B17E29065A6D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CD0D5AD9-EFF3-4DD8-A629-5CB8A898AE79}.Debug|Any CPU.Build.0 = Debug|Any CPU {3B32AE10-5C0C-4D72-8E5C-B17E29065A6D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CD0D5AD9-EFF3-4DD8-A629-5CB8A898AE79}.Release|Any CPU.ActiveCfg = Debug|Any CPU {3B32AE10-5C0C-4D72-8E5C-B17E29065A6D}.Release|Any CPU.ActiveCfg = Debug|Any CPU
{CD0D5AD9-EFF3-4DD8-A629-5CB8A898AE79}.Release|Any CPU.Build.0 = Debug|Any CPU {3B32AE10-5C0C-4D72-8E5C-B17E29065A6D}.Release|Any CPU.Build.0 = Debug|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(NestedProjects) = preSolution GlobalSection(NestedProjects) = preSolution
{1947734F-D4AF-4B96-B576-1785A518CB06} = {F2AAD021-D793-4910-ADA2-9A655FAA3671} {BDB56C1A-FE23-4F49-A713-AF6121E79651} = {FC1FAD89-AEAA-4873-8CAD-D586E9776FD5}
{EC2DA10E-1661-4CD3-AF51-59F2A7E6D74C} = {F2AAD021-D793-4910-ADA2-9A655FAA3671} {2776AAB2-6500-4976-8E5F-0A67D52ED428} = {FC1FAD89-AEAA-4873-8CAD-D586E9776FD5}
{A210FD70-21DB-4D70-8E05-851C6BE9DF00} = {F2AAD021-D793-4910-ADA2-9A655FAA3671} {5929BEC7-1832-4C9E-A6E0-F750ED57C414} = {FC1FAD89-AEAA-4873-8CAD-D586E9776FD5}
{CD0D5AD9-EFF3-4DD8-A629-5CB8A898AE79} = {00F50C86-6B92-4850-9DD3-B183DAB900BA}
EndGlobalSection EndGlobalSection
EndGlobal EndGlobal

View File

@@ -0,0 +1,14 @@
<Project Sdk="Godot.NET.Sdk/4.4.1">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<LangVersion>latest</LangVersion>
<AssemblyName>Civilization.GodotIntegration</AssemblyName>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="../Lib/Civilization.Core/Civilization.Core.csproj" />
<ProjectReference Include="../Lib/Civilization.Shared/Civilization.Shared.csproj" />
</ItemGroup>
</Project>

View File

@@ -1,12 +0,0 @@
<Project Sdk="Godot.NET.Sdk/4.4.1">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="../../Lib/Civilization.Core/Civilization.Core.csproj" />
<ProjectReference Include="../../Lib/Civilization.Shared/Civilization.Shared.csproj" />
</ItemGroup>
</Project>

View File

@@ -6,21 +6,21 @@ namespace Civilization.GodotIntegration;
public partial class SelectedUnitPanel : Control public partial class SelectedUnitPanel : Control
{ {
// [Export] public Label UnitInfoLabel; [Export] public Label UnitInfoLabel;
// [Export] public Button SettleButton; [Export] public Button SettleButton;
//
// public Action? OnSettleClicked; public Action? OnSettleClicked;
public override void _Ready() public override void _Ready()
{ {
// SettleButton.Pressed += () => OnSettleClicked?.Invoke(); SettleButton.Pressed += () => OnSettleClicked?.Invoke();
Hide(); Hide();
} }
public void ShowFor(Unit unit) public void ShowFor(Unit unit)
{ {
GD.Print($"Showing unit panel for {unit.Id} at {unit.Position} ({unit.Type})"); GD.Print($"Showing unit panel for {unit.Id} at {unit.Position} ({unit.Type})");
// UnitInfoLabel.Text = $"{unit.Type} at {unit.Position} ({unit.ActionPoints} AP)"; UnitInfoLabel.Text = $"{unit.Type} at {unit.Position} ({unit.ActionPoints} AP)";
Show(); Show();
} }

View File

@@ -27,8 +27,8 @@ tile_map_data = PackedByteArray("AADj/+j/AQAAAAAAAADj/+n/AQAAAAAAAADj/+r/AQAAAAA
[node name="MapRenderer" type="Node2D" parent="." node_paths=PackedStringArray("TileMapLayer")] [node name="MapRenderer" type="Node2D" parent="." node_paths=PackedStringArray("TileMapLayer")]
script = ExtResource("2_5a7ea") script = ExtResource("2_5a7ea")
TileSet = ExtResource("2_8j60k")
TileMapLayer = NodePath("../TileMapLayer") TileMapLayer = NodePath("../TileMapLayer")
TileSet = ExtResource("2_8j60k")
[node name="Camera2D" type="Camera2D" parent="."] [node name="Camera2D" type="Camera2D" parent="."]
zoom = Vector2(30, 30) zoom = Vector2(30, 30)

View File

@@ -12,13 +12,12 @@ config_version=5
config/name="civilization" config/name="civilization"
run/main_scene="uid://dy20m1dgo6mqq" run/main_scene="uid://dy20m1dgo6mqq"
config/features=PackedStringArray("4.4", "GL Compatibility") config/features=PackedStringArray("4.4", "C#", "GL Compatibility")
config/icon="res://icon.svg" config/icon="res://icon.svg"
[dotnet] [dotnet]
project/assembly_name="Civilization.GodotIntegration" project/assembly_name="Civilization.GodotIntegration"
project/solution_directory="res://../"
[rendering] [rendering]