Lumiera
0.pre.03
»edit your freedom«
|
Go to the source code of this file.
Steam-Layer Interface: Asset Lookup and Organisation.
Declares the AssetManager interface used to access individual Asset instances.
These classes are placed into namespace asset and proc_interface.
10/10 meanwhile I'm unhappy with some aspects of this implementation //////////////TICKET #691
12/12 and meanwhile I'm way more unhappy with the whole design. Looks like I wasn't proficient enough with OO design in C++ when writing that original design. Especially, this design couples the object creation, the memory management and the registration way too tightly. Having a registration magic in the asset baseclass ctor is just too clever and a half. Rather, there should be a responsibility chain, using completely passive Asset objects: Factory -> AssetManaager -> Asset object
Definition in file assetmanager.hpp.
#include "steam/asset.hpp"
#include "lib/error.hpp"
#include "lib/depend.hpp"
#include <cstddef>
#include <string>
#include <list>
#include <boost/utility.hpp>
Classes | |
class | AssetManager |
Facade for the Asset subsystem. More... | |
Functions | |
LUMIERA_ERROR_DECLARE (UNKNOWN_ASSET_ID) | |
use of a non-registered Asset ID. | |
LUMIERA_ERROR_DECLARE (WRONG_ASSET_KIND) | |
Asset ID of wrong Asset kind, unable to cast. | |
Namespaces | |
lumiera | |
Lumiera public interface. | |
steam | |
Steam-Layer implementation namespace root. | |
steam::asset | |
The asset subsystem of the Steam-Layer. | |