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

◆ PrepareTooltip()

void ItemManager::PrepareTooltip ( EntityAI item,
int x = 0,
int y = 0 )
inlineprotected

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

523 {
524 if( IsDragging() || !item )
525 {
526 return;
527 }
528
529 if ( item.IsInherited( InventoryItem ) )
530 {
531 HideTooltip();
532
533 m_HoveredItem = item;
534 InspectMenuNew.UpdateItemInfo( m_TooltipWidget, item );
535
536 int screen_w, screen_h;
537 float w, h;
538 GetScreenSize(screen_w, screen_h);
539 m_TooltipWidget.GetScreenSize(w,h);
540
541 if (x == -1)//set by icon focusing
542 {
543 x = screen_w/2 - w/2;
544 float x1,y1;
545 m_RootWidget.FindAnyWidget("InventoryFrameWidget").GetScreenPos(x1,y1); //allign to the same height
546 y = y1;
547 }
548 else if (x == 0 && y == 0 && GetGame().GetInput().IsEnabledMouseAndKeyboardEvenOnServer())
549 {
550 GetMousePos(x,y);
551 }
552
553 //minimal edge distance adjustments..
554 screen_w -= 10;
555 screen_h -= 10;
556
557 int rightEdge = x + w;
558 if (rightEdge > screen_w)
559 {
560 x = screen_w - w;
561 }
562
563 int bottomEdge = y + h;
564 if (bottomEdge > screen_h)
565 {
566 y = screen_h - h;
567 }
568
569 m_TooltipWidget.SetPos(x, y);
570
571 m_ToolTipTimer = new Timer();
572 m_ToolTipTimer.Run( TOOLTIP_DELAY, this, "ShowTooltip" );
573
574 Widget preview_frame = m_TooltipWidget.FindAnyWidget("ItemFrameWidget");
575 if (preview_frame)
576 {
577 m_ItemPreviewWidget = ItemPreviewWidget.Cast( preview_frame );
578 m_ItemPreviewWidget.SetItem(item);
579 m_ItemPreviewWidget.SetView( item.GetViewIndex() );
580 }
581 }
582 }
Icon x
Icon y
const float TOOLTIP_DELAY
Определения ItemManager.c:40
ref Widget m_TooltipWidget
Определения ItemManager.c:9
EntityAI m_HoveredItem
Определения ItemManager.c:5
ref Timer m_ToolTipTimer
Определения ItemManager.c:17
void HideTooltip()
Определения ItemManager.c:398
bool IsDragging()
Определения ItemManager.c:393
Widget m_RootWidget
Определения ItemManager.c:13
ItemPreviewWidget m_ItemPreviewWidget
Определения ItemManager.c:12
proto native CGame GetGame()
proto void GetScreenSize(out int x, out int y)
proto void GetMousePos(out int x, out int y)
WorkspaceWidget Widget
Defined in code.

Перекрестные ссылки GetGame(), GetMousePos(), GetScreenSize(), HideTooltip(), IsDragging(), m_HoveredItem, m_ItemPreviewWidget, m_RootWidget, m_ToolTipTimer, m_TooltipWidget, TOOLTIP_DELAY, x и y.

Используется в ScriptedWidgetEventHandler::PrepareOwnedTooltip().