2015-03-26 17:02:51 +00:00
|
|
|
#ifndef OPENMW_COMPONENTS_RESOURCE_RESOURCESYSTEM_H
|
|
|
|
#define OPENMW_COMPONENTS_RESOURCE_RESOURCESYSTEM_H
|
|
|
|
|
|
|
|
#include <memory>
|
|
|
|
|
|
|
|
namespace VFS
|
|
|
|
{
|
|
|
|
class Manager;
|
|
|
|
}
|
|
|
|
|
|
|
|
namespace Resource
|
|
|
|
{
|
|
|
|
|
|
|
|
class SceneManager;
|
2015-03-28 01:20:20 +00:00
|
|
|
class TextureManager;
|
2015-03-26 17:02:51 +00:00
|
|
|
|
|
|
|
/// @brief Wrapper class that constructs and provides access to the various resource subsystems.
|
2015-03-28 01:20:20 +00:00
|
|
|
/// @par Resource subsystems can be used with multiple OpenGL contexts, just like the OSG equivalents, but
|
|
|
|
/// are built around the use of a single virtual file system.
|
2015-03-26 17:02:51 +00:00
|
|
|
class ResourceSystem
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
ResourceSystem(const VFS::Manager* vfs);
|
2015-05-08 15:52:35 +00:00
|
|
|
~ResourceSystem();
|
2015-03-26 17:02:51 +00:00
|
|
|
|
|
|
|
SceneManager* getSceneManager();
|
2015-04-16 23:23:37 +00:00
|
|
|
TextureManager* getTextureManager();
|
2015-03-26 17:02:51 +00:00
|
|
|
|
|
|
|
const VFS::Manager* getVFS() const;
|
|
|
|
|
|
|
|
private:
|
|
|
|
std::auto_ptr<SceneManager> mSceneManager;
|
2015-03-28 01:20:20 +00:00
|
|
|
std::auto_ptr<TextureManager> mTextureManager;
|
2015-03-26 17:02:51 +00:00
|
|
|
|
|
|
|
const VFS::Manager* mVFS;
|
2015-05-08 15:52:35 +00:00
|
|
|
|
|
|
|
ResourceSystem(const ResourceSystem&);
|
|
|
|
void operator = (const ResourceSystem&);
|
2015-03-26 17:02:51 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|