DayZ 1.29
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 && g_Game.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 }
DayZGame g_Game
Определения DayZGame.c:3942
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 void GetScreenSize(out int x, out int y)
proto void GetMousePos(out int x, out int y)
WorkspaceWidget Widget
Defined in code.

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

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