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

◆ Update()

void ActionTargetsCursor::Update ( bool fullUpdate = true)
inlineprotected

don't show floating widget if it's disabled in profile or the player is unconscious

check if action has target, otherwise don't show the widget

cursor with fixed position (environment interaction mainly)

build cursor for new target

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

311 {
312 if (m_Player && !m_Player.IsAlive()) // handle respawn
313 {
314 m_Player = null;
315 m_AM = null;
316 }
317
318 if (!m_Player)
319 GetPlayer();
320
321 if (!m_AM)
323
324 if (!m_Player || !m_AM)
325 return;
326
327 if (m_Player.IsInVehicle() || m_AM.GetRunningAction())
328 m_Hidden = true;
329
330
331 bool isVisionObstructionActive = PPEManagerStatic.GetPPEManager().IsAnyRequesterRunning(VISION_OBSTRUCTION_PPEFFECTS_TYPES);
332
334 if (isVisionObstructionActive || m_Hud.GetHudVisibility().IsContextFlagActive(IngameHudVisibility.HUD_HIDE_FLAGS))
335 {
336 HideWidget();
337 return;
338 }
339
340 if (fullUpdate)
341 {
342 GetTarget();
343 GetActions();
344 }
345
347 bool showTarget = (m_Target && !m_Hidden) || m_Interact || m_ContinuousInteract || (m_Single && m_Single.HasTarget()) || (m_Continuous && m_Continuous.HasTarget());
348 if (!showTarget)
349 {
351 return;
352 }
353
354 Object targetObject = m_Target.GetObject();
355 Object targetParent = m_Target.GetParent();
356
358 if (targetObject == null && (m_Interact || m_ContinuousInteract || m_Single || m_Continuous))
359 {
360 //Print(">> fixed widget");
361 m_CachedObject.Invalidate();
362 BuildFixedCursor(fullUpdate);
363 m_Root.Show(true);
364 m_FixedOnPosition = false;
365 m_Hidden = false;
366 return;
367 }
368 else if (targetObject != null && !targetObject.IsHologram() && (targetObject.IsEntityAI() || targetObject.IsPlainObject() || targetObject.IsWoodBase() || targetObject.IsRock()) && (!targetParent || targetParent && !targetParent.IsHologram()))
369 {
373
374 if (targetObject != m_CachedObject.Get())
375 m_CachedObject.Invalidate();
376
378 {
379 BuildFloatingCursor(fullUpdate);
380 m_Root.Show(true);
381 m_Hidden = false;
382 return;
383 }
384 else
385 {
386 BuildFixedCursor(fullUpdate);
387 m_FixedOnPosition = false;
388 m_Root.Show(true);
389 m_Hidden = false;
390 return;
391 }
392
393 }
394 else
395 {
397 }
398
400 m_MaxWidthChild = 350;
401 }
void GetActionManager()
Определения ActionTargetsCursor.c:645
Widget m_Root
Определения ActionTargetsCursor.c:90
ActionBase m_Interact
Определения ActionTargetsCursor.c:69
float m_PosY
Определения ActionTargetsCursor.c:105
void HideRootWidget()
Определения ActionTargetsCursor.c:1353
const ref array< typename > VISION_OBSTRUCTION_PPEFFECTS_TYPES
Определения ActionTargetsCursor.c:59
void GetOnScreenPosition(out float x, out float y)
Определения ActionTargetsCursor.c:428
float m_MaxWidthChild
widget width
Определения ActionTargetsCursor.c:100
void BuildFixedCursor(bool forceRebuild=true)
Определения ActionTargetsCursor.c:267
PlayerBase m_Player
Определения ActionTargetsCursor.c:64
ActionTarget m_Target
Определения ActionTargetsCursor.c:65
void HideWidget()
Определения ActionTargetsCursor.c:300
bool m_FixedOnPosition
Определения ActionTargetsCursor.c:86
void CheckRefresherFlagVisibilityEx(ActionTarget target)
Определения ActionTargetsCursor.c:1303
void GetActions()
get actions from Action Manager
Определения ActionTargetsCursor.c:658
void InfoPanelCleanup()
Определения ActionTargetsCursor.c:1294
ActionBase m_ContinuousInteract
Определения ActionTargetsCursor.c:70
bool m_Hidden
Определения ActionTargetsCursor.c:87
float m_PosX
Определения ActionTargetsCursor.c:104
IngameHud m_Hud
Определения ActionTargetsCursor.c:75
ref ATCCachedObject m_CachedObject
Определения ActionTargetsCursor.c:66
ActionBase m_Continuous
Определения ActionTargetsCursor.c:72
ActionBase m_Single
Определения ActionTargetsCursor.c:71
ActionManagerClient m_AM
Определения ActionTargetsCursor.c:74
void GetPlayer()
Определения ActionTargetsCursor.c:640
void GetTarget()
Определения ActionTargetsCursor.c:704
void BuildFloatingCursor(bool forceRebuild)
Определения ActionTargetsCursor.c:281
class LOD Object

Перекрестные ссылки BuildFixedCursor(), BuildFloatingCursor(), CheckRefresherFlagVisibilityEx(), GetActionManager(), GetActions(), GetOnScreenPosition(), GetPlayer(), PPEManagerStatic::GetPPEManager(), GetTarget(), HideRootWidget(), HideWidget(), InfoPanelCleanup(), m_AM, m_CachedObject, m_Continuous, m_ContinuousInteract, m_FixedOnPosition, m_Hidden, m_Hud, m_Interact, m_MaxWidthChild, m_Player, m_PosX, m_PosY, m_Root, m_Single, m_Target и VISION_OBSTRUCTION_PPEFFECTS_TYPES.