Integrating up through commit 90f050496

This commit is contained in:
alexpete
2021-04-07 14:03:29 -07:00
parent 8f2ed080a9
commit c2cbd430fe
2694 changed files with 285622 additions and 176874 deletions
@@ -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 };
}
}