Skip to content

feat: actions and actionsfx merge MTT-4244 MTT-4344 #705

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
merged 72 commits into from
Aug 26, 2022

Conversation

pdeschain
Copy link
Contributor

@pdeschain pdeschain commented Aug 3, 2022

Description

This PR introduces changes to our action system:

  • I've merged Action and ActionFX into a new Action class - both server and client logic now runs in the same class
  • I've taken my chance to rename Server and Client action players accordingly, from their prior quite arbitrary names.
  • all Action types are now scriptable objects
  • ActionType is removed, ActionLogic stays
  • Instead of relying on a ActionType enum we now can figure out what an action is by using an ActionID - a runtime ID that's generated by all peers from the GameDataSource information
  • Actions are pooled using unity's pooling API.
  • Actions now have a Reset virtual function that restores them to pristine reusable state.

Things to consider:

  • We still heavily rely on a rather pervasive singleton - GameDataSource , but it's better to take it's refactoring as a separate PR.

Issue Number(s)

MTT-4244
MTT-4344

Contribution checklist

  • Tests have been added for boss room and/or utilities pack
  • Release notes have been added to the project changelog file and/or package changelog file
  • Pull request has a meaningful description of its purpose
  • All commits are accompanied by meaningful commit messages
  • JIRA ticket ID is in the PR title or at least one commit message
  • Include the ticket ID number within the body message of the PR to create a hyperlink

pdeschain added 20 commits July 18, 2022 11:41
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
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.
Moved all Action-related code into .Actions namespace, adjusted the rest of the codebase accordingly.
Renamed Start and Update methods of Actions to be OnStart and OnUpdate (to avoid confusing overlap with MonoBehavior event calls).
Moved FXProjectile to GameplayObjects folder.
@pdeschain pdeschain added the 5-Design Review Draft to review design ideas before committing to future work label Aug 3, 2022
SamuelBellomo
SamuelBellomo previously approved these changes Aug 25, 2022
SamuelBellomo
SamuelBellomo previously approved these changes Aug 25, 2022
LPLafontaineB
LPLafontaineB previously approved these changes Aug 26, 2022
@pdeschain pdeschain dismissed stale reviews from LPLafontaineB and SamuelBellomo via 0703d22 August 26, 2022 17:32
SamuelBellomo
SamuelBellomo previously approved these changes Aug 26, 2022
LPLafontaineB
LPLafontaineB previously approved these changes Aug 26, 2022
@pdeschain pdeschain enabled auto-merge (squash) August 26, 2022 17:39
@pdeschain pdeschain disabled auto-merge August 26, 2022 19:49
@pdeschain pdeschain dismissed stale reviews from LPLafontaineB and SamuelBellomo via e694dd5 August 26, 2022 19:52
SamuelBellomo
SamuelBellomo previously approved these changes Aug 26, 2022
@pdeschain pdeschain added the 0-URGENT Blocker for a release and needs to be merged ASAP label Aug 26, 2022
@pdeschain pdeschain merged commit a241655 into develop Aug 26, 2022
@pdeschain pdeschain deleted the pdeschain/actions-merge branch August 26, 2022 21:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0-URGENT Blocker for a release and needs to be merged ASAP 1-Needs Review PR needs attention from the assignee and reviewers
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants