Refactor SelectedUnitPanel to enable unit info display and button functionality; add Godot project files for integration
This commit is contained in:
14
godot_game/Civilization.GodotIntegration.csproj
Normal file
14
godot_game/Civilization.GodotIntegration.csproj
Normal 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>
|
@@ -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>
|
@@ -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();
|
||||
}
|
||||
|
||||
|
@@ -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)
|
||||
|
@@ -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]
|
||||
|
||||
|
Reference in New Issue
Block a user