fixed issue
This commit is contained in:
@ -0,0 +1,21 @@
|
||||
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2023.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "ActorFactories/ActorFactory.h"
|
||||
#include "FMODAmbientSoundActorFactory.generated.h"
|
||||
|
||||
/** FMOD Ambient Sound Actor Factory.
|
||||
*/
|
||||
UCLASS(MinimalAPI, config = Editor, collapsecategories, hidecategories = Object)
|
||||
class UFMODAmbientSoundActorFactory : public UActorFactory
|
||||
{
|
||||
GENERATED_UCLASS_BODY()
|
||||
|
||||
// Begin UActorFactory Interface
|
||||
virtual void PostSpawnActor(UObject *Asset, AActor *NewActor) override;
|
||||
virtual void PostCreateBlueprint(UObject *Asset, AActor *CDO) override;
|
||||
virtual bool CanCreateActorFrom(const FAssetData &AssetData, FText &OutErrorMsg) override;
|
||||
virtual UObject *GetAssetFromActorInstance(AActor *ActorInstance) override;
|
||||
// End UActorFactory Interface
|
||||
};
|
@ -0,0 +1,56 @@
|
||||
// Copyright (c), Firelight Technologies Pty, Ltd.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
|
||||
namespace FMOD
|
||||
{
|
||||
namespace Studio
|
||||
{
|
||||
class System;
|
||||
}
|
||||
} // namespace FMOD
|
||||
|
||||
class UFMODAsset;
|
||||
class UFMODBankLookup;
|
||||
class UFMODSettings;
|
||||
|
||||
class FFMODAssetBuilder
|
||||
{
|
||||
public:
|
||||
~FFMODAssetBuilder();
|
||||
|
||||
/** Create studio system for asset building */
|
||||
void Create();
|
||||
|
||||
/** Process FMOD banks into UE4 assets */
|
||||
void ProcessBanks();
|
||||
|
||||
/** Path of strings bank */
|
||||
FString GetMasterStringsBankPath();
|
||||
|
||||
private:
|
||||
struct AssetCreateInfo
|
||||
{
|
||||
UClass *Class;
|
||||
FGuid Guid;
|
||||
FString StudioPath;
|
||||
FString AssetName;
|
||||
FString PackagePath;
|
||||
FString Path;
|
||||
};
|
||||
|
||||
void BuildBankLookup(const FString &AssetName, const FString &PackagePath, const UFMODSettings &InSettings, TArray<UObject*>& AssetsToSave);
|
||||
void BuildAssets(const UFMODSettings &InSettings, const FString &AssetLookupName, const FString &AssetLookupPath, TArray<UObject*>& AssetsToSave,
|
||||
TArray<UObject*>& AssetsToDelete);
|
||||
|
||||
FString GetAssetClassName(UClass *AssetClass);
|
||||
bool MakeAssetCreateInfo(const FGuid &AssetGuid, const FString &StudioPath, AssetCreateInfo *CreateInfo);
|
||||
UFMODAsset *CreateAsset(const AssetCreateInfo& CreateInfo, TArray<UObject*>& AssetsToSave);
|
||||
void SaveAssets(TArray<UObject*>& AssetsToSave);
|
||||
void DeleteAssets(TArray<UObject*>& AssetsToDelete);
|
||||
|
||||
FMOD::Studio::System *StudioSystem{};
|
||||
UFMODBankLookup *BankLookup{};
|
||||
};
|
@ -0,0 +1,20 @@
|
||||
// Copyright (c), Firelight Technologies Pty, Ltd.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "Commandlets/Commandlet.h"
|
||||
#include "FMODGenerateAssetsCommandlet.generated.h"
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
UCLASS()
|
||||
class UFMODGenerateAssetsCommandlet : public UCommandlet
|
||||
{
|
||||
GENERATED_UCLASS_BODY()
|
||||
|
||||
//~ Begin UCommandlet Interface
|
||||
virtual int32 Main(const FString &Params) override;
|
||||
//~ End UCommandlet Interface
|
||||
};
|
Reference in New Issue
Block a user