Open 3D Engine Multiplayer Gem API Reference  24.09
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
Multiplayer::EntityReplicationManager Class Referencefinal

Handles replication of relevant entities for one connection. More...

#include <EntityReplicationManager.h>

Public Types

enum class  Mode { Invalid , LocalServerToRemoteClient , LocalServerToRemoteServer , LocalClientToRemoteServer }
 
using EntityReplicatorMap = AZStd::map< NetEntityId, AZStd::unique_ptr< EntityReplicator > >
 

Public Member Functions

 EntityReplicationManager (AzNetworking::IConnection &connection, AzNetworking::IConnectionListener &connectionListener, Mode mode)
 
const HostId & GetRemoteHostId () const
 
void ActivatePendingEntities ()
 
void SendUpdates ()
 
void Clear (bool forMigration)
 
bool SetEntityRebasing (NetworkEntityHandle &entityHandle)
 
void MigrateAllEntities ()
 
void MigrateEntity (NetEntityId netEntityId)
 
bool CanMigrateEntity (const ConstNetworkEntityHandle &entityHandle) const
 
bool HasRemoteAuthority (const ConstNetworkEntityHandle &entityHandle) const
 
void SetRemoteEntityDomain (AZStd::unique_ptr< IEntityDomain > entityDomain)
 
IEntityDomainGetRemoteEntityDomain ()
 
void SetReplicationWindow (AZStd::unique_ptr< IReplicationWindow > replicationWindow)
 
IReplicationWindowGetReplicationWindow ()
 
void GetEntityReplicatorIdList (AZStd::list< NetEntityId > &outList)
 
uint32_t GetEntityReplicatorCount (NetEntityRole localNetworkRole)
 
void AddDeferredRpcMessage (NetworkEntityRpcMessage &rpcMessage)
 
void AddAutonomousEntityReplicatorCreatedHandler (AZ::Event< NetEntityId >::Handler &handler)
 
void AddSendMigrateEntityEventHandler (SendMigrateEntityEvent::Handler &handler)
 
bool HandleEntityMigration (AzNetworking::IConnection *invokingConnection, EntityMigrationMessage &message)
 
bool HandleEntityDeleteMessage (EntityReplicator *entityReplicator, const AzNetworking::IPacketHeader &packetHeader, const NetworkEntityUpdateMessage &updateMessage)
 
bool HandleEntityUpdateMessage (AzNetworking::IConnection *invokingConnection, const AzNetworking::IPacketHeader &packetHeader, const NetworkEntityUpdateMessage &updateMessage)
 
bool HandleEntityRpcMessages (AzNetworking::IConnection *invokingConnection, NetworkEntityRpcVector &rpcVector)
 
bool HandleEntityResetMessages (AzNetworking::IConnection *invokingConnection, const NetEntityIdsForReset &resetIds)
 
AZ::TimeMs GetResendTimeoutTimeMs () const
 
void SetMaxRemoteEntitiesPendingCreationCount (uint32_t maxPendingEntities)
 
void SetEntityActivationTimeSliceMs (AZ::TimeMs timeSliceMs)
 
void SetEntityPendingRemovalMs (AZ::TimeMs entityPendingRemovalMs)
 
AzNetworking::IConnection & GetConnection ()
 
AZ::TimeMs GetFrameTimeMs ()
 
void AddReplicatorToPendingSend (const EntityReplicator &entityReplicator)
 
void RemoveReplicatorFromPendingSend (const EntityReplicator &entityReplicator)
 
bool IsUpdateModeToServerClient ()
 

Friends

class EntityReplicator
 

Detailed Description

Handles replication of relevant entities for one connection.


The documentation for this class was generated from the following file: