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) |
IEntityDomain * | GetRemoteEntityDomain () |
void | SetReplicationWindow (AZStd::unique_ptr< IReplicationWindow > replicationWindow) |
IReplicationWindow * | GetReplicationWindow () |
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 |
Handles replication of relevant entities for one connection.