diff --git a/AssetDumper/Source/AssetDumper/AssetDumper.Build.cs b/AssetDumper/Source/AssetDumper/AssetDumper.Build.cs index a927080..a1c77b8 100644 --- a/AssetDumper/Source/AssetDumper/AssetDumper.Build.cs +++ b/AssetDumper/Source/AssetDumper/AssetDumper.Build.cs @@ -33,7 +33,8 @@ public AssetDumper(ReadOnlyTargetRules Target) : base(Target) PrivateDependencyModuleNames.AddRange(new[] { "PhysicsCore", "RHI", - "MediaAssets" + "MediaAssets", + "WwiseFileHandler", "AkAudio" }); if (Target.bBuildEditor) { diff --git a/AssetDumper/Source/AssetDumper/Private/Toolkit/AssetTypes/AkAudioEventAssetSerializer.cpp b/AssetDumper/Source/AssetDumper/Private/Toolkit/AssetTypes/AkAudioEventAssetSerializer.cpp new file mode 100644 index 0000000..da2888c --- /dev/null +++ b/AssetDumper/Source/AssetDumper/Private/Toolkit/AssetTypes/AkAudioEventAssetSerializer.cpp @@ -0,0 +1,17 @@ +#include "Toolkit/AssetTypes/AkAudioEventAssetSerializer.h" +#include "Toolkit/AssetDumping/SerializationContext.h" +#include "Toolkit/AssetDumping/AssetTypeSerializerMacros.h" +#include "Toolkit/ObjectHierarchySerializer.h" +#include "AkAudioEvent.h" + +void UAkAudioEventAssetSerializer::SerializeAsset(TSharedRef Context) const +{ + BEGIN_ASSET_SERIALIZATION(UAkAudioEvent) + SERIALIZE_ASSET_OBJECT + END_ASSET_SERIALIZATION +} + +FTopLevelAssetPath UAkAudioEventAssetSerializer::GetAssetClass() const +{ + return FTopLevelAssetPath(UAkAudioEvent::StaticClass()); +} diff --git a/AssetDumper/Source/AssetDumper/Public/Toolkit/AssetTypes/AkAudioEventAssetSerializer.h b/AssetDumper/Source/AssetDumper/Public/Toolkit/AssetTypes/AkAudioEventAssetSerializer.h new file mode 100644 index 0000000..0b3623a --- /dev/null +++ b/AssetDumper/Source/AssetDumper/Public/Toolkit/AssetTypes/AkAudioEventAssetSerializer.h @@ -0,0 +1,14 @@ +#pragma once + +#include "CoreMinimal.h" +#include "Toolkit/AssetDumping/AssetTypeSerializer.h" +#include "AkAudioEventAssetSerializer.generated.h" + +UCLASS(MinimalAPI) +class UAkAudioEventAssetSerializer : public UAssetTypeSerializer { + GENERATED_BODY() +public: + virtual void SerializeAsset(TSharedRef Context) const override; + + virtual FTopLevelAssetPath GetAssetClass() const override; +}; diff --git a/AssetGenerator/Source/AssetGenerator/AssetGenerator.Build.cs b/AssetGenerator/Source/AssetGenerator/AssetGenerator.Build.cs index 7edb744..a45b9b1 100644 --- a/AssetGenerator/Source/AssetGenerator/AssetGenerator.Build.cs +++ b/AssetGenerator/Source/AssetGenerator/AssetGenerator.Build.cs @@ -39,7 +39,8 @@ public AssetGenerator(ReadOnlyTargetRules Target) : base(Target) "PhysicsCore", "MediaAssets", "AudioEditor", - "GraphEditor" + "GraphEditor", + "WwiseFileHandler", "AkAudio" }); PrivateDependencyModuleNames.Add("DeveloperSettings"); diff --git a/AssetGenerator/Source/AssetGenerator/Private/Toolkit/AssetTypeGenerator/AkAudioEventGenerator.cpp b/AssetGenerator/Source/AssetGenerator/Private/Toolkit/AssetTypeGenerator/AkAudioEventGenerator.cpp new file mode 100644 index 0000000..f6de680 --- /dev/null +++ b/AssetGenerator/Source/AssetGenerator/Private/Toolkit/AssetTypeGenerator/AkAudioEventGenerator.cpp @@ -0,0 +1,30 @@ +#include "Toolkit/AssetTypeGenerator/AkAudioEventGenerator.h" +#include "AkAudioEvent.h" +#include "Toolkit/PropertySerializer.h" +#include "Toolkit/AssetDumping/AssetTypeSerializerMacros.h" + +void UAkAudioEventGenerator::PostInitializeAssetGenerator() +{ + UPropertySerializer* Serializer = GetPropertySerializer(); + + //transient and changed every time material parameter collection is changed + //DISABLE_SERIALIZATION(UMaterialParameterCollection, StateId); +} + +UClass* UAkAudioEventGenerator::GetAssetObjectClass() const +{ + return UAkAudioEvent::StaticClass(); +} + +void UAkAudioEventGenerator::PopulateSimpleAssetWithData(UObject* Asset) +{ + Super::PopulateSimpleAssetWithData(Asset); + UAkAudioEvent* AkAudioEvent = CastChecked(Asset); + + AkAudioEvent->PostLoad(); +} + +FTopLevelAssetPath UAkAudioEventGenerator::GetAssetClass() +{ + return FTopLevelAssetPath(UAkAudioEvent::StaticClass()); +} diff --git a/AssetGenerator/Source/AssetGenerator/Public/Toolkit/AssetTypeGenerator/AkAudioEventGenerator.h b/AssetGenerator/Source/AssetGenerator/Public/Toolkit/AssetTypeGenerator/AkAudioEventGenerator.h new file mode 100644 index 0000000..5c1e17f --- /dev/null +++ b/AssetGenerator/Source/AssetGenerator/Public/Toolkit/AssetTypeGenerator/AkAudioEventGenerator.h @@ -0,0 +1,16 @@ +#pragma once + +#include "CoreMinimal.h" +#include "Toolkit/AssetTypeGenerator/SimpleAssetGenerator.h" +#include "AkAudioEventGenerator.generated.h" + +UCLASS(MinimalAPI) +class UAkAudioEventGenerator : public USimpleAssetGenerator { + GENERATED_BODY() +protected: + virtual void PostInitializeAssetGenerator() override; + virtual UClass* GetAssetObjectClass() const override; + virtual void PopulateSimpleAssetWithData(UObject* Asset) override; +public: + virtual FTopLevelAssetPath GetAssetClass() override; +};