35 template <> ControllerManager* Singleton<ControllerManager>::msInstance =
nullptr;
50 const std::string factory_type =
"Controller";
65 const std::string factory_type =
"Controller";
75 mIsInitialise =
false;
78 void ControllerManager::clear()
80 for (ListControllerItem::iterator iter = mListItem.begin(); iter != mListItem.end(); ++iter)
82 delete (*iter).second;
96 if (mListItem.empty())
102 for (ListControllerItem::iterator iter = mListItem.begin(); iter != mListItem.end(); ++iter)
105 if ((*iter).first == _widget)
107 if ((*iter).second->getTypeName() == _item->
getTypeName())
109 delete (*iter).second;
110 (*iter).second = _item;
117 mListItem.push_back(PairControllerItem(_widget, _item));
123 for (ListControllerItem::iterator iter = mListItem.begin(); iter != mListItem.end(); ++iter)
125 if ((*iter).first == _widget) (*iter).first =
nullptr;
129 void ControllerManager::_unlinkWidget(
Widget* _widget)
134 void ControllerManager::frameEntered(
float _time)
136 for (ListControllerItem::iterator iter = mListItem.begin(); iter != mListItem.end(); )
138 if (
nullptr == (*iter).first)
140 delete (*iter).second;
142 iter = mListItem.erase(iter);
146 if ((*iter).second->addTime((*iter).first, _time))
153 (*iter).first =
nullptr;
156 if (mListItem.empty())