Refactored away circular dependencies in Multiplayer gem cmake targets.
This commit is contained in:
@@ -86,44 +86,24 @@ ly_create_alias(NAME Multiplayer.Servers NAMESPACE Gem TARGETS Gem::Multiplayer
|
||||
|
||||
if (PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
ly_add_target(
|
||||
NAME Multiplayer.Builders.Static STATIC
|
||||
NAME Multiplayer.Tools.Static STATIC
|
||||
NAMESPACE Gem
|
||||
FILES_CMAKE
|
||||
multiplayer_tools_files.cmake
|
||||
COMPILE_DEFINITIONS
|
||||
PUBLIC
|
||||
MULTIPLAYER_TOOLS
|
||||
INCLUDE_DIRECTORIES
|
||||
PRIVATE
|
||||
.
|
||||
Source
|
||||
${pal_source_dir}
|
||||
PUBLIC
|
||||
Include
|
||||
BUILD_DEPENDENCIES
|
||||
PUBLIC
|
||||
AZ::AzToolsFramework
|
||||
Gem::Multiplayer.Static
|
||||
)
|
||||
|
||||
# by naming this target Multiplayer.Builders it ensures that it is loaded
|
||||
# in any pipeline tools (Like Asset Processor, AssetBuilder, etc)
|
||||
ly_add_target(
|
||||
NAME Multiplayer.Builders GEM_MODULE
|
||||
NAMESPACE Gem
|
||||
FILES_CMAKE
|
||||
multiplayer_tools_files.cmake
|
||||
INCLUDE_DIRECTORIES
|
||||
PRIVATE
|
||||
AZ::AzNetworking
|
||||
Source
|
||||
.
|
||||
PUBLIC
|
||||
Include
|
||||
BUILD_DEPENDENCIES
|
||||
PRIVATE
|
||||
Gem::Multiplayer.Builders.Static
|
||||
RUNTIME_DEPENDENCIES
|
||||
Gem::Multiplayer.Editor
|
||||
PUBLIC
|
||||
AZ::AzCore
|
||||
AZ::AzFramework
|
||||
AZ::AzNetworking
|
||||
AZ::AzToolsFramework
|
||||
)
|
||||
|
||||
ly_add_target(
|
||||
@@ -152,11 +132,13 @@ if (PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
Gem::Atom_RPI.Public
|
||||
Gem::Atom_RHI.Reflect
|
||||
Gem::Multiplayer.Static
|
||||
Gem::Multiplayer.Tools.Static
|
||||
Gem::Multiplayer.Builders
|
||||
)
|
||||
|
||||
|
||||
ly_create_alias(NAME Multiplayer.Builders NAMESPACE Gem TARGETS Gem::Multiplayer.Editor)
|
||||
# use the Multiplayer.Editor module in tools like the Editor: Such tools also get the visual debug view:
|
||||
ly_create_alias(NAME Multiplayer.Tools NAMESPACE Gem TARGETS Gem::Multiplayer.Editor Gem::Multiplayer.Debug Gem::Multiplayer.Builders)
|
||||
ly_create_alias(NAME Multiplayer.Tools NAMESPACE Gem TARGETS Gem::Multiplayer.Debug Gem::Multiplayer.Builders)
|
||||
endif()
|
||||
|
||||
if (PAL_TRAIT_BUILD_TESTS_SUPPORTED)
|
||||
@@ -207,7 +189,8 @@ if (PAL_TRAIT_BUILD_TESTS_SUPPORTED)
|
||||
AZ::AzTest
|
||||
AZ::AzTestShared
|
||||
AZ::AzToolsFrameworkTestCommon
|
||||
Gem::Multiplayer.Builders.Static
|
||||
Gem::Multiplayer.Static
|
||||
Gem::Multiplayer.Tools.Static
|
||||
)
|
||||
ly_add_googletest(
|
||||
NAME Gem::Multiplayer.Builders.Tests
|
||||
|
||||
@@ -6,10 +6,9 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <MultiplayerToolsSystemComponent.h>
|
||||
#include <AzNetworking/Framework/NetworkingSystemComponent.h>
|
||||
#include <Multiplayer/Components/NetBindComponent.h>
|
||||
#include <Multiplayer/Components/NetworkHierarchyChildComponent.h>
|
||||
#include <Multiplayer/Components/NetworkHierarchyRootComponent.h>
|
||||
#include <Source/MultiplayerGem.h>
|
||||
#include <Source/MultiplayerSystemComponent.h>
|
||||
#include <Source/AutoGen/AutoComponentTypes.h>
|
||||
@@ -20,25 +19,32 @@ namespace Multiplayer
|
||||
MultiplayerModule::MultiplayerModule()
|
||||
: AZ::Module()
|
||||
{
|
||||
m_descriptors.insert(m_descriptors.end(), {
|
||||
AzNetworking::NetworkingSystemComponent::CreateDescriptor(),
|
||||
MultiplayerSystemComponent::CreateDescriptor(),
|
||||
NetBindComponent::CreateDescriptor(),
|
||||
NetworkSpawnableHolderComponent::CreateDescriptor(),
|
||||
});
|
||||
m_descriptors.insert(
|
||||
m_descriptors.end(),
|
||||
{
|
||||
AzNetworking::NetworkingSystemComponent::CreateDescriptor(),
|
||||
MultiplayerSystemComponent::CreateDescriptor(),
|
||||
NetBindComponent::CreateDescriptor(),
|
||||
NetworkSpawnableHolderComponent::CreateDescriptor(),
|
||||
#ifdef MULTIPLAYER_EDITOR
|
||||
MultiplayerToolsSystemComponent::CreateDescriptor(),
|
||||
#endif
|
||||
});
|
||||
|
||||
CreateComponentDescriptors(m_descriptors);
|
||||
}
|
||||
|
||||
AZ::ComponentTypeList MultiplayerModule::GetRequiredSystemComponents() const
|
||||
{
|
||||
return AZ::ComponentTypeList
|
||||
{
|
||||
return AZ::ComponentTypeList{
|
||||
azrtti_typeid<AzNetworking::NetworkingSystemComponent>(),
|
||||
azrtti_typeid<MultiplayerSystemComponent>(),
|
||||
#ifdef MULTIPLAYER_EDITOR
|
||||
azrtti_typeid<MultiplayerToolsSystemComponent>(),
|
||||
#endif
|
||||
};
|
||||
}
|
||||
}
|
||||
} // namespace Multiplayer
|
||||
|
||||
#if !defined(MULTIPLAYER_EDITOR)
|
||||
AZ_DECLARE_MODULE_CLASS(Gem_Multiplayer, Multiplayer::MultiplayerModule);
|
||||
|
||||
+1
-19
@@ -6,7 +6,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <MultiplayerToolsModule.h>
|
||||
#include <MultiplayerToolsSystemComponent.h>
|
||||
#include <Pipeline/NetworkPrefabProcessor.h>
|
||||
|
||||
#include <AzCore/Serialization/Json/RegistrationContext.h>
|
||||
@@ -39,22 +39,4 @@ namespace Multiplayer
|
||||
{
|
||||
m_didProcessNetPrefabs = didProcessNetPrefabs;
|
||||
}
|
||||
|
||||
MultiplayerToolsModule::MultiplayerToolsModule()
|
||||
: AZ::Module()
|
||||
{
|
||||
m_descriptors.insert(m_descriptors.end(), {
|
||||
MultiplayerToolsSystemComponent::CreateDescriptor(),
|
||||
});
|
||||
}
|
||||
|
||||
AZ::ComponentTypeList MultiplayerToolsModule::GetRequiredSystemComponents() const
|
||||
{
|
||||
return AZ::ComponentTypeList
|
||||
{
|
||||
azrtti_typeid<MultiplayerToolsSystemComponent>(),
|
||||
};
|
||||
}
|
||||
} // namespace Multiplayer
|
||||
|
||||
AZ_DECLARE_MODULE_CLASS(Gem_Multiplayer_Tools, Multiplayer::MultiplayerToolsModule);
|
||||
-14
@@ -37,19 +37,5 @@ namespace Multiplayer
|
||||
|
||||
bool m_didProcessNetPrefabs = false;
|
||||
};
|
||||
|
||||
class MultiplayerToolsModule
|
||||
: public AZ::Module
|
||||
{
|
||||
public:
|
||||
|
||||
AZ_RTTI(MultiplayerToolsModule, "{3F726172-21FC-48FA-8CFA-7D87EBA07E55}", AZ::Module);
|
||||
AZ_CLASS_ALLOCATOR(MultiplayerToolsModule, AZ::SystemAllocator, 0);
|
||||
|
||||
MultiplayerToolsModule();
|
||||
~MultiplayerToolsModule() override = default;
|
||||
|
||||
AZ::ComponentTypeList GetRequiredSystemComponents() const override;
|
||||
};
|
||||
} // namespace Multiplayer
|
||||
|
||||
@@ -10,6 +10,6 @@ set(FILES
|
||||
Include/Multiplayer/IMultiplayerTools.h
|
||||
Source/Pipeline/NetworkPrefabProcessor.cpp
|
||||
Source/Pipeline/NetworkPrefabProcessor.h
|
||||
Source/MultiplayerToolsModule.h
|
||||
Source/MultiplayerToolsModule.cpp
|
||||
Source/MultiplayerToolsSystemComponent.cpp
|
||||
Source/MultiplayerToolsSystemComponent.h
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user