INLINE void WidgetContainer::Add(IWidget *widget) { ASSERT_NULL(widget); WidgetIterator p = std::find(vWidget.begin(), vWidget.end(), widget); if (p == vWidget.end()) { //widget->SetParent(this); vWidget.push_back(widget); std::sort(vWidget.begin(), vWidget.end(), ITransformable2DDescendingPrioritySort()); } }
void WidgetContainer::Update(f32 dt) { WidgetIterator it = vWidget.begin(); WidgetIterator end = vWidget.end(); for (; it != end; ++it) { IWidget *w = (*it); ASSERT_NULL(w); w->Update(dt); } std::sort(vWidget.begin(), vWidget.end(), ITransformable2DDescendingPrioritySort()); }