Merge pull request #4261 from aws-lumberyard-dev/MPSpawnableHolderUpdate

Updated NetworkSpawnableHolderComponent to use TransformBus instead o…
This commit is contained in:
SergeyAMZN
2021-09-24 19:06:21 +01:00
committed by GitHub
4 changed files with 29 additions and 17 deletions
@@ -24,6 +24,13 @@ namespace Multiplayer
}
}
void NetworkSpawnableHolderComponent::GetDependentServices(AZ::ComponentDescriptor::DependencyArrayType& dependent)
{
// TransformService isn't strictly required in this component (Identity transform will be used by default)
// However we need to make sure if there's a component providing TransformService it is activated first.
dependent.push_back(AZ_CRC_CE("TransformService"));
}
NetworkSpawnableHolderComponent::NetworkSpawnableHolderComponent()
{
}
@@ -38,11 +45,9 @@ namespace Multiplayer
{
AZ::Transform rootEntityTransform = AZ::Transform::CreateIdentity();
AzFramework::TransformComponent* rootEntityTransformComponent =
GetEntity()->FindComponent<AzFramework::TransformComponent>();
if (rootEntityTransformComponent)
if(auto* transformInterface = GetEntity()->GetTransform())
{
rootEntityTransform = rootEntityTransformComponent->GetWorldTM();
rootEntityTransform = transformInterface->GetWorldTM();
}
INetworkEntityManager* networkEntityManager = GetNetworkEntityManager();
@@ -22,11 +22,12 @@ namespace Multiplayer
public:
AZ_COMPONENT(NetworkSpawnableHolderComponent, "{B0E3ADEE-FCB4-4A32-8D4F-6920F1CB08E4}");
static void Reflect(AZ::ReflectContext* context);
NetworkSpawnableHolderComponent();;
~NetworkSpawnableHolderComponent() override = default;
static void Reflect(AZ::ReflectContext* context);
static void GetDependentServices(AZ::ComponentDescriptor::DependencyArrayType& dependent);
//! AZ::Component overrides.
//! @{
void Activate() override;