3 #include "Mountain/core.hpp" 29 MOUNTAIN_API Resource() =
default;
32 MOUNTAIN_API
explicit Resource(std::string name);
34 MOUNTAIN_API
virtual ~Resource() = 0;
36 DEFAULT_COPY_MOVE_OPERATIONS(Resource)
39 MOUNTAIN_API
virtual bool_t SetSourceData(
const uint8_t* buffer, int64_t length);
46 MOUNTAIN_API
virtual bool_t SetSourceData(
const Pointer<File>& file);
49 MOUNTAIN_API
virtual void Load();
52 MOUNTAIN_API
virtual void Unload();
55 MOUNTAIN_API
virtual void ResetSourceData();
62 MOUNTAIN_API
virtual bool_t Reload(
const uint8_t* buffer, int64_t length, bool_t reloadInBackend =
true);
69 MOUNTAIN_API
virtual bool_t Reload(
const Pointer<File>& file, bool_t reloadInBackend =
true);
77 MOUNTAIN_API
virtual bool_t Reload(bool_t reloadInBackend =
true);
81 MOUNTAIN_API bool_t IsSourceDataSet()
const;
85 MOUNTAIN_API bool_t IsLoaded()
const;
89 MOUNTAIN_API
const std::string& GetName()
const;
94 MOUNTAIN_API
void SetName(
const std::string& newName);
97 MOUNTAIN_API
void SetGuid(
const Guid& guid);
101 MOUNTAIN_API
const Guid& GetGuid()
const;
105 MOUNTAIN_API Pointer<File> GetFile()
const;
107 MOUNTAIN_API
void SetFile(
const Pointer<File>& file);
111 bool_t m_SourceDataSet =
false;
113 bool_t m_Loaded =
false;
120 Pointer<File> m_File;
124 friend class ResourceManager;
Defines the Mountain::File class.
Defines the Mountain::Pointer class.
Defines the Mountain::Guid class.
Contains all declarations of the Mountain Framework.