Skip to content
This repository was archived by the owner on Mar 11, 2025. It is now read-only.

Commit c103def

Browse files
committed
Remove bytestream from Asset interface and derived assets
1 parent 630d679 commit c103def

File tree

2 files changed

+2
-36
lines changed

2 files changed

+2
-36
lines changed

lib/include/tkge/Assets/IAsset.hpp

Lines changed: 1 addition & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -135,40 +135,6 @@ namespace tkge::Assets
135135
{
136136
public:
137137
virtual ~IAsset() = default;
138-
139-
protected:
140-
[[nodiscard]] virtual ReadonlyByteStream& byteStream() noexcept = 0;
141-
[[nodiscard]] virtual const ReadonlyByteStream& byteStream() const noexcept = 0;
142-
};
143-
144-
template <typename T>
145-
class IMoveableAsset : public virtual IAsset
146-
{
147-
public:
148-
explicit IMoveableAsset(std::string filename) : _byteStream(std::move(filename)) {}
149-
// static_assert(!std::is_base_of_v<ICopyableAsset<T>, T>, "Cannot derive from both move and copy assets!");
150-
~IMoveableAsset() override = default;
151-
[[nodiscard]] ReadonlyByteStream& byteStream() noexcept override { return this->_byteStream; }
152-
[[nodiscard]] const ReadonlyByteStream& byteStream() const noexcept override { return this->_byteStream; }
153-
154-
private:
155-
ReadonlyByteStream _byteStream;
156-
157-
friend T;
158-
};
159-
template <typename T>
160-
class ICopyableAsset : public virtual IAsset
161-
{
162-
public:
163-
explicit ICopyableAsset(std::string filename) : _byteStream(std::make_shared<ReadonlyByteStream>(std::move(filename))) {}
164-
// static_assert(!std::is_base_of_v<IMoveableAsset<T>, T>, "Cannot derive from both move and copy assets!");
165-
~ICopyableAsset() override = default;
166-
[[nodiscard]] ReadonlyByteStream& byteStream() noexcept override { return *this->_byteStream; }
167-
[[nodiscard]] const ReadonlyByteStream& byteStream() const noexcept override { return *this->_byteStream; }
168-
169-
private:
170-
std::shared_ptr<ReadonlyByteStream> _byteStream;
171-
172-
friend T;
138+
virtual void Load(ReadonlyByteStream) = 0;
173139
};
174140
} // namespace tkge::Assets

lib/src/engine.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace tkge
1212
_renderPass.set_color_target();
1313
// TEST
1414
const auto myTextDocument = this->GetAssetLoader().LoadAsset<tkge::Assets::TextAsset>("hello.txt");
15-
std::println("Document content = '{}'", myTextDocument->ReadAllText());
15+
std::println("Document content = '{}'", myTextDocument->text());
1616
}
1717

1818
glm::ivec2 Engine::FramebufferSize() const { return kvf::util::to_glm_vec<int>(_renderDevice.get_framebuffer_extent()); }

0 commit comments

Comments
 (0)