Yet another missile silo panel widget#5782
Open
danfireman wants to merge 3 commits into
Open
Conversation
A movable, factory-queue-styled strip for missile silos that aggregates all owned silos into one panel, with a button per missile type showing ready / queued / build progress and a shared slots meter. - Left-click a type: arm fire-mode (a real hidden engine command, so the guihandler owns mutual-exclusion and map/UI hit-testing); click again, or when none are ready, to queue one instead. - Middle-click: queue one at the best-placed silo. Right-click: cancel one (never destroys a finished missile). - Hover or arm a type to preview each silo's range ring (solid/bright when that silo can fire it, dim/dashed otherwise) plus the AoE falloff at the cursor, mirroring the stock Attack-AoE indicator. The panel auto-hides when you own no silos. Fire dispatches CMD.ATTACK to the specific ready missile of the chosen type, matching cmd_missile_silo's force-fire semantics (ground point, or unit-tracking for the homing Zeno). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Apply PR ZeroK-RTS#5771 review points to the missile silo launch UI: - Expose the Attack AoE falloff renderer as WG.DrawAoEPreview in gui_attack_aoe.lua and consume it, instead of duplicating the ring-drawing code. - Use Spring.Utilities.Vector.DistSq for squared distance rather than a hand-rolled helper. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Contributor
|
I had a few comments but it looks good overall from the code. Here are some ideas to pursue.
|
Contributor
Author
Member
|
Perhaps the radar icon for missile silo? |
Three items from GoogleFrog's review: - Register a toggle button in the top-left GlobalCommandBar (like the Cheat Sheet button) once the player owns a silo, to show/hide the panel. - Add Settings/HUD Panels/Missile Silo options: "Auto-show when a silo is built" and "Show panel" (both bool, hotkeyable by default). - Filter fire target selection by projected terrain impact: prefer a silo whose vlaunch arc reaches the target over one blocked by a hill, using the Attack AoE widget's trajectory projection (new WG.GetVlaunchTerrainImpact), falling back to a blocked silo so a fire click never silently no-ops. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Competing with #5771:
Only review if you're interested in this sort of approach/think it's a viable starting point/like the look, otherwise it can be closed.
Deliverable
A movable, factory-queue-styled strip for missile silos that aggregates all owned silos into one panel, with a button per missile type showing ready / queued / build progress and a shared slots meter.
The panel auto-hides when you own no silos. Fire dispatches CMD.ATTACK to the specific ready missile of the chosen type, matching cmd_missile_silo's force-fire semantics (ground point, or unit-tracking for the homing Zeno).
Questions unanswered
Unsure on how/whether to include Scylla/Reef (I definitely think Trinity should be handled differently, its more strategic and doesn't have the very fiddly UX).
Unsure on a good hide/expand silo panel UX (e.g. where the little tab should live)