aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/Resource.h
blob: a2d65dfda830fe5dc07da60631bfcb68bb98c0a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#pragma once

namespace crepe {

class ResourceManager;
class Asset;

/**
 * \brief Resource interface
 *
 * Resource is an interface class used to represent a (deserialized) game resource (e.g.
 * textures, sounds). Resources are always created from \ref Asset "assets" by ResourceManager.
 *
 * The game programmer has the ability to use the ResourceManager to keep instances of concrete
 * resources between scenes, preventing them from being reinstantiated during a scene
 * transition.
 */
class Resource {
public:
	Resource(const Asset & src);
	virtual ~Resource() = default;
};

} // namespace crepe