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

@@ -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
{
// [Export] public Label UnitInfoLabel;
// [Export] public Button SettleButton;
//
// public Action? OnSettleClicked;
[Export] public Label UnitInfoLabel;
[Export] public Button SettleButton;
public Action? OnSettleClicked;
public override void _Ready()
{
// SettleButton.Pressed += () => OnSettleClicked?.Invoke();
SettleButton.Pressed += () => OnSettleClicked?.Invoke();
Hide();
}
public void ShowFor(Unit unit)
{
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();
}

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")]
script = ExtResource("2_5a7ea")
TileSet = ExtResource("2_8j60k")
TileMapLayer = NodePath("../TileMapLayer")
TileSet = ExtResource("2_8j60k")
[node name="Camera2D" type="Camera2D" parent="."]
zoom = Vector2(30, 30)

View File

@@ -12,13 +12,12 @@ config_version=5
config/name="civilization"
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"
[dotnet]
project/assembly_name="Civilization.GodotIntegration"
project/solution_directory="res://../"
[rendering]