24 mCategoryName(
"Controller"),
25 mSingletonHolder(this)
59 mIsInitialise =
false;
62 void ControllerManager::clear()
64 for (
auto& iter : mListItem)
81 for (
auto& iter : mListItem)
84 if (iter.first == _widget)
86 if (iter.second->getTypeName() == _item->
getTypeName())
96 if (mListItem.empty())
99 mListItem.emplace_back(_widget, _item);
105 for (
auto& iter : mListItem)
107 if (iter.first == _widget)
108 iter.first =
nullptr;
112 void ControllerManager::_unlinkWidget(
Widget* _widget)
117 void ControllerManager::frameEntered(
float _time)
119 for (ListControllerItem::iterator iter = mListItem.begin(); iter != mListItem.end(); )
121 if (
nullptr == (*iter).first)
123 delete (*iter).second;
124 iter = mListItem.erase(iter);
128 if ((*iter).second->addTime((*iter).first, _time))
135 (*iter).first =
nullptr;
138 if (mListItem.empty())
144 return mCategoryName;
#define MYGUI_ASSERT(exp, dest)
#define MYGUI_LOG(level, text)
#define MYGUI_SINGLETON_DEFINITION(ClassName)
virtual std::string_view getTypeName() const override
virtual void prepareItem(Widget *_widget)=0
ControllerItem * createItem(std::string_view _type)
static std::string_view getClassTypeName()
const std::string & getCategoryName() const
void removeItem(Widget *_widget)
void addItem(Widget *_widget, ControllerItem *_item)
void registerFactory(std::string_view _category, std::string_view _type, Delegate::IDelegate *_delegate)
static FactoryManager & getInstance()
void unregisterFactory(std::string_view _category, std::string_view _type)
IObject * createObject(std::string_view _category, std::string_view _type)
static Gui & getInstance()
EventHandle_FrameEventDelegate eventFrameStart
Type * castType(bool _throw=true)
delegates::DelegateFunction< Args... > * newDelegate(void(*_func)(Args... args))