This repository has been archived by the owner on Aug 29, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 142
Feature/bifrost/playercontroller rework #1271
Merged
Merged
Conversation
This file contains 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
…through the client path, in order to get it calling BeginPlay with the correct authority. This change likely needs more work, but committing/pushing now to share it.
…hub.com/spatialos/UnrealGDK into origin_feature/bifrost/playercontroller_rework2
…hat spawned it has authority over it
…of the PlayerState on non-auth servers, we no longer need to cleanup the player state here
…rost/playercontroller_rework2
improbable-prow-robot
added
jira/no-ticket
Indicates a PR has no corresponding JIRA ticket
size/L
Denotes a PR that changes 150-299 lines, ignoring generated files.
labels
Aug 1, 2019
girayozil
reviewed
Aug 1, 2019
SpatialGDK/Source/SpatialGDK/Private/EngineClasses/SpatialNetDriver.cpp
Outdated
Show resolved
Hide resolved
…river.cpp Co-Authored-By: Giray Ozil <giray@improbable.io>
m-samiec
reviewed
Aug 1, 2019
SpatialGDK/Source/SpatialGDK/Private/EngineClasses/SpatialNetDriver.cpp
Outdated
Show resolved
Hide resolved
m-samiec
reviewed
Aug 1, 2019
m-samiec
reviewed
Aug 1, 2019
m-samiec
reviewed
Aug 1, 2019
m-samiec
reviewed
Aug 1, 2019
m-samiec
reviewed
Aug 1, 2019
m-samiec
reviewed
Aug 1, 2019
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.
Looks good - few comments
…hub.com/spatialos/UnrealGDK into origin_feature/bifrost/playercontroller_rework2
m-samiec
approved these changes
Aug 5, 2019
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.
Nice!
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
jira/no-ticket
Indicates a PR has no corresponding JIRA ticket
size/L
Denotes a PR that changes 150-299 lines, ignoring generated files.
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.
Contributions: We are not currently taking public contributions - see our contributions policy. However, we are accepting issues and we do want your feedback.
Description
PlayerControllers received over the wire on non-auth servers have BeginPlay called with the correct authority (SimulatedProxy) instead of Authoritative. The creation of the PC actor now follows the same flow as all other actors over the wire. SpatialNetDriver::PostSpawnPlayerController provides necessary setup on the actor after spawn, including binding it to a new SpatialNetConnection.
As part of this change, the creation of the special SpatialNetConnection (which is required when creating the PlayerController on both auth and non-auth servers) has been factored out into it's own method SpatialNetDriver::CreateSpatialNetConnection.
Release note
A release note has been added to changelog.md.
Tests
This change was tested with ExampleProject running a grid of 2x2 servers. BeginPlay() is now called with the correct authority.
STRONGLY SUGGESTED: How can this be verified by QA?
It should be possible for QA to author a blueprint in BeginPlay() of the PlayerController that switches and prints some output based on the authority BeginPlay() is called with, then view that output in the logs or onscreen.
Documentation
Release note
Primary reviewers
@m-samiec