28 #ifndef __CU_LOADER_H__
29 #define __CU_LOADER_H__
32 #include <unordered_map>
37 #pragma mark Polymorphic Base
51 #pragma mark Activation/Deactivation
66 virtual void start() { _active =
true; }
82 virtual void stop() { _active =
false; }
95 #pragma mark Loading/Unloading
111 virtual void loadAsync(std::string key, std::string source) {}
141 #pragma mark Progress Monitoring
197 size_t size = loadCount()+waitCount();
198 return (size == 0 ? 0.0f : ((
float)loadCount())/size);
202 CC_CONSTRUCTOR_ACCESS:
203 #pragma mark Initializers
223 #pragma mark Templated Middle Layer
243 #pragma mark Asset Access
253 virtual bool contains(std::string key)
const {
return _assets.find(key) != _assets.end(); }
265 virtual T*
get(std::string key)
const {
266 auto it = _assets.find(key);
267 return (it == _assets.end() ?
nullptr : it->second);
283 #pragma mark Asset Loading
293 virtual size_t loadCount()
const override {
return _assets.size(); }
310 virtual T*
load(std::string key, std::string source) {
return nullptr; }
313 CC_CONSTRUCTOR_ACCESS:
314 #pragma mark Initializers
Definition: CULoader.h:45
virtual void start()
Definition: CULoader.h:66
virtual size_t loadCount() const
Definition: CULoader.h:154
virtual size_t loadCount() const override
Definition: CULoader.h:293
std::unordered_map< std::string, T * > _assets
Definition: CULoader.h:240
virtual bool contains(std::string key) const
Definition: CULoader.h:253
bool isComplete() const
Definition: CULoader.h:180
virtual void unload(std::string key)
Definition: CULoader.h:125
T * operator[](std::string key) const
Definition: CULoader.h:280
virtual void unloadAll()
Definition: CULoader.h:138
virtual ~BaseLoader()
Definition: CULoader.h:218
bool _active
Definition: CULoader.h:48
virtual void stop()
Definition: CULoader.h:82
float progress() const
Definition: CULoader.h:196
Definition: CULoader.h:237
virtual T * load(std::string key, std::string source)
Definition: CULoader.h:310
virtual size_t waitCount() const
Definition: CULoader.h:169
bool isActive() const
Definition: CULoader.h:92
virtual void loadAsync(std::string key, std::string source)
Definition: CULoader.h:111