diff --git a/resources/Schema/Components.xsd b/resources/Schema/Components.xsd index cf282eec..a5bedada 100644 --- a/resources/Schema/Components.xsd +++ b/resources/Schema/Components.xsd @@ -65,4 +65,5 @@ + \ No newline at end of file diff --git a/resources/Schema/Components/NetworkComponent.xml b/resources/Schema/Components/NetworkComponent.xml new file mode 100644 index 00000000..7d5dda6f --- /dev/null +++ b/resources/Schema/Components/NetworkComponent.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/resources/Schema/Components/NetworkComponent.xsd b/resources/Schema/Components/NetworkComponent.xsd new file mode 100644 index 00000000..19cfeb92 --- /dev/null +++ b/resources/Schema/Components/NetworkComponent.xsd @@ -0,0 +1,10 @@ + + + + + + + If an entity has this component, it will be broadcasted to clients in a snapshot. + + + \ No newline at end of file diff --git a/resources/Schema/Entities/AmmoPickup.xml b/resources/Schema/Entities/AmmoPickup.xml index bebde467..ee3704f1 100644 --- a/resources/Schema/Entities/AmmoPickup.xml +++ b/resources/Schema/Entities/AmmoPickup.xml @@ -2,6 +2,7 @@ + Models/Props/PickUps/AmmoPickUp.mesh diff --git a/resources/Schema/Entities/HealthPickup.xml b/resources/Schema/Entities/HealthPickup.xml index b4b83392..6474426f 100644 --- a/resources/Schema/Entities/HealthPickup.xml +++ b/resources/Schema/Entities/HealthPickup.xml @@ -2,6 +2,7 @@ + Models/Props/PickUps/HealthPickUp.mesh diff --git a/resources/Schema/Entities/Player.xml b/resources/Schema/Entities/Player.xml index 475acf78..474d9dbc 100644 --- a/resources/Schema/Entities/Player.xml +++ b/resources/Schema/Entities/Player.xml @@ -2,6 +2,7 @@ + diff --git a/resources/Schema/Entities/PlayerAssaultBlue.xml b/resources/Schema/Entities/PlayerAssaultBlue.xml index 7773235b..8b5b3d11 100644 --- a/resources/Schema/Entities/PlayerAssaultBlue.xml +++ b/resources/Schema/Entities/PlayerAssaultBlue.xml @@ -2,6 +2,7 @@ + diff --git a/resources/Schema/Entities/PlayerAssaultFallbackBlue.xml b/resources/Schema/Entities/PlayerAssaultFallbackBlue.xml index 9650cfe8..c5360b10 100644 --- a/resources/Schema/Entities/PlayerAssaultFallbackBlue.xml +++ b/resources/Schema/Entities/PlayerAssaultFallbackBlue.xml @@ -2,6 +2,7 @@ + diff --git a/resources/Schema/Entities/PlayerAssaultFallbackRed.xml b/resources/Schema/Entities/PlayerAssaultFallbackRed.xml index a32988c7..a7bcdef4 100644 --- a/resources/Schema/Entities/PlayerAssaultFallbackRed.xml +++ b/resources/Schema/Entities/PlayerAssaultFallbackRed.xml @@ -2,6 +2,7 @@ + diff --git a/resources/Schema/Entities/PlayerAssaultRed.xml b/resources/Schema/Entities/PlayerAssaultRed.xml index a198196e..db6e1cad 100644 --- a/resources/Schema/Entities/PlayerAssaultRed.xml +++ b/resources/Schema/Entities/PlayerAssaultRed.xml @@ -2,6 +2,7 @@ + diff --git a/resources/Schema/Entities/PlayerDefenderBlue.xml b/resources/Schema/Entities/PlayerDefenderBlue.xml index c3bfc074..24bfee2b 100644 --- a/resources/Schema/Entities/PlayerDefenderBlue.xml +++ b/resources/Schema/Entities/PlayerDefenderBlue.xml @@ -2,6 +2,7 @@ + diff --git a/resources/Schema/Entities/PlayerRed.xml b/resources/Schema/Entities/PlayerRed.xml index c46b9d79..9fa7be05 100644 --- a/resources/Schema/Entities/PlayerRed.xml +++ b/resources/Schema/Entities/PlayerRed.xml @@ -2,6 +2,7 @@ + diff --git a/resources/Schema/Entities/ScoreBoard.xml b/resources/Schema/Entities/ScoreBoard.xml index ce612800..b3798e72 100644 --- a/resources/Schema/Entities/ScoreBoard.xml +++ b/resources/Schema/Entities/ScoreBoard.xml @@ -2,6 +2,7 @@ + diff --git a/resources/Schema/Types/Entity.xsd b/resources/Schema/Types/Entity.xsd index 4865b936..3d73f970 100644 --- a/resources/Schema/Types/Entity.xsd +++ b/resources/Schema/Types/Entity.xsd @@ -68,6 +68,7 @@ + diff --git a/src/Engine/Network/Server.cpp b/src/Engine/Network/Server.cpp index 64f2dd59..0dd761a0 100644 --- a/src/Engine/Network/Server.cpp +++ b/src/Engine/Network/Server.cpp @@ -643,22 +643,7 @@ void Server::parsePlayerTransform(Packet& packet) bool Server::shouldSendToClient(EntityWrapper childEntity) { - auto children = m_World->GetDirectChildren(childEntity.ID); - for (auto it = children.first; it != children.second; it++) { - EntityWrapper child(m_World, it->second); - if (child.HasComponent("CapturePoint") || child.HasComponent("HealthPickup") - || child.HasComponent("AmmoPickup")) { - return true; - } - } - return childEntity.HasComponent("Player") - || childEntity.FirstParentWithComponent("Player").Valid() - || childEntity.HasComponent("CapturePoint") - || childEntity.HasComponent("HealthPickup") - || childEntity.HasComponent("AmmoPickup") - || childEntity.HasComponent("ScoreScreen") - || childEntity.FirstParentWithComponent("ScoreScreen").Valid() - || childEntity.FirstParentWithComponent("CapturePoint").Valid(); + return childEntity.HasComponent("NetworkComponent") || childEntity.FirstParentWithComponent("NetworkComponent").Valid(); } PlayerID Server::getPlayerIDFromEndpoint()