21 template <> ControllerManager* Singleton<ControllerManager>::msInstance =
nullptr;
22 template <>
const char* Singleton<ControllerManager>::mClassTypeName =
"ControllerManager";
26 mCategoryName(
"Controller")
60 mIsInitialise =
false;
63 void ControllerManager::clear()
65 for (ListControllerItem::iterator iter = mListItem.begin(); iter != mListItem.end(); ++iter)
67 delete (*iter).second;
83 for (ListControllerItem::iterator iter = mListItem.begin(); iter != mListItem.end(); ++iter)
86 if ((*iter).first == _widget)
88 if ((*iter).second->getTypeName() == _item->
getTypeName())
90 delete (*iter).second;
91 (*iter).second = _item;
98 if (mListItem.empty())
102 mListItem.push_back(PairControllerItem(_widget, _item));
108 for (ListControllerItem::iterator iter = mListItem.begin(); iter != mListItem.end(); ++iter)
110 if ((*iter).first == _widget) (*iter).first =
nullptr;
114 void ControllerManager::_unlinkWidget(
Widget* _widget)
119 void ControllerManager::frameEntered(
float _time)
121 for (ListControllerItem::iterator iter = mListItem.begin(); iter != mListItem.end(); )
123 if (
nullptr == (*iter).first)
125 delete (*iter).second;
127 iter = mListItem.erase(iter);
131 if ((*iter).second->addTime((*iter).first, _time))
138 (*iter).first =
nullptr;
141 if (mListItem.empty())
147 return mCategoryName;