Skip to content

FSMTransaction_Base

Module: SMSystem

Inherited by FSMActivateStateTransaction, FSMFullSyncStateTransaction, FSMFullSyncTransaction, FSMInitializeTransaction, FSMTransitionTransaction

Public Functions

Name
FSMTransaction_Base()
FSMTransaction_Base(ESMTransactionType InType)

Public Attributes

Name
TEnumAsByte< ENetRole > ServerRemoteRoleAtQueueTime
ESMTransactionType TransactionType
uint8 bOriginatedFromServer
uint8 bOriginatedFromThisClient
uint8 bRanLocally

Public Functions Documentation

function FSMTransaction_Base

inline FSMTransaction_Base()

function FSMTransaction_Base

inline explicit FSMTransaction_Base(
    ESMTransactionType InType
)

Public Attributes Documentation

variable ServerRemoteRoleAtQueueTime

TEnumAsByte< ENetRole > ServerRemoteRoleAtQueueTime;

The remote role of the server when the call was queued. This is compared to the remote role at execution time to determine which connections should receive the RPC.


variable TransactionType

ESMTransactionType TransactionType;

The type of transaction, set automatically if required. It might be possible to always calculate this locally through RPC rather than send it.


variable bOriginatedFromServer

uint8 bOriginatedFromServer;

If the server made the decision to send this transaction. Used to distinguish multicast calls that can be executed from both the owning client or the server.

Todo:

If we switch to direct channel updates this could likely go away, or may need to be replaced by an ID.


variable bOriginatedFromThisClient

uint8 bOriginatedFromThisClient;

If this client created the call. Only valid for owning client.


variable bRanLocally

uint8 bRanLocally;

If this transaction has run locally.