// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2016. #pragma once #include "ComponentAssetBroker.h" #include "FMODEvent.h" ////////////////////////////////////////////////////////////////////////// // FFMODAssetBroker class FFMODAssetBroker : public IComponentAssetBroker { public: UClass* GetSupportedAssetClass() override { return UFMODEvent::StaticClass(); } virtual bool AssignAssetToComponent(UActorComponent* InComponent, UObject* InAsset) override { if (UFMODAudioComponent* AudioComp = Cast(InComponent)) { UFMODEvent* Event = Cast(InAsset); if ((Event != NULL) || (InAsset == NULL)) { AudioComp->Event = Event; return true; } } return false; } virtual UObject* GetAssetFromComponent(UActorComponent* InComponent) override { if (UFMODAudioComponent* AudioComp = Cast(InComponent)) { return AudioComp->Event.Get(); } return NULL; } };