Plasma Engine  2.0
Loading...
Searching...
No Matches
FmodSoundBankResource.h
1#pragma once
2
3#include <Core/ResourceManager/Resource.h>
4#include <FmodPlugin/FmodPluginDLL.h>
5
7
8struct PL_FMODPLUGIN_DLL plFmodSoundBankResourceDescriptor
9{
10 // empty, these types of resources must be loaded from file
11};
12
13class PL_FMODPLUGIN_DLL plFmodSoundBankResource : public plResource
14{
15 PL_ADD_DYNAMIC_REFLECTION(plFmodSoundBankResource, plResource);
16 PL_RESOURCE_DECLARE_COMMON_CODE(plFmodSoundBankResource);
17 PL_RESOURCE_DECLARE_CREATEABLE(plFmodSoundBankResource, plFmodSoundBankResourceDescriptor);
18
19public:
22
23private:
24 virtual plResourceLoadDesc UnloadData(Unload WhatToUnload) override;
25 virtual plResourceLoadDesc UpdateContent(plStreamReader* Stream) override;
26 virtual void UpdateMemoryUsage(MemoryUsage& out_NewMemoryUsage) override;
27
28private:
29 FMOD::Studio::Bank* m_pSoundBank = nullptr;
30 plDataBuffer* m_pSoundBankData = nullptr;
31};
32
34{
35public:
37 {
39 : m_Reader(&m_Storage)
40 {
41 }
42
44 plMemoryStreamReader m_Reader;
45 FMOD::Studio::Bank* m_pSoundBank = nullptr;
46 plDataBuffer* m_pSoundbankData = nullptr;
47 };
48
49 virtual plResourceLoadData OpenDataStream(const plResource* pResource) override;
50 virtual void CloseDataStream(const plResource* pResource, const plResourceLoadData& loaderData) override;
51 virtual bool IsResourceOutdated(const plResource* pResource) const override;
52};
The default implementation for memory stream storage.
Definition MemoryStream.h:161
Definition FmodSoundBankResource.h:14
Definition FmodSoundBankResource.h:34
A reader which can access a memory stream.
Definition MemoryStream.h:259
The base class for all resources.
Definition Resource.h:10
Base class for all resource loaders.
Definition ResourceTypeLoader.h:29
Interface for binary in (read) streams.
Definition Stream.h:22
Definition FmodSoundBankResource.h:9
Definition FmodSoundBankResource.h:37
Definition Resource.h:34
Data returned by plResourceTypeLoader implementations.
Definition ResourceTypeLoader.h:10
Describes in which loading state a resource currently is, and how many different quality levels there...
Definition Declarations.h:102