From 99f7085c05450983e187bc31c16084f6d3c7ec59 Mon Sep 17 00:00:00 2001 From: amzn-phist <52085794+amzn-phist@users.noreply.github.com> Date: Thu, 29 Jul 2021 14:56:13 -0500 Subject: [PATCH] Fixes resource selectors not showing (#2621) These statics were getting dead-stripped by the compiler, so removed some of the macro magic and just do direct registration instead. Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com> --- .../Editor/AudioControlsEditorPlugin.cpp | 4 +- .../Source/Editor/AudioResourceSelectors.cpp | 37 +++++++++++++++---- .../Source/Editor/AudioResourceSelectors.h | 14 +++++++ .../Code/audiosystem_editor_files.cmake | 1 + 4 files changed, 46 insertions(+), 10 deletions(-) create mode 100644 Gems/AudioSystem/Code/Source/Editor/AudioResourceSelectors.h diff --git a/Gems/AudioSystem/Code/Source/Editor/AudioControlsEditorPlugin.cpp b/Gems/AudioSystem/Code/Source/Editor/AudioControlsEditorPlugin.cpp index 973cb836a0..b318cea128 100644 --- a/Gems/AudioSystem/Code/Source/Editor/AudioControlsEditorPlugin.cpp +++ b/Gems/AudioSystem/Code/Source/Editor/AudioControlsEditorPlugin.cpp @@ -14,7 +14,7 @@ #include #include -#include +#include #include #include @@ -39,7 +39,7 @@ CAudioControlsEditorPlugin::CAudioControlsEditorPlugin(IEditor* editor) QtViewOptions options; options.canHaveMultipleInstances = true; RegisterQtViewPane(editor, LyViewPane::AudioControlsEditor, LyViewPane::CategoryOther, options); - RegisterModuleResourceSelectors(GetIEditor()->GetResourceSelectorHost()); + RegisterAudioControlsResourceSelectors(); Audio::AudioSystemRequestBus::BroadcastResult(ms_pIAudioProxy, &Audio::AudioSystemRequestBus::Events::GetFreeAudioProxy); diff --git a/Gems/AudioSystem/Code/Source/Editor/AudioResourceSelectors.cpp b/Gems/AudioSystem/Code/Source/Editor/AudioResourceSelectors.cpp index f0c9ebe3d1..74233be2e9 100644 --- a/Gems/AudioSystem/Code/Source/Editor/AudioResourceSelectors.cpp +++ b/Gems/AudioSystem/Code/Source/Editor/AudioResourceSelectors.cpp @@ -7,14 +7,13 @@ */ +#include #include #include #include #include #include -using namespace AudioControls; - namespace AudioControls { //-------------------------------------------------------------------------------------------// @@ -67,10 +66,32 @@ namespace AudioControls } //-------------------------------------------------------------------------------------------// - REGISTER_RESOURCE_SELECTOR("AudioTrigger", AudioTriggerSelector, ":/AudioControlsEditor/Icons/Trigger_Icon.png"); - REGISTER_RESOURCE_SELECTOR("AudioSwitch", AudioSwitchSelector, ":/AudioControlsEditor/Icons/Switch_Icon.png"); - REGISTER_RESOURCE_SELECTOR("AudioSwitchState", AudioSwitchStateSelector, ":/AudioControlsEditor/Icons/State_Icon.png"); - REGISTER_RESOURCE_SELECTOR("AudioRTPC", AudioRTPCSelector, ":/AudioControlsEditor/Icons/RTPC_Icon.png"); - REGISTER_RESOURCE_SELECTOR("AudioEnvironment", AudioEnvironmentSelector, ":/AudioControlsEditor/Icons/Environment_Icon.png"); - REGISTER_RESOURCE_SELECTOR("AudioPreloadRequest", AudioPreloadRequestSelector, ":/AudioControlsEditor/Icons/Bank_Icon.png"); + static SStaticResourceSelectorEntry audioTriggerSelector( + "AudioTrigger", AudioTriggerSelector, ":/Icons/Trigger_Icon.svg"); + static SStaticResourceSelectorEntry audioSwitchSelector( + "AudioSwitch", AudioSwitchSelector, ":/Icons/Switch_Icon.svg"); + static SStaticResourceSelectorEntry audioStateSelector( + "AudioSwitchState", AudioSwitchStateSelector, ":/Icons/Property_Icon.png"); + static SStaticResourceSelectorEntry audioRtpcSelector( + "AudioRTPC", AudioRTPCSelector, ":/Icons/RTPC_Icon.svg"); + static SStaticResourceSelectorEntry audioEnvironmentSelector( + "AudioEnvironment", AudioEnvironmentSelector, ":/Icons/Environment_Icon.svg"); + static SStaticResourceSelectorEntry audioPreloadSelector( + "AudioPreloadRequest", AudioPreloadRequestSelector, ":/Icons/Bank_Icon.png"); + + //-------------------------------------------------------------------------------------------// + void RegisterAudioControlsResourceSelectors() + { + if (IResourceSelectorHost* host = GetIEditor()->GetResourceSelectorHost(); + host != nullptr) + { + host->RegisterResourceSelector(&audioTriggerSelector); + host->RegisterResourceSelector(&audioSwitchSelector); + host->RegisterResourceSelector(&audioStateSelector); + host->RegisterResourceSelector(&audioRtpcSelector); + host->RegisterResourceSelector(&audioEnvironmentSelector); + host->RegisterResourceSelector(&audioPreloadSelector); + } + } + } // namespace AudioControls diff --git a/Gems/AudioSystem/Code/Source/Editor/AudioResourceSelectors.h b/Gems/AudioSystem/Code/Source/Editor/AudioResourceSelectors.h new file mode 100644 index 0000000000..d2bff7c799 --- /dev/null +++ b/Gems/AudioSystem/Code/Source/Editor/AudioResourceSelectors.h @@ -0,0 +1,14 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#pragma once + +namespace AudioControls +{ + void RegisterAudioControlsResourceSelectors(); +} diff --git a/Gems/AudioSystem/Code/audiosystem_editor_files.cmake b/Gems/AudioSystem/Code/audiosystem_editor_files.cmake index 9333cea7e3..25f78121d6 100644 --- a/Gems/AudioSystem/Code/audiosystem_editor_files.cmake +++ b/Gems/AudioSystem/Code/audiosystem_editor_files.cmake @@ -54,6 +54,7 @@ set(FILES Source/Editor/AudioControlsEditorWindow.h Source/Editor/AudioControlsLoader.h Source/Editor/AudioControlsWriter.h + Source/Editor/AudioResourceSelectors.h Source/Editor/AudioSystemPanel.h Source/Editor/ImplementationManager.h Source/Editor/InspectorPanel.h