Class NetworkObject#

Inheritance Relationships#

Base Type#

  • public Object

Class Documentation#

class NetworkObject : public Object#

The NetworkObject is a thread-safe dynamic Object type for use within a network context. The class provides common functionality for performing event handling, property replication and remote procedure calls.

Network objects must have a unique name in order to identify them amongst other instances within the engine. If no name is specified at instance creation a random UUID is assigned for the object automatically.

Public Functions

inline NetworkObject() noexcept#
inline NetworkObject(const NetworkObject &value) noexcept#
inline NetworkObject(NetworkObject &&value) noexcept#
inline virtual ~NetworkObject()#
std::map<utility::string_t, Variant> &GetActiveProperties() const#

Returns the map of active property states.

std::map<utility::string_t, Variant> &GetChangedProperties() const#

Returns the map of property states that have been modified since the last commit.

std::map<utility::string_t, Variant> &GetCommittedProperties() const#

Returns the map of the most recently committed property states.

utility::string_t GetName() const#

Return the unique name of the object instance.

NetworkObject &SetName(utility::string_t value)#

Sets the unique name of the object instance.

bool IsProxy() const#

Indicates if this object is a remote proxy for another on the network (true) or if it is controlled locally (false).

utility::string_t GetFullName() const#

Returns the fully qualified class and instance name.

bool IsReplicated() const#

Indicates if this object can be replicated across the network.

NetworkObject &SetReplicated(bool value)#

Indicates if this object can be replicated across the network.

utility::string_t GetReplicationGroup() const#

Returns the name of the replication group that the object is a member of. Set to null to indicate this object should not be replicated in the current context.

NetworkObject &SetReplicationGroup(utility::string_t value)#

Sets the name of the replication group that the object is a member of. Set to null to indicate this object should not be replicated in the current context.