- I know the campaign map sticks in memory during combat, but how persistent are custom UI elements? Are they created once at game load and last for the whole session, or are they recreated after each battle?
- Will we be able to render things in combat, or is it campaign-only for now?
Just to be clear, the custom UI elements are
only available within an InteractionDialog. So, that'll get instantiated whenever you create a new dialog.
You can't, for example, add a custom widget to be shown as part of the standard campaign UI.
- You mentioned potentially adding code for text rendering a while back. Have you decided if that will be in for .6a?
Still a maybe.
- With the new fighter docking methods: can those be used outside of a custom AI implementation? Would it be possible to create decorative docking for things like cargo shuttles using them?
Possibly. I could be missing something, since I haven't actually used it for that, but I think you could spawn a custom ship (say, one with CollisionClass.NONE) and then land it wherever.
- Do loadjson/csv have the same merge behavior as the game's loader? Is there a way to load the entries from a certain mod directory only?
They don't do any merging. The intention here is to enable mods to provide their own data files. If you try to load a file that's present in multiple mods, it'll grab the first one it finds.
- If I'm reading the notes right, sector messages are now system-specific. Is there a way to broadcast directly to the player, or would we need to use sector.getPlayerFleet().getContainingLocation() to broadcast to the current system?
The "system specific" logic is applied before calling addMessage(), not within addMessage().
- I apologize as this one's more of a feature request than a question, but since we can't guarantee that a system's spawn points will be called on a certain frame, could we have a plugin with a universal advance() and access to this frame's InputEventAPIs? I suppose we could just use an invisible CustomUIPanelPlugin, but that seems a bit hack-ish.
If you add an EveryFrameScript to the SectorAPI, it'll run every frame. If you add it to a LocationAPI, it'll run every frame the location's advance() runs.
- Is there a chance you'd be willing to release the new api.jar once you've reached the bugfixing stage and aren't adding any new features to .6a? While we wouldn't be able to test our work in-game, it'd be great to get a jump start on updating our mods with the massive API changes so they'll be ready when the update is released.
I don't see why not, with the caveat that things probably would change somewhat, since I tend to add some last-minute modding stuff before a release goes out.