11#include <unordered_map>
32 std::function<std::unique_ptr<IDisplayObject>(
const sol::table&)>
fromLua;
38 std::function<std::unique_ptr<IAssetObject>(
const sol::table&)>
fromLua;
50 virtual bool onInit()
override;
82 void addDisplayObject(
const std::string& name, std::unique_ptr<IDisplayObject> displayObject);
99 bool useWorld=
false,
int worldX=0,
int worldY=0);
122 bool initialized_ =
false;
124 std::unordered_map<std::string, std::unique_ptr<IDisplayObject>> displayObjects_;
126 std::unordered_map<std::string, std::shared_ptr<IAssetObject>> assetObjects_;
127 std::unordered_map<std::string, TypeCreators> creators_;
128 std::unordered_map<std::string, AssetTypeCreators> assetCreators_;
132 std::vector<DisplayHandle> orphanList_;
137 bool preserveWorldPosition;
141 std::vector<futureChild> futureChildrenList_;
Definition SDOM_AssetHandle.hpp:13
The central singleton framework object for SDOM.
Definition SDOM_Core.hpp:27
Definition SDOM_DisplayHandle.hpp:24
Definition SDOM_Factory.hpp:43
void destroyDisplayObject(const std::string &name)
Definition SDOM_Factory.cpp:969
AssetHandle getAssetObject(const std::string &name)
Definition SDOM_Factory.cpp:409
void clear()
Definition SDOM_Factory.cpp:1086
void initFromLua(const sol::table &lua)
void printAssetTreeGrouped() const
Definition SDOM_Factory.cpp:1191
void addDisplayObject(const std::string &name, std::unique_ptr< IDisplayObject > displayObject)
Definition SDOM_Factory.cpp:955
void printAssetRegistry() const
Definition SDOM_Factory.cpp:1105
virtual bool onUnitTest() override
Runs unit tests for this object.
Definition SDOM_Factory.cpp:1375
virtual void onQuit() override
Definition SDOM_Factory.hpp:52
IAssetObject * getResObj(const std::string &name)
Definition SDOM_Factory.cpp:387
DisplayHandle getStageHandle()
Definition SDOM_Factory.cpp:423
void destroyOrphanedDisplayObjects()
Definition SDOM_Factory.cpp:1016
void addToFutureChildrenList(const DisplayHandle child, const DisplayHandle parent, bool useWorld=false, int worldX=0, int worldY=0)
Definition SDOM_Factory.cpp:1345
DisplayHandle getDisplayObject(const std::string &name)
Definition SDOM_Factory.cpp:397
std::vector< DisplayHandle > getOrphanedDisplayObjects()
Definition SDOM_Factory.cpp:1005
void printObjectRegistry() const
Definition SDOM_Factory.cpp:1091
AssetHandle findAssetByFilename(const std::string &filename, const std::string &typeName="") const
Definition SDOM_Factory.cpp:1038
int countOrphanedDisplayObjects() const
Definition SDOM_Factory.cpp:994
AssetHandle createAsset(const std::string &typeName, const sol::table &config)
Definition SDOM_Factory.cpp:646
void registerDomType(const std::string &typeName, const TypeCreators &creators)
Definition SDOM_Factory.cpp:330
void addToOrphanList(const DisplayHandle orphan)
Definition SDOM_Factory.cpp:1337
virtual bool onInit() override
Definition SDOM_Factory.cpp:37
virtual ~Factory()=default
void attachFutureChildren()
Definition SDOM_Factory.cpp:1318
AssetHandle findSpriteSheetByParams(const std::string &filename, int spriteW, int spriteH) const
Definition SDOM_Factory.cpp:1063
IDisplayObject * getDomObj(const std::string &name)
Definition SDOM_Factory.cpp:367
void collectGarbage()
Definition SDOM_Factory.cpp:256
bool attachCreatedObjectToParentFromConfig(const std::string &name, const std::string &typeName, const sol::object &parentConfig)
Definition SDOM_Factory.cpp:855
void destroyAssetObject(const std::string &name)
Definition SDOM_Factory.cpp:974
void registerResType(const std::string &typeName, const AssetTypeCreators &creators)
Definition SDOM_Factory.cpp:377
DisplayHandle create(const std::string &typeName, const sol::table &config)
Definition SDOM_Factory.cpp:435
std::vector< std::string > listDisplayObjectNames() const
Definition SDOM_Factory.cpp:1028
void printAssetTree() const
Definition SDOM_Factory.cpp:1128
bool isInitialized() const
Definition SDOM_Factory.hpp:51
void detachOrphans()
Definition SDOM_Factory.cpp:1298
Factory()
Definition SDOM_Factory.cpp:30
Definition SDOM_IAssetObject.hpp:10
Definition SDOM_IDataObject.hpp:107
Definition SDOM_IDisplayObject.hpp:153
Contains all core classes and utilities for the SDOM library.
Definition lua_BindHelpers.hpp:7
Definition SDOM_Factory.hpp:37
std::function< std::unique_ptr< IAssetObject >(const sol::table &)> fromLua
Definition SDOM_Factory.hpp:38
std::function< std::unique_ptr< IAssetObject >(const IAssetObject::InitStruct &)> fromInitStruct
Definition SDOM_Factory.hpp:39
Definition SDOM_IAssetObject.hpp:18
Definition SDOM_IDisplayObject.hpp:187
Definition SDOM_Factory.hpp:31
std::function< std::unique_ptr< IDisplayObject >(const sol::table &)> fromLua
Definition SDOM_Factory.hpp:32
std::function< std::unique_ptr< IDisplayObject >(const IDisplayObject::InitStruct &)> fromInitStruct
Definition SDOM_Factory.hpp:33