feat: NetcodeHooks added to restore previous IsServer/IsClient logic-gating [MTT-4054] [MTT-4056] #691
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.
Description
This PR introduces
NetcodeHooks
, a class used to relay Netcode-based callbacks to other non-NetworkBehaviour components on a NetworkObject that require knowing about a NetworkObject's spawn/despawn events. This is based off of Sam's DGS work here.With some of the recent refactoring, some "Server..State" "Client..State" classes were not aware of network spawn events and so some server code was executed on clients, and vice-versa, namely
ServerBossRoomState
.This restores some of the previous network spawn logic once in place, and makes the game playable as a client now.
Issue Number(s)
MTT-4054, MTT-4056
Contribution checklist