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.
This removes the unecessary ActionChains that were wrapping many of the HandleActionGameEvent functions.
ActionChains should only be used to enqueue work with delays, or, explicitly queue work for another WO that absolutely must be run on the landblock thread that owns the WO. (very rare, if any cases?)
We do not need to worry about out of order operations with HandleActionGameEvents. These handlers are enqueued when they are received on the network threads. They are then executed in a single thread in our UpdateWorld loop. This pattern is unlikely to change, and allows us to make the assumption that code executed from any HandleAction function (and not from an action chain) does not need to worry about thread safety, as it is the only thread modifying the world.
Parallelization will be added for Physics and Landblocks.Tick() at a future date.