|
Nelaric Unreal Gameplay
Gameplay framework API
|
Coordinates requests for a game world's network role. More...
#include <SessionTransitionSubsystem.h>
Public Member Functions | |
| GAMEPLAYRUNTIME_API Nelaric::FTransitionHandle | RequestTransition (ENetMode TargetMode, const Nelaric::FTransitionDestination &Destination, const Nelaric::FTransitionCallbacks &Callbacks) |
| Requests a move from one remote server to another. | |
| GAMEPLAYRUNTIME_API bool | CancelTransition (Nelaric::FTransitionHandle Handle) |
| Requests cancellation of an active transition. | |
| GAMEPLAYRUNTIME_API TOptional< ENetMode > | GetNetMode () const |
| Reads the current game world's observed network mode. | |
| GAMEPLAYRUNTIME_API void | InternalConfigureApprovalTransport (const Nelaric::FGameplayRuntimeInternalAccessKey &Key, const Nelaric::FStartTransitionApproval &Source, const Nelaric::FStartTransitionApproval &Target, const Nelaric::FOnTransitionTerminated &Terminated) |
| Binds the internal approval transport on the game thread. | |
| GAMEPLAYRUNTIME_API void | InternalClearApprovalTransport (const Nelaric::FGameplayRuntimeInternalAccessKey &Key) |
| Removes the internal approval transport on the game thread. | |
| GAMEPLAYRUNTIME_API void | InternalReportSourceApproval (const Nelaric::FGameplayRuntimeInternalAccessKey &Key, uint64 RequestId, bool bApproved) |
| Reports the source authority's decision. | |
| GAMEPLAYRUNTIME_API void | InternalReportTargetApproval (const Nelaric::FGameplayRuntimeInternalAccessKey &Key, uint64 RequestId, bool bApproved) |
| Reports the target authority's decision. | |
| GAMEPLAYRUNTIME_API void | InternalReportTargetUnavailable (const Nelaric::FGameplayRuntimeInternalAccessKey &Key, uint64 RequestId) |
| Reports that the target authority could not be reached. | |
Coordinates requests for a game world's network role.
Unreal creates one instance per game instance and destroys it when that game instance shuts down. Requests and callbacks use the game thread. The subsystem observes modes; it does not assign them. A request is only an intent until both relevant authorities confirm it.
| GAMEPLAYRUNTIME_API bool USessionTransitionSubsystem::CancelTransition | ( | Nelaric::FTransitionHandle | Handle | ) |
Requests cancellation of an active transition.
Call on the game thread. Before travel starts, cancellation prevents the transition. Once travel starts, it cannot be cancelled through this handle. A terminal request reports no further callback.
| Handle | Identity returned by RequestTransition. |
| GAMEPLAYRUNTIME_API TOptional< ENetMode > USessionTransitionSubsystem::GetNetMode | ( | ) | const |
Reads the current game world's observed network mode.
Call on the game thread. A value may describe an old or intermediate world during travel; it is not transition completion.
| GAMEPLAYRUNTIME_API void USessionTransitionSubsystem::InternalClearApprovalTransport | ( | const Nelaric::FGameplayRuntimeInternalAccessKey & | Key | ) |
Removes the internal approval transport on the game thread.
| Key | Internal access for the transport subsystem. |
| GAMEPLAYRUNTIME_API void USessionTransitionSubsystem::InternalConfigureApprovalTransport | ( | const Nelaric::FGameplayRuntimeInternalAccessKey & | Key, |
| const Nelaric::FStartTransitionApproval & | Source, | ||
| const Nelaric::FStartTransitionApproval & | Target, | ||
| const Nelaric::FOnTransitionTerminated & | Terminated ) |
Binds the internal approval transport on the game thread.
| Key | Internal access for the transport subsystem. |
| Source | Begins approval by the source authority. |
| Target | Begins approval by the target authority. |
| Terminated | Releases transport state after a terminal result. |
| GAMEPLAYRUNTIME_API void USessionTransitionSubsystem::InternalReportSourceApproval | ( | const Nelaric::FGameplayRuntimeInternalAccessKey & | Key, |
| uint64 | RequestId, | ||
| bool | bApproved ) |
Reports the source authority's decision.
| Key | Internal access for the transport subsystem. |
| RequestId | Identity of the request being approved. |
| bApproved | Whether the source authority approved departure. |
| GAMEPLAYRUNTIME_API void USessionTransitionSubsystem::InternalReportTargetApproval | ( | const Nelaric::FGameplayRuntimeInternalAccessKey & | Key, |
| uint64 | RequestId, | ||
| bool | bApproved ) |
Reports the target authority's decision.
| Key | Internal access for the transport subsystem. |
| RequestId | Identity of the request being approved. |
| bApproved | Whether the target authority approved arrival. |
| GAMEPLAYRUNTIME_API void USessionTransitionSubsystem::InternalReportTargetUnavailable | ( | const Nelaric::FGameplayRuntimeInternalAccessKey & | Key, |
| uint64 | RequestId ) |
Reports that the target authority could not be reached.
| Key | Internal access for the transport subsystem. |
| RequestId | Identity of the request awaiting approval. |
| GAMEPLAYRUNTIME_API Nelaric::FTransitionHandle USessionTransitionSubsystem::RequestTransition | ( | ENetMode | TargetMode, |
| const Nelaric::FTransitionDestination & | Destination, | ||
| const Nelaric::FTransitionCallbacks & | Callbacks ) |
Requests a move from one remote server to another.
Call on the game thread. This implementation accepts only NM_Client to NM_Client with a destination address. The current and target servers must each reply before client travel starts. A request has a 30-second deadline and exactly one terminal outcome. Success verifies a new client world with an open connection whose host and port match the destination. Other modes and missing local prerequisites return a zero handle without a callback.
| TargetMode | Must be NM_Client for this implementation. |
| Destination | Game and approval beacon endpoints. |
| Callbacks | Optional terminal callbacks for this request. |