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.