I hear your point about clarity and that may be enough of an argument on its own, but I'll explain what I meant.
A method might end up looking something like this, right?
connectWithGlobalFlag(Stage.GO_TO_RUINS, Stage.GET_IN_COMMS_RANGE, “$gada_gotData”);
connectWithInRangeOfCommRelay(Stage.GET_IN_COMMS_RANGE, Stage.COMPLETED);
beginWithinHyperspaceRangeTrigger(planet, 1f, false, Stage.GO_TO_RUINS);
triggerCreateFleet(FleetSize.MEDIUM, FleetQuality.DEFAULT, Factions.PIRATES);
triggerOrderFleetPatrol(planet);
endTrigger();
setTimeLimit(Stage.FAILED, MISSION_DAYS);
But it could also look like this, if you are in the mindset of "I just need to declare all of the things for this quest":
connectWithGlobalFlag(Stage.GO_TO_RUINS, Stage.GET_IN_COMMS_RANGE, “$gada_gotData”);
triggerCreateFleet(FleetSize.MEDIUM, FleetQuality.DEFAULT, Factions.PIRATES);
beginWithinHyperspaceRangeTrigger(planet, 1f, false, Stage.GO_TO_RUINS);
triggerOrderFleetPatrol(planet);
connectWithInRangeOfCommRelay(Stage.GET_IN_COMMS_RANGE, Stage.COMPLETED);
setTimeLimit(Stage.FAILED, MISSION_DAYS);
endTrigger();
The lines are the same, but I reordered them. Will this fail, due to having triggerCreateFleet(...) before beginWithinHyperspaceRangeTrigger(...)?
In the example I provided, the Kotlin one, you could swap shouldShowEvent and interactionEvent and it wouldn't matter; the point is declaring them, rather the order in which they are declared.
Another benefit of passing a Trigger object to an addTrigger method is that the trigger-specific methods could be scoped to the Trigger object, rather than available anywhere in the quest definition.
A builder is another possibility;
addTrigger(new HyperspaceRangeTriggerBuilder(...)
.triggerCreateFleet(...,
new FleetCommandBuilder()
.orderFleetToPatrol(planet)
)
.triggerCreateFleet(differentFleetParams,
new FleetCommandBuilder()
.orderFleetToPatrol(aDifferentPlanet)
)
.build()
)
This syntax also allows you to create two fleets with separate order chains (call triggerCreateFleet a second time) from the same trigger event, which I'm not sure how you'd do with the code in the blog post.
Anyway, a good deal of this is personal preference as well. Take what makes sense to you.