From bb002e46d9349c54c954da05d6df0faaba62672e Mon Sep 17 00:00:00 2001 From: Justin Brown Date: Thu, 9 May 2024 16:32:41 -0700 Subject: [PATCH] Better tooltips for fleets in the selector --- .../EmpireManagement/Selector.cs | 28 ++++++++++++------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/Pulsar4X/Pulsar4X.Client/EmpireManagement/Selector.cs b/Pulsar4X/Pulsar4X.Client/EmpireManagement/Selector.cs index 71622af9e..1b3c305ce 100644 --- a/Pulsar4X/Pulsar4X.Client/EmpireManagement/Selector.cs +++ b/Pulsar4X/Pulsar4X.Client/EmpireManagement/Selector.cs @@ -82,24 +82,32 @@ internal override void Display() FleetWindow.GetInstance().SetActive(true); FleetWindow.GetInstance().SelectFleet(fleet); } + if (ImGui.IsItemHovered()) { - ImGui.BeginTooltip(); - - if(fleet.TryGetDatablob(out var orderableDb) - && orderableDb.ActionList.Count > 0) + void Callback() { - ImGui.Text("Orders:"); - for(int i = 0; i < orderableDb.ActionList.Count; i++) + if(fleet.TryGetDatablob(out var orderableDb) + && orderableDb.ActionList.Count > 0) { - ImGui.Text(orderableDb.ActionList[i].Name); + ImGui.Text("Orders:"); + for(int i = 0; i < orderableDb.ActionList.Count; i++) + { + ImGui.Text(orderableDb.ActionList[i].Name); + } + } + else + { + ImGui.Text("No orders"); } } - else + + var flagshipID = fleet.GetDataBlob().FlagShipID; + if(fleet.Manager?.TryGetEntityById(flagshipID, out var flagship) ?? false) { - ImGui.Text("No orders"); + var positionDB = flagship.GetDataBlob(); + DisplayHelpers.DescriptiveTooltip(display, positionDB.Parent?.GetName(_uiState.Faction.Id) ?? "Unknown", "", Callback); } - ImGui.EndTooltip(); } } }