50 #ifndef __CU_SCENE_LOADER_H__
51 #define __CU_SCENE_LOADER_H__
52 #include <cugl/assets/CULoader.h>
53 #include <cugl/2d/CUNode.h>
54 #include <unordered_map>
136 std::unordered_map<std::string,Widget>
_types;
139 std::unordered_map<std::string,Form>
_forms;
156 void materialize(
const std::shared_ptr<Node>& node, LoaderCallback callback);
192 virtual bool read(
const std::string& key,
const std::string& source,
193 LoaderCallback callback,
bool async)
override;
211 virtual bool read(
const std::shared_ptr<JsonValue>& json,
212 LoaderCallback callback,
bool async)
override;
229 virtual bool purge(
const std::shared_ptr<JsonValue>& json)
override;
243 bool attach(
const std::string& key,
const std::shared_ptr<Node>& node);
247 #pragma mark Constructors
272 return init(
nullptr);
289 virtual bool init(
const std::shared_ptr<ThreadPool>& threads)
override;
322 static std::shared_ptr<SceneLoader>
alloc() {
323 std::shared_ptr<SceneLoader> result = std::make_shared<SceneLoader>();
324 return (result->init() ? result :
nullptr);
338 static std::shared_ptr<SceneLoader>
alloc(
const std::shared_ptr<ThreadPool>& threads) {
339 std::shared_ptr<SceneLoader> result = std::make_shared<SceneLoader>();
340 return (result->init(threads) ? result :
nullptr);
372 std::shared_ptr<Node>
build(
const std::string& key,
const std::shared_ptr<JsonValue>& json)
const;
std::unordered_map< std::string, Form > _forms
Definition: CUSceneLoader.h:139
std::shared_ptr< ThreadPool > _loader
Definition: CULoader.h:105
std::shared_ptr< Node > build(const std::string &key, const std::shared_ptr< JsonValue > &json) const
static std::shared_ptr< SceneLoader > alloc(const std::shared_ptr< ThreadPool > &threads)
Definition: CUSceneLoader.h:338
virtual bool init() override
Definition: CUSceneLoader.h:271
AssetManager * _manager
Definition: CULoader.h:112
virtual bool read(const std::string &key, const std::string &source, LoaderCallback callback, bool async) override
void dispose() override
Definition: CUSceneLoader.h:302
std::unordered_map< std::string, std::shared_ptr< Node > > _assets
Definition: CULoader.h:736
virtual bool purge(const std::shared_ptr< JsonValue > &json) override
bool attach(const std::string &key, const std::shared_ptr< Node > &node)
SceneLoader()
Definition: CUSceneLoader.h:254
Definition: CULoader.h:733
void materialize(const std::shared_ptr< Node > &node, LoaderCallback callback)
Definition: CUSceneLoader.h:77
Form
Definition: CUSceneLoader.h:122
std::unordered_map< std::string, Widget > _types
Definition: CUSceneLoader.h:136
Definition: CUAction.h:51
static std::shared_ptr< SceneLoader > alloc()
Definition: CUSceneLoader.h:322
Widget
Definition: CUSceneLoader.h:88