/* * Copyright (c) Contributors to the Open 3D Engine Project * * SPDX-License-Identifier: Apache-2.0 OR MIT * */ #include "LmbrCentral_precompiled.h" #include "EditorAudioRtpcComponent.h" #include #include namespace LmbrCentral { //========================================================================= void EditorAudioRtpcComponent::Reflect(AZ::ReflectContext* context) { auto serializeContext = azrtti_cast(context); if (serializeContext) { serializeContext->Class() ->Version(1) ->Field("Rtpc Name", &EditorAudioRtpcComponent::m_defaultRtpc) ; if (auto editContext = serializeContext->GetEditContext()) { editContext->Class("Audio Rtpc", "The Audio Rtpc component provides basic Real-Time Parameter Control (RTPC) functionality allowing you to tweak sounds in real time") ->ClassElement(AZ::Edit::ClassElements::EditorData, "") ->Attribute(AZ::Edit::Attributes::Category, "Audio") ->Attribute(AZ::Edit::Attributes::Icon, "Icons/Components/AudioRtpc.svg") ->Attribute(AZ::Edit::Attributes::ViewportIcon, "Icons/Components/Viewport/AudioRtpc.png") ->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC("Game", 0x232b318c)) ->Attribute(AZ::Edit::Attributes::AutoExpand, true) ->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://docs.o3de.org/docs/user-guide/components/reference/audio-rtpc/") ->DataElement("AudioControl", &EditorAudioRtpcComponent::m_defaultRtpc, "Default Rtpc", "The default ATL Rtpc control to use") ; } } } //========================================================================= EditorAudioRtpcComponent::EditorAudioRtpcComponent() { m_defaultRtpc.m_propertyType = AzToolsFramework::AudioPropertyType::Rtpc; } //========================================================================= void EditorAudioRtpcComponent::BuildGameEntity(AZ::Entity* gameEntity) { gameEntity->CreateComponent(m_defaultRtpc.m_controlName); } } // namespace LmbrCentral