[Refactor/Test] Decouple setOrder from MovePhases; make setTurnOrder no longer async
#6779
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.
What are the changes the user will see?
N/A
Why am I making these changes?
It kinda doesn't make sense that
setOrderonly applies to move uses, and it DEFINITELY doesn't make sense for it to be coupled so tightly to theMovePhasePriorityQueueinfrastructure.What are the changes from a developer perspective?
setOrderarray into a basicTurnCommandManagerclass whose current only job is managing said array.MovePhasePriorityQueueto being checked duringsortInSpeedOrder(to apply to all non-phase speed order interactions, not just moves)game.setTurnOrdernotasyncanymore since it effectively just sets a single variable.Note
I will bulk-remove
asyncs from existing callsites in a subsequent PR.Note
I kept in the (admittedly somwwhat questionable) behavior of resetting the
setOrderarray on queue manager clearance.If we really want this to be usable for MEs (which was the only reason I agreed to keep it inside
srcin the first place), this will have to be changed in a follow-up PR.Screenshots/Videos
N/A
Checklist
betaas my base branchpnpm test:silent)