Integrating up through commit 90f050496
This commit is contained in:
+11
-11
@@ -165,8 +165,8 @@ namespace Multiplayer
|
||||
}
|
||||
|
||||
// Add in Autonomous Entities
|
||||
// Note: Do not add any ClientSimulation entities after this point, otherwise you stomp over the ClientAutonomous mode
|
||||
m_replicationSet[m_controlledEntity] = { NetEntityRole::ClientAutonomous, 1.0f }; // Always replicate autonomous entities
|
||||
// Note: Do not add any Client entities after this point, otherwise you stomp over the Autonomous mode
|
||||
m_replicationSet[m_controlledEntity] = { NetEntityRole::Autonomous, 1.0f }; // Always replicate autonomous entities
|
||||
|
||||
//auto hierarchyController = FindController<EntityHierarchyComponent::Authority>(m_ControlledEntity);
|
||||
//if (hierarchyController != nullptr)
|
||||
@@ -277,7 +277,7 @@ namespace Multiplayer
|
||||
if (!sv_ReplicateServerProxies)
|
||||
{
|
||||
NetBindComponent* netBindComponent = entityHandle.GetNetBindComponent();
|
||||
if ((netBindComponent != nullptr) && (netBindComponent->GetNetEntityRole() == NetEntityRole::ServerSimulation))
|
||||
if ((netBindComponent != nullptr) && (netBindComponent->GetNetEntityRole() == NetEntityRole::Server))
|
||||
{
|
||||
// Proxy replication disabled
|
||||
return;
|
||||
@@ -296,28 +296,28 @@ namespace Multiplayer
|
||||
m_replicationSet.erase(removeEnt);
|
||||
}
|
||||
m_candidateQueue.push(PrioritizedReplicationCandidate(entityHandle, priority));
|
||||
m_replicationSet[entityHandle] = { NetEntityRole::ClientSimulation, priority };
|
||||
m_replicationSet[entityHandle] = { NetEntityRole::Client, priority };
|
||||
}
|
||||
}
|
||||
|
||||
//void ServerToClientReplicationWindow::CollectControlledEntitiesRecursive(ReplicationSet& a_ReplicationSet, EntityHierarchyComponent::Authority& a_HierarchyController)
|
||||
//void ServerToClientReplicationWindow::CollectControlledEntitiesRecursive(ReplicationSet& replicationSet, EntityHierarchyComponent::Authority& hierarchyController)
|
||||
//{
|
||||
// auto controlledEnts = a_HierarchyController.GetChildrenRelatedEntities();
|
||||
// auto controlledEnts = hierarchyController.GetChildrenRelatedEntities();
|
||||
// for (auto& controlledEnt : controlledEnts)
|
||||
// {
|
||||
// AZ_Assert(controlledEnt != nullptr, "We have lost a controlled entity unexpectedly");
|
||||
// a_ReplicationSet[controlledEnt.GetConstEntity()] = EntityReplicationData(EntityNetworkRoleT::e_ClientAutonomous, EntityPrioritySystem::k_MaxPriority); // Always replicate controlled entities
|
||||
// replicationSet[controlledEnt.GetConstEntity()] = EntityReplicationData(EntityNetworkRoleT::e_Autonomous, EntityPrioritySystem::k_MaxPriority); // Always replicate controlled entities
|
||||
// auto hierarchyController = controlledEnt.FindController<EntityHierarchyComponent::Authority>();
|
||||
// if (hierarchyController != nullptr)
|
||||
// {
|
||||
// CollectControlledEntitiesRecursive(a_ReplicationSet, *hierarchyController);
|
||||
// CollectControlledEntitiesRecursive(replicationSet, *hierarchyController);
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
//void ServerToClientReplicationWindow::OnAddFilteredEntity(NetEntityId a_FitleredEntityId)
|
||||
//void ServerToClientReplicationWindow::OnAddFilteredEntity(NetEntityId filteredEntityId)
|
||||
//{
|
||||
// ConstEntityPtr filteredEntity = gNovaGame->GetEntityManager().GetEntity(a_FitleredEntityId);
|
||||
// m_replicationSet.erase(filteredEntity);
|
||||
// ConstEntityPtr filteredEntity = gNovaGame->GetEntityManager().GetEntity(filteredEntityId);
|
||||
// m_replicationSet.erase(filteredEntityId);
|
||||
//}
|
||||
}
|
||||
|
||||
@@ -62,26 +62,26 @@ namespace Multiplayer
|
||||
void OnEntityDeactivated(const AZ::EntityId&) override;
|
||||
//! @}
|
||||
|
||||
//void CollectControlledEntitiesRecursive(ReplicationSet& a_ReplicationSet, EntityHierarchyComponent::Authority& a_HierarchyController);
|
||||
//void OnAddFilteredEntity(EntityIdT a_FitleredEntityId);
|
||||
//void CollectControlledEntitiesRecursive(ReplicationSet& replicationSet, EntityHierarchyComponent::Authority& hierarchyController);
|
||||
//void OnAddFilteredEntity(NetEntityId filteredEntityId);
|
||||
|
||||
void EvaluateConnection();
|
||||
void AddEntityToReplicationSet(ConstNetworkEntityHandle& entityHandle, float priority, float distanceSquared);
|
||||
|
||||
ServerToClientReplicationWindow& operator=(const ServerToClientReplicationWindow&) = delete;
|
||||
|
||||
NetworkEntityHandle m_controlledEntity;
|
||||
AZ::TransformInterface* m_controlledEntityTransform = nullptr;
|
||||
|
||||
//FilteredEntityComponent::Authority* mp_ControlledFilteredEntityComponent = nullptr;
|
||||
//NetSystemComponent* mp_ControlledNetSystemComponent = nullptr;
|
||||
|
||||
// sorted in reverse, lowest priority is the top()
|
||||
ReplicationCandidateQueue m_candidateQueue;
|
||||
ReplicationSet m_replicationSet;
|
||||
|
||||
AZ::ScheduledEvent m_updateWindowEvent;
|
||||
|
||||
NetworkEntityHandle m_controlledEntity;
|
||||
AZ::TransformInterface* m_controlledEntityTransform = nullptr;
|
||||
|
||||
//FilteredEntityComponent::Authority* m_controlledFilteredEntityComponent = nullptr;
|
||||
//NetBindComponent* m_controlledNetBindComponent = nullptr;
|
||||
|
||||
const AzNetworking::IConnection* m_connection = nullptr;
|
||||
float m_minPriorityReplicated = 0.0f; ///< Lowest replicated entity priority in last update
|
||||
|
||||
|
||||
@@ -55,14 +55,14 @@ namespace Multiplayer
|
||||
if (netBindComponent != nullptr)
|
||||
{
|
||||
NetEntityRole networkRole = netBindComponent->GetNetEntityRole();
|
||||
if (networkRole == NetEntityRole::ServerAuthority)
|
||||
if (networkRole == NetEntityRole::Authority)
|
||||
{
|
||||
const AZ::Entity* entity = entityHandle.GetEntity();
|
||||
AZ::TransformInterface* transformInterface = entity->GetTransform();
|
||||
AZ::Vector3 entityPosition = transformInterface->GetWorldTranslation();
|
||||
if (m_aabb.Contains(entityPosition))
|
||||
{
|
||||
outNetworkRole = Multiplayer::NetEntityRole::ServerSimulation;
|
||||
outNetworkRole = Multiplayer::NetEntityRole::Server;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -88,9 +88,9 @@ namespace Multiplayer
|
||||
if (netBindComponent != nullptr)
|
||||
{
|
||||
NetEntityRole networkRole = netBindComponent->GetNetEntityRole();
|
||||
if (networkRole == NetEntityRole::ServerAuthority)
|
||||
if (networkRole == NetEntityRole::Authority)
|
||||
{
|
||||
m_replicationSet[entityHandle] = { NetEntityRole::ServerSimulation, 0.0f }; // Note, server replication does not use priority
|
||||
m_replicationSet[entityHandle] = { NetEntityRole::Server, 0.0f }; // Note, server replication does not use priority
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -130,7 +130,7 @@ namespace Multiplayer
|
||||
NetEntityRole networkRole = NetEntityRole::InvalidRole;
|
||||
if (IsInWindow(entityHandle, networkRole))
|
||||
{
|
||||
m_replicationSet[entityHandle] = { NetEntityRole::ServerSimulation, 0.0f };
|
||||
m_replicationSet[entityHandle] = { NetEntityRole::Server, 0.0f };
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user