Apparatus
Version 1.23
ECS data-oriented workflow for Unreal Engine.
|
An actor component for handling the networking logic in a unified way. More...
#include <NetworkBearerComponent.h>
Public Member Functions | |
template<EParadigm Paradigm = EParadigm::Default> | |
TOutcome< Paradigm > | PushSubjectTrait (const FSolidSubjectHandle &SubjectHandle, UScriptStruct *const TraitType, const void *const TraitData, const bool bReliable=true) |
Push an additional trait to a remote version of the subject. | |
template<EParadigm Paradigm = EParadigm::Default, typename T = void> | |
TOutcomeIf< Paradigm, IsTraitType< T >()> | PushSubjectTrait (const FSolidSubjectHandle SubjectHandle, const T &Trait, const bool bReliable=true) |
Push an additional subject trait to its remote version. | |
template<EParadigm Paradigm = EParadigm::Default> | |
TOutcome< Paradigm > | PushSubjectTrait (const FConstSubjectHandle &SubjectHandle, UScriptStruct *const TraitType, const bool bReliable=true) |
Push an existing subject trait to its remote version. | |
template<EParadigm Paradigm, typename T > | |
auto | PushSubjectTrait (const FConstSubjectHandle &SubjectHandle, const bool bReliable=true) |
Push an existing subject trait to its remote version. | |
template<typename T , EParadigm Paradigm = EParadigm::Default> | |
auto | PushSubjectTrait (const FConstSubjectHandle &SubjectHandle, const bool bReliable=true) |
Push an existing subject trait to its remote version. | |
AMechanism * | GetMechanism () const |
Get the mechanism the bearer belongs to. | |
UNetworkBearerComponent () | |
Construct a default network bearer instance. | |
Protected Member Functions | |
void | ClientMechanismReceiveSubject (const uint32 InSubjectNetworkId) |
void | ClientMechanismReceiveSubject_Implementation (const uint32 InSubjectNetworkId) |
Receive a subject on a client. | |
EApparatusStatus | PeerMechanismReceiveSubjectTrait_Implementation (const EPeerRole PeerRole, const uint32 SubjectNetworkId, UScriptStruct *const TraitType, const TArray< uint8 > &TraitData) |
Receive a subject trait on a peer. | |
bool | PeerMechanismReceiveSubjectTrait_Validate (const EPeerRole PeerRole, const uint32 SubjectNetworkId, UScriptStruct *const TraitType, const TArray< uint8 > &TraitData) |
Validate the RPC call. | |
void | ServerMechanismReceiveSubjectTrait (const uint32 SubjectNetworkId, UScriptStruct *TraitType, const TArray< uint8 > &TraitData) |
bool | ServerMechanismReceiveSubjectTrait_Validate (const uint32 SubjectNetworkId, UScriptStruct *TraitType, const TArray< uint8 > &TraitData) |
void | ServerMechanismReceiveSubjectTrait_Implementation (const uint32 SubjectNetworkId, UScriptStruct *const TraitType, const TArray< uint8 > &TraitData) |
Receive a subject trait on a server. | |
void | ServerMechanismReceiveSubjectTraitUnreliable (const uint32 SubjectNetworkId, UScriptStruct *TraitType, const TArray< uint8 > &TraitData) |
bool | ServerMechanismReceiveSubjectTraitUnreliable_Validate (const uint32 SubjectNetworkId, UScriptStruct *TraitType, const TArray< uint8 > &TraitData) |
void | ServerMechanismReceiveSubjectTraitUnreliable_Implementation (const uint32 SubjectNetworkId, UScriptStruct *const TraitType, const TArray< uint8 > &TraitData) |
Receive a subject trait on a server. | |
void | ClientMechanismReceiveSubjectTrait (const uint32 SubjectNetworkId, UScriptStruct *TraitType, const TArray< uint8 > &TraitData) |
bool | ClientMechanismReceiveSubjectTrait_Validate (const uint32 SubjectNetworkId, UScriptStruct *TraitType, const TArray< uint8 > &TraitData) |
void | ClientMechanismReceiveSubjectTraitUnreliable (const uint32 SubjectNetworkId, UScriptStruct *TraitType, const TArray< uint8 > &TraitData) |
bool | ClientMechanismReceiveSubjectTraitUnreliable_Validate (const uint32 SubjectNetworkId, UScriptStruct *TraitType, const TArray< uint8 > &TraitData) |
void | ClientMechanismReceiveSubjectTrait_Implementation (const uint32 SubjectNetworkId, UScriptStruct *const TraitType, const TArray< uint8 > &TraitData) |
Receive a subject trait on a client. | |
void | ClientMechanismReceiveSubjectWithTraits (const uint32 InSubjectNetworkId, const TArray< UScriptStruct * > &TraitsTypes, const TArray< uint8 > &TraitsData) |
void | ClientMechanismReceiveSubjectWithTraits_Implementation (const uint32 InSubjectNetworkId, const TArray< UScriptStruct * > &TraitsTypes, const TArray< uint8 > &TraitsData) |
Receive a subject along with its traits on a client. | |
void | PushSubjectToClient (const uint32 InSubjectNetworkId) |
Send a subject's network identifier to the client's mechanism. | |
void | PushSubjectToClient (const FSolidSubjectHandle &Subject) |
Send a subject to the client's mechanism. | |
void | PushSubjectToClient (const uint32 NetworkId, const FSubjectRecord &SubjectRecord) |
Send a subject to the client's mechanism. | |
template<EParadigm Paradigm = EParadigm::DefaultInternal> | |
TOutcome< Paradigm > | DoPushSubjectTrait (const uint32 SubjectNetworkId, UScriptStruct *const TraitType, const void *const TraitData, EPeerRole PeerRole=EPeerRole::Auto, const bool bReliable=true) |
Push an additional subject trait to its remote version. | |
template<EParadigm Paradigm = EParadigm::DefaultInternal> | |
auto | DoPushSubjectTrait (const uint32 SubjectNetworkId, UScriptStruct *const TraitType, const void *const TraitData, const bool bReliable, EPeerRole PeerRole=EPeerRole::Auto) |
Push an additional subject trait to its remote version. | |
template<EParadigm Paradigm = EParadigm::DefaultInternal, typename T = void> | |
auto | DoPushSubjectTrait (const uint32 SubjectNetworkId, const T &Trait, const EPeerRole PeerRole=EPeerRole::Auto, const bool bReliable=true) |
Push an additional subject trait to its remote version. | |
template<EParadigm Paradigm = EParadigm::DefaultInternal, typename T = void> | |
auto | DoPushSubjectTrait (const uint32 SubjectNetworkId, const T &Trait, const bool bReliable, const EPeerRole PeerRole=EPeerRole::Auto) |
Push an additional subject trait to its remote version. | |
Static Protected Member Functions | |
template<EParadigm Paradigm = EParadigm::DefaultInternal> | |
static TOutcome< Paradigm > | BroadcastTrait (UWorld *const World, const uint32 SubjectNetworkId, UScriptStruct *const TraitType, const void *const TraitData, EPeerRole PeerRole=EPeerRole::Auto, const bool bReliable=true) |
Broadcast a subject trait among all of the available peers through their bearers. | |
Friends | |
struct | FSubjectInfo |
class | AMechanism |
class | UMachine |
class | ISubjective |
An actor component for handling the networking logic in a unified way.
This manages the main synchronization functionality for the subjective-less subjects in an Unreal-compatible, transparent way.
You can use the methods of this component directly to fine-grain the traffic.
|
inline |
Construct a default network bearer instance.
|
staticprotected |
Broadcast a subject trait among all of the available peers through their bearers.
Paradigm | The paradigm to work under. |
|
protected |
|
protected |
Receive a subject on a client.
RPC implementation.
|
protected |
|
protected |
Receive a subject trait on a client.
RPC implementation.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Receive a subject along with its traits on a client.
RPC implementation.
|
inlineprotected |
Push an additional subject trait to its remote version.
Internal templated low-level method.
Paradigm | The paradigm to work under. |
T | The type of the trait to push. |
SubjectNetworkId | The unique network identifier of the subject to push. |
Trait | The trait to push. |
bReliable | Should reliable channel be used for transaction. |
PeerRole | The peer role specification. If left as EPeerRole::Auto, the peer role is tried to be derived automatically. This may be ambiguous on a listen server, so you can provide one explicitly. |
|
inlineprotected |
Push an additional subject trait to its remote version.
Internal templated low-level method.
Paradigm | The paradigm to work under. |
T | The type of the trait to push. |
SubjectNetworkId | The unique network identifier of the subject to push. |
Trait | The trait to push. |
PeerRole | The peer role specification. If left as EPeerRole::Auto, the peer role is tried to be derived automatically. This may be ambiguous on a listen server, so you can provide one explicitly. |
bReliable | Should reliable channel be used for transaction. |
|
inlineprotected |
Push an additional subject trait to its remote version.
Internal low-level method.
Paradigm | The paradigm to work under. |
SubjectNetworkId | The unique network identifier of the subject to push. |
TraitType | The type of the trait to push. Must not be a nullptr . |
TraitData | The data of the trait to push. Must not e a nullptr . |
bReliable | Should reliable channel be used for transaction. |
PeerRole | The peer role specification. If left as EPeerRole::Auto, the peer role is tried to be derived automatically. This may be ambiguous on a listen server, so you can provide one explicitly. |
|
protected |
Push an additional subject trait to its remote version.
Internal low-level method.
Paradigm | The paradigm to work under. |
SubjectNetworkId | The unique network identifier of the subject to push. |
TraitType | The type of the trait to push. Must not be a nullptr . |
TraitData | The data of the trait to push. Must not e a nullptr . |
PeerRole | The peer role specification. If left as EPeerRole::Auto, the peer role is tried to be derived automatically. This may be ambiguous on a listen server, so you can provide one explicitly. |
bReliable | Should reliable channel be used for transaction. |
AMechanism * UNetworkBearerComponent::GetMechanism | ( | ) | const |
Get the mechanism the bearer belongs to.
|
protected |
Receive a subject trait on a peer.
Generic RPC implementation.
|
protected |
Validate the RPC call.
Generic version.
|
protected |
Send a subject to the client's mechanism.
|
protected |
Send a subject's network identifier to the client's mechanism.
|
protected |
Send a subject to the client's mechanism.
|
inline |
Push an existing subject trait to its remote version.
Statically typed version.
Paradigm | The paradigm to work under. |
T | The type of the trait to push. |
[in] | SubjectHandle | The handle of the subject to push to. Must be a valid handle to a subject. |
[in] | bReliable | Should reliable channel be used for transaction. |
|
inline |
Push an existing subject trait to its remote version.
Statically typed default paradigm version.
T | The type of the trait to push. |
Paradigm | The paradigm to work under. |
[in] | SubjectHandle | The handle of the subject to push to. Must be a valid handle to a subject. |
[in] | bReliable | Should reliable channel be used for transaction. |
|
inline |
Push an existing subject trait to its remote version.
Dynamically typed version.
Paradigm | The paradigm to work under. |
[in] | SubjectHandle | The handle of the subject to push to. Must be a valid handle to a subject. |
[in] | TraitType | The type of the trait to push. Must not be a nullptr . |
[in] | bReliable | Should reliable channel be used for transaction. |
|
inline |
Push an additional trait to a remote version of the subject.
The subject will be brought online automatically if needed.
Paradigm | The paradigm to work under. |
[in] | SubjectHandle | The handle of the subject to push to. Must be a valid handle. |
[in] | TraitType | The type of the trait to push. Must not be a nullptr . |
[in] | TraitData | The data of the trait to push. Must not e a nullptr . |
[in] | bReliable | Should reliable channel be used for transaction. |
|
inline |
Push an additional subject trait to its remote version.
Templated version.
The subject will be brought online automatically if needed.
Paradigm | The paradigm to work under. |
T | The type of the trait to push. Must be a trait type. |
[in] | SubjectHandle | The handle of the subject to push to. Must be a valid handle to a subject. |
[in] | Trait | The trait to push. |
[in] | bReliable | Should reliable channel be used for transaction. |
|
protected |
|
protected |
Receive a subject trait on a server.
RPC implementation.
|
protected |
|
protected |
|
protected |
Receive a subject trait on a server.
RPC implementation.
|
protected |
|
friend |
|
friend |
|
friend |
|
friend |