DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ UpdateVisibility()

void GameplayEffectWidgets_base::UpdateVisibility ( )
inlineprotected

См. определение в файле GameplayEffectWidgets.c строка 238

239 {
240 Widget w;
241 //Hide diff
242 int value;
243 int runningEffectCount = m_RunningEffects.Count();
244 bool runningEffectsPresent = runningEffectCount > 0;
245 GameplayEffectsData dta;
246 for (int i = 0; i < m_RunningEffectsPrevious.Count(); i++)
247 {
248 value = m_RunningEffectsPrevious.Get(i);
249 dta = m_WidgetDataMap.Get(value);
250 if (runningEffectCount < 1 || m_RunningEffects.Find(value) == -1)
251 {
252 if (dta.HasDefinedHandle())
253 {
254 dta.UpdateVisibility(false);
255 }
256 else
257 {
258 for (int j = 0; j < m_WidgetDataMap.Get(value).GetWidgetSet().Count(); j++)
259 {
260 w = m_WidgetDataMap.Get(value).GetWidgetSet().Get(j);
261 w.Show(false);
262 }
263 w.GetParent().Show(false);
264 }
265 }
266 }
267
268 //Show running effects
269 if (runningEffectsPresent)
270 {
271 value = 0;
272 for (i = 0; i < runningEffectCount; i++)
273 {
274 value = m_RunningEffects.Get(i);
275 dta = m_WidgetDataMap.Get(value);
276 if (dta.HasDefinedHandle())
277 {
278 dta.m_LayoutRoot.Show(true);
279 dta.UpdateVisibility(true);
280 }
281 else
282 {
283 for (j = 0; j < m_WidgetDataMap.Get(value).GetWidgetSet().Count(); j++)
284 {
285 w = m_WidgetDataMap.Get(value).GetWidgetSet().Get(j);
286 w.Update();
287 w.Show(true);
288 }
289
290 while (w) //dumb but necessary because of uncertain "visible" setting of the layout
291 {
292 w = w.GetParent();
293 if (w)
294 {
295 w.Show(true);
296 }
297 }
298 }
299 }
300 }
301
302 m_Root.Show(runningEffectsPresent && m_SuspendRequests.Count() < 1);
304 }
@ Count
Определения RandomGeneratorSyncManager.c:8
ref set< int > m_RunningEffects
Определения GameplayEffectWidgets.c:12
ref GameplayEffectDataMap m_WidgetDataMap
Определения GameplayEffectWidgets.c:11
ref set< int > m_RunningEffectsPrevious
Определения GameplayEffectWidgets.c:13
ref set< int > m_SuspendRequests
Определения GameplayEffectWidgets.c:17
ref Widget m_Root
Определения GameplayEffectWidgets.c:8
override void UpdateVisibility(bool state)
Определения GEWidgetsMetaDataBleeding.c:197
override bool HasDefinedHandle()
Определения GEWidgetsMetaDataBleeding.c:44
WorkspaceWidget Widget
Defined in code.

Перекрестные ссылки Count, GameplayEffectsData::HasDefinedHandle(), m_Root, m_RunningEffects, m_RunningEffectsPrevious, m_SuspendRequests, m_WidgetDataMap и GameplayEffectsData::UpdateVisibility().

Используется в AddActiveEffects(), AddSuspendRequest(), ClearSuspendRequests(), GameplayEffectWidgets(), RemoveActiveEffects(), RemoveSuspendRequest() и StopAllEffects().