Gems/Umbra/Code/Source/UmbraModuleInterface.cpp (30 lines of code) (raw):
/*
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
* its licensors.
*/
#include <AzCore/Memory/Memory.h>
#include <Umbra/UmbraTypeIds.h>
#include <UmbraModuleInterface.h>
#include <UmbraObjectComponent/UmbraObjectComponent.h>
#include <UmbraSceneComponent/UmbraSceneComponent.h>
#include <UmbraSystemComponent/UmbraSystemComponent.h>
#include <UmbraViewVolumeComponent/UmbraViewVolumeComponent.h>
namespace Umbra
{
AZ_TYPE_INFO_WITH_NAME_IMPL(UmbraModuleInterface, "UmbraModuleInterface", UmbraModuleInterfaceTypeId);
AZ_RTTI_NO_TYPE_INFO_IMPL(UmbraModuleInterface, AZ::Module);
AZ_CLASS_ALLOCATOR_IMPL(UmbraModuleInterface, AZ::SystemAllocator);
UmbraModuleInterface::UmbraModuleInterface()
{
// Register descriptors for any components added by this module
m_descriptors.insert(
m_descriptors.end(),
{
UmbraSystemComponent::CreateDescriptor(),
UmbraObjectComponent::CreateDescriptor(),
UmbraSceneComponent::CreateDescriptor(),
UmbraViewVolumeComponent::CreateDescriptor(),
});
}
AZ::ComponentTypeList UmbraModuleInterface::GetRequiredSystemComponents() const
{
// Return a list of any system components that need to be automatically created by this module
return AZ::ComponentTypeList{
azrtti_typeid<UmbraSystemComponent>(),
};
}
} // namespace Umbra