Illusion-UE5/hwanyoung2/Plugins/FMODStudio/Source/FMODStudioEditor/Private/SFMODEventEditorPanel.h
2024-02-10 17:06:19 -05:00

43 lines
1.2 KiB
C++

// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2023.
#pragma once
#include "FMODEventEditor.h"
namespace FMOD
{
namespace Studio
{
class EventDescription;
}
}
class SFMODEventEditorPanel : public SCompoundWidget
{
public:
SLATE_BEGIN_ARGS(SFMODEventEditorPanel) {}
SLATE_ARGUMENT(TWeakPtr<FFMODEventEditor>, FMODEventEditor)
SLATE_END_ARGS()
~SFMODEventEditorPanel();
/** SCompoundWidget interface */
void Construct(const FArguments &InArgs);
private:
TSharedRef<SBorder> ConstructToolbar(FMOD::Studio::EventDescription *EventDescription);
TSharedRef<SExpandableArea> ConstructInfo(FMOD::Studio::EventDescription *EventDescription);
TSharedRef<SExpandableArea> ConstructParameters(FMOD::Studio::EventDescription *EventDescription);
TSharedRef<SExpandableArea> ConstructUserProperties(FMOD::Studio::EventDescription *EventDescription);
/** Editor that owns this panel */
TWeakPtr<FFMODEventEditor> FMODEventEditorPtr;
FReply OnClickedPlay();
FReply OnClickedStop();
FReply OnClickedPause();
TOptional<float> GetParameterValue(FMOD_STUDIO_PARAMETER_ID ParameterId) const;
void OnParameterValueChanged(float NewValue, FMOD_STUDIO_PARAMETER_ID ParameterId);
};