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 {
313 {
316 }
317
320
323
325 return;
326
329
330
332
334 if (isVisionObstructionActive ||
m_Hud.GetHudVisibility().IsContextFlagActive(IngameHudVisibility.HUD_HIDE_FLAGS))
335 {
337 return;
338 }
339
340 if (fullUpdate)
341 {
344 }
345
348 if (!showTarget)
349 {
351 return;
352 }
353
356
359 {
360
366 return;
367 }
368 else if (targetObject != null && !targetObject.IsHologram() && (targetObject.IsEntityAI() || targetObject.IsPlainObject() || targetObject.IsWoodBase() || targetObject.IsRock()) && (!targetParent || targetParent && !targetParent.IsHologram()))
369 {
373
376
378 {
382 return;
383 }
384 else
385 {
390 return;
391 }
392
393 }
394 else
395 {
397 }
398
401 }
const ref array< typename > VISION_OBSTRUCTION_PPEFFECTS_TYPES
void GetOnScreenPosition(out float x, out float y)
float m_MaxWidthChild
widget width
void BuildFixedCursor(bool forceRebuild=true)
void CheckRefresherFlagVisibilityEx(ActionTarget target)
void GetActions()
get actions from Action Manager
ActionBase m_ContinuousInteract
ref ATCCachedObject m_CachedObject
void BuildFloatingCursor(bool forceRebuild)
Перекрестные ссылки 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.