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

◆ DoubleClick()

void PlayerContainer::DoubleClick ( Widget w,
int x,
int y,
int button )
inlineprotected

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

378 {
379 if( button == MouseState.LEFT && !g_Game.IsLeftCtrlDown())
380 {
381 PlayerBase player = PlayerBase.Cast( GetGame().GetPlayer() );
382
383 if( w == null || m_Player.GetInventory().IsInventoryLocked() )
384 {
385 return;
386 }
387 ItemPreviewWidget iw = ItemPreviewWidget.Cast( w.FindAnyWidget( "Render" ) );
388 if( !iw )
389 {
390 string name = w.GetName();
391 name.Replace( "PanelWidget", "Render" );
392 iw = ItemPreviewWidget.Cast( w.FindAnyWidget( name ) );
393 }
394 if( !iw )
395 {
396 iw = ItemPreviewWidget.Cast( w );
397 }
398
399 ItemBase item = ItemBase.Cast( iw.GetItem() );
400
401 if( !item )
402 {
403 return;
404 }
405
406 SlotsIcon icon;
407 iw.GetUserData(icon);
408
409 if(icon && icon.IsReserved())
410 {
411 return;
412 }
413
414 if( !item.GetInventory().CanRemoveEntity() )
415 return;
416
417 if ( player.GetInventory().HasEntityInInventory( item ) && player.GetHumanInventory().CanAddEntityInHands( item ) )
418 {
419 player.PredictiveTakeEntityToHands( item );
420 }
421 else
422 {
423 if (player.GetInventory().CanAddEntityToInventory( item ) && item.GetInventory().CanRemoveEntity())
424 {
425 if( item.GetTargetQuantityMax() < item.GetQuantity() )
426 item.SplitIntoStackMaxClient( player, -1 );
427 else
428 player.PredictiveTakeEntityToInventory( FindInventoryLocationType.ANY, item );
429 }
430 else
431 {
432 if( item.GetTargetQuantityMax() < item.GetQuantity() )
433 item.SplitIntoStackMaxHandsClient( player );
434 else
435 player.PredictiveTakeEntityToHands( item );
436 }
437 }
438 ToggleWidget( w );
439 HideOwnedTooltip();
440
441 InventoryMenu menu = InventoryMenu.Cast( GetGame().GetUIManager().FindMenu( MENU_INVENTORY ) );
442 if ( menu )
443 {
444 menu.RefreshQuickbar();
445 }
446 }
447 }
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
DayZGame g_Game
Определения DayZGame.c:3868
class GP5GasMask extends MaskBase ItemBase
FindInventoryLocationType
flags for searching locations in inventory
Определения InventoryLocation.c:17
void InventoryMenu()
Определения InventoryMenu.c:20
PlayerBase GetPlayer()
Определения ModifierBase.c:51
proto native EntityAI GetItem()
void ToggleWidget(Widget w)
Определения PlayerContainer.c:1058
PlayerBase m_Player
Определения PlayerContainer.c:7
bool IsReserved()
Определения SlotsIcon.c:200
proto native CGame GetGame()
const int MENU_INVENTORY
Определения constants.c:180
MouseState
Определения EnSystem.c:311

Перекрестные ссылки g_Game, GetGame(), ItemPreviewWidget::GetItem(), GetPlayer(), InventoryMenu(), SlotsIcon::IsReserved(), m_Player, MENU_INVENTORY, name, ToggleWidget(), x и y.