Skip to content
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

[Unreal] Change agones component to subsystem #4032

Closed

Conversation

GloryOfNight
Copy link
Contributor

@GloryOfNight GloryOfNight commented Nov 11, 2024

What type of PR is this?

Uncomment only one /kind <> line, press enter to put that in a new line, and remove leading whitespace from that line:

/kind breaking

/kind bug
/kind cleanup
/kind documentation
/kind feature
/kind hotfix
/kind release

What this PR does / Why we need it:

  • Refactor agones from using ActorComponent to GameInstanceSubsystem:

    • Subsystem is more suitable for agones. Subsystem exists from GameInstance initialization and will proceed to exist during all server lifetime.
    • Subsystem not being part of actor, which is part of the world, would not be destroyed during level change.
    • Subsystem owns its own timer manager, which also would not be affected by world.
    • Subsystem would be created only for server builds by default. That behavior easily changeable since its just virtual func. ShouldCreateSubsystem().
  • Removed final keyword, to allow basing of Subsystem and overriding behavior.

  • Added bDisableAutoHealthPing to disable auto call to HealthPing() during init

  • Added blueprint readonly flag support for HealthRateSeconds, bDisableAutoHealthPing, bDisableAutoConnect so controlling subsystem calls from BPs would be easier.

  • Added static Get() of subsystem, so it would be easily obtained from anywhere you have a context object.

  • Space&Tabs mix change to just Tabs

Special notes for your reviewer:

That is something we used internally for some time already and I think people can benefit from that change.
This change would break code that was previously dependent on AgonesComponent.

Copy link

google-cla bot commented Nov 11, 2024

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@github-actions github-actions bot added kind/breaking Breaking change size/M labels Nov 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant