33 lines
1.0 KiB
C++
33 lines
1.0 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "dna/Defs.h"
|
|
#include "dna/DataLayer.h"
|
|
#include "dna/layers/BehaviorReader.h"
|
|
#include "dna/layers/GeometryReader.h"
|
|
|
|
namespace dna {
|
|
|
|
/**
|
|
@brief The abstract Reader which its implementations are expected to inherit.
|
|
@note
|
|
This class combines the various different reader interfaces into a single interface.
|
|
The artificial separation into multiple interfaces mirrors the DNA file structure that
|
|
is separated into matching layers under the same names. As these layers can be
|
|
selectively loaded, it might be convenient to slice-off interfaces which layers were
|
|
not loaded.
|
|
*/
|
|
class DNAAPI Reader : public BehaviorReader, public GeometryReader {
|
|
public:
|
|
~Reader() override;
|
|
/**
|
|
@brief Unload all data of the specified layer and all layers dependent on it.
|
|
@param layer
|
|
Layer which data should be unloaded.
|
|
*/
|
|
virtual void unload(DataLayer layer) = 0;
|
|
};
|
|
|
|
} // namespace dna
|