-
Notifications
You must be signed in to change notification settings - Fork 557
feat: removing bridge classes for game states MTT-4204 #697
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
And renamed ServerBossRoomState to BossRoomState. Added lifetime scopes to all the subscenes of BossRoom scene. These autoinject gameobjects that live under the "static network objects" groupings.
replaced with BufferedNetworkMessageChannel (an addition in this entry) - this message channel is identical to NetworkMessageChannel, but it inherits from a buffered message channel instead. This is used as a way to pass data that syncs from server to clients between different scenes without the need for SO variables, which are hard to understand.
…meState also added auto-injected objects to the PostGameState-bearing game object.
…tiplayer.samples.coop into pdeschain/removing-bridge-classes
…urned from the method)
Assets/Scripts/Infrastructure/PubSub/BufferedNetworkedMessageChannel.cs
Outdated
Show resolved
Hide resolved
Replaced it's usage with WinState with a NetworkWinState that's preserved by BossRoomState to survive onto the next scene, PostGameState, which then destroys that preserved gameobject/NetworkWinState when we exit PostGameState to whatever next state.
LPLafontaineB
previously approved these changes
Aug 12, 2022
fernando-cortez
previously approved these changes
Aug 15, 2022
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just nitpicks. Much cleaner.
ea4e2a9
Co-authored-by: Fernando Cortez <[email protected]>
Co-authored-by: Fernando Cortez <[email protected]>
fernando-cortez
previously approved these changes
Aug 16, 2022
SamuelBellomo
previously approved these changes
Aug 16, 2022
Co-authored-by: Sam Bellomo <[email protected]>
8dc4720
fernando-cortez
approved these changes
Aug 17, 2022
SamuelBellomo
approved these changes
Aug 17, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Removed unnecessary empty Client*** classes that represented game state. Also cleaned up the naming of remaining Server*** state classes.
Replaced a pattern where we use a DontDestroyOnLoad gameobject to pass around networked win/loose data between scenes and replaced it with a static instance which is preserved by BossRoomState and cleaned up by PostGameState.
Issue Number(s)
MTT-4204
Contribution checklist