mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-07-03 09:41:50 +00:00
30 lines
968 B
C++
30 lines
968 B
C++
#pragma once
|
|
|
|
#include "AssetCreationContext.h"
|
|
#include "AssetCreationResult.h"
|
|
#include "Game/IAsset.h"
|
|
#include "Pool/XAssetInfo.h"
|
|
#include "SearchPath/ISearchPath.h"
|
|
#include "Utils/MemoryManager.h"
|
|
#include "Zone/ZoneTypes.h"
|
|
|
|
#include <optional>
|
|
#include <string>
|
|
|
|
class AssetCreationContext;
|
|
|
|
class IAssetPostProcessor
|
|
{
|
|
public:
|
|
IAssetPostProcessor() = default;
|
|
virtual ~IAssetPostProcessor() = default;
|
|
IAssetPostProcessor(const IAssetPostProcessor& other) = default;
|
|
IAssetPostProcessor(IAssetPostProcessor&& other) noexcept = default;
|
|
IAssetPostProcessor& operator=(const IAssetPostProcessor& other) = default;
|
|
IAssetPostProcessor& operator=(IAssetPostProcessor&& other) noexcept = default;
|
|
|
|
[[nodiscard]] virtual asset_type_t GetHandlingAssetType() const = 0;
|
|
virtual void PostProcessAsset(XAssetInfoGeneric& assetInfo, AssetCreationContext& context) = 0;
|
|
virtual void FinalizeZone(AssetCreationContext& context) {};
|
|
};
|