Skip to content
CISV2.0GET IT ON FAB

REFERENCEOBJECTS

UCISReplicatedObject

MODULECharacterInteractionSystemINCLUDECommon/CISReplicatedObject.hPARENTUObject

The base class of the Actions and move handlers of an interaction object. It holds the instancing policy, the net execution policy and the context of the current use. It takes part in the networking of the use when bWithReplication is on.

Functions

AUTHORITY · server, every machineLOCAL · this machinePURE · read only
ECISInstancingPolicy GetEffectiveInstancingPolicy() const
PUREC++ ONLY

The policy a use applies: Default resolved by the class (C++ -> SharedPerObject, Blueprint -> InstancedPerExecution), then SharedPerObject when the class has its own RPCs or replicated properties (CIS::Migration::ClassHasCustomNetFields). Never Default.

bool IsWithReplication() const
PUREC++ ONLY

bWithReplication (read by the migration).

const FCISExecutionContext& GetExecutionContext() const
PURE

The use this object runs for (UCISUseExecution sets it when the use starts). The object set on the interaction object (SharedPerObject) gets a default context again when the use ends; a per-execution instance keeps its context.

Category
CIS|Execution
bool IsExecutingOnServer() const
PURE

The use runs on the server or in a standalone game (GetExecutionContext().bIsServer).

Category
CIS|Execution
bool IsLocallyPredicted() const
PURE

The use runs on the user's machine ahead of the server: a client that started it (bIsOwner and not bIsServer).

Category
CIS|Execution
bool IsSimulatedExecution() const
PURE

This machine only shows the use of another player (GetExecutionContext().bIsSimulated).

Category
CIS|Execution
bool WasRejectedByServer() const
PURE

The server rejected the use, which ends as interrupted (GetExecutionContext().bRejectedByServer).

Category
CIS|Execution
void SetExecutionContext(const FCISExecutionContext& InExecutionContext)
C++ ONLY

Sets the context returned by GetExecutionContext (UCISUseExecution; a default context means that no use runs this object).

UCISReplicatedObject* GetExecutionTemplate() const
PUREC++ ONLY

For a per-execution instance (InstancedPerExecution), the object set on the interaction object that it was copied from; null once that object is gone. For every other object, the object itself.

bool IsPerExecutionInstance() const
PUREC++ ONLY

True for a copy that UCISUseExecution made for one use (InstancedPerExecution).

void InitPerExecutionInstance(UCISReplicatedObject* Template)
C++ ONLY

UCISUseExecution: marks this object as the per-execution instance of Template.

Properties

ECISInstancingPolicy InstancingPolicy = ECISInstancingPolicy::Default

How a use runs this object (see ECISInstancingPolicy). Default: SharedPerObject for a C++ class, InstancedPerExecution for a Blueprint class. Content saved before 2.0 loads with SharedPerObject, or with the value of its Blueprint archetype saved by 2.0.

Default
ECISInstancingPolicy::Default
Category
Execution
ECISNetExecutionPolicy NetExecutionPolicy = ECISNetExecutionPolicy::AllMachines

Where this object runs during a use (see ECISNetExecutionPolicy). Content saved before 2.0 loads with AllMachines, or LocalOnly when bWithReplication is off, or with the value of its Blueprint archetype saved by 2.0.

Default
ECISNetExecutionPolicy::AllMachines
Category
Execution
bool bWithReplication = true

Whether the object's own RPCs and replicated properties work over the network. When off, they run on the local machine only. The default is on.

Default
true
Category
Replication