Skip to content
This repository has been archived by the owner on Jan 18, 2022. It is now read-only.

Make reactive components opt-in #1059

Merged
merged 14 commits into from
Jul 23, 2019

Conversation

jamiebrynes7
Copy link
Contributor

@jamiebrynes7 jamiebrynes7 commented Jul 23, 2019

Description

  • Reactive components are now opt-in instead of opt-out.
  • Signal our intention to remove them with the define USE_LEGACY_REACTIVE_COMPONENTS.
  • if-endif all code relating to reactive components (we missed world command senders + all the systems)
  • The test project has reactive components enabled to ensure they compile

Tests

No scripting define = no reactive components.
Adding the scripting define = got the components.

Documentation

Jamie Brynes added 3 commits July 23, 2019 16:39
core code

more un-ifdef-ed code

change flag name

more change flag names
@improbable-prow-robot improbable-prow-robot added jira/no-ticket Indicates a PR has no corresponding JIRA ticket A: core Area: Core GDK A: tooling Area: Tooling size/M Denotes a PR that changes 40-149 lines, ignoring generated files. labels Jul 23, 2019
Copy link
Contributor

@zeroZshadow zeroZshadow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to regenerate the test project

@improbable-prow-robot improbable-prow-robot added size/XL Denotes a PR that changes 300-599 lines, ignoring generated files. and removed size/M Denotes a PR that changes 40-149 lines, ignoring generated files. labels Jul 23, 2019
UPGRADE_GUIDE.md Outdated Show resolved Hide resolved
UPGRADE_GUIDE.md Outdated Show resolved Hide resolved
@jamiebrynes7 jamiebrynes7 merged commit fabc9f7 into develop Jul 23, 2019
@jamiebrynes7 jamiebrynes7 deleted the feature/UTY-2149-reactive-components-opt-in branch July 23, 2019 16:37
jessicafalk pushed a commit that referenced this pull request Nov 15, 2019
…g. (#1059)

* Add ActorGroupManager and new runtime settings

* Working.

* Refactor Validation logic into ActorGroupManager

* Prevent user from adding 'UnrealClient' as a WorkerType

* Cleanup comments / blueprint tests. Wire up GetWorkerTypeForActorClass

* Ensure that AActor is referenced in at least 1 ActorGroup

* Tidy up

* Moved ActorGroupManager to Utils. Add some error messages in ClassInfoManager if ActorGroups / WorkerType mappings not found

* ActorGroupManager.h -> Utils/ActorGroupManager.h

* Remove old function signature

* Add switch to enable offloading (Default off) which makes ActorGroupManager use the defaults. Make some magic strings constants

* Remove Debugging Log

* Use DetailFont in WorkerAssociationCustomization

* Make WorkerTypes FStrings in Settings

* Copy WorkerTypeNames from SpatialGDKEditorSettings->LaunchConfigDesc.Workers to RuntimeSettings & Validate

* Make WorkerTypes Invisible

* Add Number of Editor Instances to Worker Launch Config

* Refactored Worker Association to inside ActorGroups.

* Change WorkerTypeName into an FName

* Update usage of FName WorkerType

* Remove PostEdit hooks for validation that has been removed

* Remove now unused FWorkerAssociation

* Move ActorGroupManager init to NetDriver and pass down to ClassInfoManager

* Only add mapping from Class->ActorGroup if it doesn't exist

* Remove Debug Log

* WorkerAssociationCustomization -> WorkerTypeCustomization

* Syntax fixes from review comments

* Add VeryVerbose Log to ClassInfoManager about ActorGroups

* Remove PostEditChange for bUsingQBI since it's not exposed in the editor anymore

* Add comments to public api of ActorGroupManager. Revert plugin back to Default loading phase

* Fixed references to NumberOfServers slider as it was removed

* The settings in the GDK for what workers to launch and whether offloading is enabled or not is now propagated to the LevelEditorPlaySettings

* Updated changelog

* Review feedback

* More feedback related to FNames

* Fixed compilation error due to change from fstring to fname

* Removed unused header include

* Introduced the spatialengineconstants for server and client worker names

* Review feedback

* Removed redundant include

* Updated FString to FName references

* Updated renaming

* More Review comments

* Fixed bad rebase

* Another review comment

* Review Comments

* Added comment explaining usage of TSoftClassPtr here

* Access each element in the container as reference to avoid local copying

* Review comments

* Removed unused include

* Added generation of entities to ensure offloaded workers receive updates for the GSM (#929)

* Added generation of entities to ensure offloaded workers receive updates for the GSM

* Rename

* More formatting

* Update SpatialGDK/Source/SpatialGDKEditor/Private/SnapshotGenerator/SpatialGDKEditorSnapshotGenerator.cpp

Co-Authored-By: Ally <[email protected]>

* Update SpatialGDK/Source/SpatialGDKEditor/Private/SnapshotGenerator/SpatialGDKEditorSnapshotGenerator.cpp

Co-Authored-By: Ally <[email protected]>

* Update SpatialGDK/Source/SpatialGDKEditor/Private/SnapshotGenerator/SpatialGDKEditorSnapshotGenerator.cpp

Co-Authored-By: Ally <[email protected]>

* Updated Based on feedback

* Feedback

* Updated feedback

* Created an entity representing a worker connection

* Removed whitespace

* Added release notes

* Removed unused line

* Removed another unused line

* Updated line order

* Remove usages of improbable namespace after rebase

* Worker entity has interest query for the GSM entity

This is a way to ensure the GSM is available on all server workers

* Refactor snapshot generator to use worker types from new settings

* Create worker entity in helper function and move call

* Remove placeholder entities

* Set worker entity metadata to WorkerEntity:<id>

* Update changelog

* Update CHANGELOG.md

Co-Authored-By: Matt Young <[email protected]>

* Retry failed worker entity creation

* Update comment as suggested

* Update CHANGELOG.md

Co-Authored-By: Sahil Dhanju <[email protected]>

* Fix and refactor retry logic

Fixed off-by-one error in retry counter.
Only retry if the status is timeout.

* Move attempt counter to be a function argument

* Remove one level of indentation from conditional

As suggested by @alastairdglennie.

* Capitalize names of local variables

* Move CreateEntityDelegate from Dispatcher to Receiver

* Move CreateServerWorkerEntity to Sender

* Pass delegate by const reference as suggested by @danielimprobable

* Use TWeakObjectPtr and do checks in timer lambdas

* Update CHANGELOG.md

Co-Authored-By: Ally <[email protected]>

* Fixed references to NumberOfServers slider as it was removed

* The settings in the GDK for what workers to launch and whether offloading is enabled or not is now propagated to the LevelEditorPlaySettings

* Updated changelog

* Review feedback

* More feedback related to FNames

* Fixed compilation error due to change from fstring to fname

* Removed unused header include

* Introduced the spatialengineconstants for server and client worker names

* Update changelog

* Review feedback

* Removed redundant include

* Updated FString to FName references

* Updated renaming

* Fixed bad rebase

* Update CHANGELOG.md

Co-Authored-By: Matt Young <[email protected]>

* Remove hardcoding of AIWorker (#924)

* Remove hardcoding of AIWorker

This adds the auto-populated list property to SpatialGDKSettings

The list property gets reconstructed from the list of server worker names from the Launch Config Description property

* Removed unused comments

* Removed the commented code

* Removed unused include

* Update CHANGELOG.md

Co-Authored-By: Sahil Dhanju <[email protected]>

* Fixed bug where two worker types were assigned to the write ACL

* Updated changelog

* Updated the Snapshot generator to configure the GSM to for read access on all server workers

* Readded header include that accidentally shouldn't have been removed

* worker association can't be empty, removing check

* worker type is fname now

* server worker types

* don't force push with merge conflicts

* I wonder if one day I'll stop pushing merge conflicts

* fix old reference name, remove rogue space

* alphabetize imports

* derp

* level editor play settings workers to launch cleared before updates are applied

* delete unnecessary import, update engine version

* bump engine version check counter

* runtime settings updates level editor play settings with default worker type and offloading toggle

* formatting

* move changelog entry to correct section, remove accidental spaces

* remove duplicate includes and method definitions

* remove newline, remove unnecessary namespace

* remove unnecessary header

* bad merge, ally dumb
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A: core Area: Core GDK A: tooling Area: Tooling jira/no-ticket Indicates a PR has no corresponding JIRA ticket size/XL Denotes a PR that changes 300-599 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants