123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886 |
- class SlotsIcon: LayoutHolder
- {
- protected static int m_NormalWidth;
- protected static int m_NormalHeight;
-
- protected bool m_IsWeapon = false;
- protected bool m_IsMagazine = false;
- protected bool m_HasTemperature = false;
- protected bool m_HasQuantity = false;
- protected bool m_HasItemSize = false;
- protected float m_CurrQuantity = -1;
-
- protected EntityAI m_Obj;
- protected ItemBase m_Item;
- protected EntityAI m_SlotParent;
- protected Container m_Container;
- protected int m_SlotID;
- protected bool m_IsDragged = false;
-
- protected Widget m_PanelWidget;
-
- protected Widget m_CursorWidget;
- protected Widget m_ColWidget;
- protected Widget m_MountedWidget;
- protected Widget m_OutOfReachWidget;
- protected Widget m_ReservedWidget;
-
- protected ItemPreviewWidget m_ItemPreview;
- protected ImageWidget m_GhostSlot;
-
- protected Widget m_ColorWidget;
- protected Widget m_SelectedPanel;
- protected Widget m_EmptySelectedPanel;
- protected Widget m_MicromanagedPanel;
-
- protected Widget m_QuantityPanel;
- protected TextWidget m_QuantityItem;
- protected ProgressBarWidget m_QuantityProgress;
- protected Widget m_QuantityStack;
-
- protected string m_SlotDisplayName;
- protected string m_SlotDesc;
-
- protected Widget m_ItemSizePanel;
- protected TextWidget m_ItemSizeWidget;
-
- protected Widget m_RadialIconPanel;
- protected Widget m_RadialIconClosed;
- protected Widget m_RadialIcon;
- protected bool m_Reserved;
- protected ImageWidget m_AmmoIcon;
- protected ref array<ImageWidget> m_AmmoIcons;
- void SlotsIcon( LayoutHolder parent, Widget root, int index, EntityAI slot_parent )
- {
- m_MainWidget = root;
-
- m_PanelWidget = m_MainWidget.FindAnyWidget( "PanelWidget" + index );
-
- m_CursorWidget = m_MainWidget.FindAnyWidget( "Cursor" + index );
- m_ColWidget = m_MainWidget.FindAnyWidget( "Col" + index );
- m_MountedWidget = m_MainWidget.FindAnyWidget( "Mounted" + index );
- m_OutOfReachWidget = m_MainWidget.FindAnyWidget( "OutOfReach" + index );
- m_ItemPreview = ItemPreviewWidget.Cast( m_MainWidget.FindAnyWidget( "Render" + index ) );
- m_ItemPreview.SetForceFlipEnable(true);
- m_ItemPreview.SetForceFlip(false);
-
- m_GhostSlot = ImageWidget.Cast( m_MainWidget.FindAnyWidget( "GhostSlot" + index ) );
-
- m_ColorWidget = m_MainWidget.FindAnyWidget( "Color" + index );
- m_SelectedPanel = m_MainWidget.FindAnyWidget( "Selected" + index );
- m_EmptySelectedPanel = m_MainWidget.FindAnyWidget( "EmptySelected" + index );
- m_MicromanagedPanel = m_MainWidget.FindAnyWidget( "Micromanaged" + index );
-
- m_QuantityPanel = m_MainWidget.FindAnyWidget( "QuantityPanel" + index );
- m_QuantityItem = TextWidget.Cast( m_MainWidget.FindAnyWidget( "Quantity" + index ) );
- m_QuantityProgress = ProgressBarWidget.Cast( m_MainWidget.FindAnyWidget( "QuantityBar" + index ) );
- m_QuantityStack = m_MainWidget.FindAnyWidget( "QuantityStackPanel" + index );
-
- m_ItemSizePanel = m_MainWidget.FindAnyWidget( "ItemSizePanel" + index );
- m_ItemSizeWidget = TextWidget.Cast( m_MainWidget.FindAnyWidget( "ItemSize" + index ) );
-
- m_AmmoIcon = ImageWidget.Cast(m_MainWidget.FindAnyWidget( "AmmoIcon" + index ));
-
- m_RadialIconPanel = m_MainWidget.FindAnyWidget( "RadialIconPanel" + index );
- m_RadialIconClosed = m_MainWidget.FindAnyWidget( "RadialIconClosed" + index );
- m_RadialIcon = m_MainWidget.FindAnyWidget( "RadialIcon" + index );
-
- m_ReservedWidget = Widget.Cast( GetGame().GetWorkspace().CreateWidgets( "gui/layouts/inventory_new/reserved_icon.layout", m_MainWidget ) );
- m_ReservedWidget.Show(false);
-
- WidgetEventHandler.GetInstance().RegisterOnMouseEnter( m_PanelWidget, this, "MouseEnter" );
- WidgetEventHandler.GetInstance().RegisterOnMouseLeave( m_PanelWidget, this, "MouseLeave" );
-
- WidgetEventHandler.GetInstance().RegisterOnMouseEnter( m_GhostSlot, this, "MouseEnterGhostSlot" );
- WidgetEventHandler.GetInstance().RegisterOnMouseLeave( m_GhostSlot, this, "MouseLeaveGhostSlot" );
-
- WidgetEventHandler.GetInstance().RegisterOnMouseEnter( m_RadialIconPanel, this, "MouseEnterCategory" );
- WidgetEventHandler.GetInstance().RegisterOnMouseLeave( m_RadialIconPanel, this, "MouseLeaveCategory" );
-
- WidgetEventHandler.GetInstance().RegisterOnDrag( m_PanelWidget, this, "OnIconDrag" );
- WidgetEventHandler.GetInstance().RegisterOnDrop( m_PanelWidget, this, "OnIconDrop" );
-
- m_Reserved = false;
- m_SlotID = -1;
- m_Item = null;
- m_Obj = null;
- m_Container = null;
-
- m_SlotParent = slot_parent;
-
- m_PanelWidget.SetUserData(this);
- m_ItemPreview.SetUserData(this);
- m_GhostSlot.SetUserData(this);
- m_MainWidget.SetUserData(this);
-
- float w,h;
- root.GetSize(w,h);
-
- m_NormalWidth = w;
- m_NormalHeight = h;
-
- SetActive( false );
- }
-
- override bool IsVisible()
- {
- return m_MainWidget.IsVisible();
- }
-
- void SetSlotParent( EntityAI parent)
- {
- m_SlotParent = parent;
- }
-
- void SetContainer( Container container )
- {
- m_Container = container;
- }
-
- void SetSlotDisplayName( string text )
- {
- m_SlotDisplayName = text;
- }
-
- Container GetContainer()
- {
- return m_Container;
- }
-
- string GetSlotDisplayName( )
- {
- return m_SlotDisplayName;
- }
-
- void SetSlotDesc( string text )
- {
- m_SlotDesc = text;
- }
-
- string GetSlotDesc()
- {
- return m_SlotDesc;
- }
-
- void ~SlotsIcon()
- {
- if (m_IsDragged)
- {
- m_IsDragged = false;
- ItemManager.GetInstance().HideDropzones();
- ItemManager.GetInstance().SetIsDragging( false );
- }
-
- if (m_Obj)
- {
- m_Obj.GetOnItemFlipped().Remove( UpdateFlip );
- m_Obj.GetOnViewIndexChanged().Remove( SetItemPreview );
- }
- }
-
- EntityAI GetSlotParent()
- {
- return m_SlotParent;
- }
-
- int GetSlotID()
- {
- return m_SlotID;
- }
-
- void SetSlotID(int slot_ID)
- {
- m_SlotID = slot_ID;
- }
-
- bool IsReserved()
- {
- return m_Reserved;
- }
-
- Widget GetPanelWidget()
- {
- return m_PanelWidget;
- }
-
- Widget GetCursorWidget()
- {
- return m_CursorWidget;
- }
-
- Widget GetColWidget()
- {
- return m_ColWidget;
- }
-
- Widget GetReservedWidget()
- {
- return m_ReservedWidget;
- }
-
- Widget GetMountedWidget()
- {
- return m_MountedWidget;
- }
-
- ItemPreviewWidget GetRender()
- {
- return m_ItemPreview;
- }
- ImageWidget GetGhostSlot()
- {
- return m_GhostSlot;
- }
- Widget GetColorWidget()
- {
- return m_ColorWidget;
- }
- Widget GetSelectedPanel()
- {
- return m_SelectedPanel;
- }
-
- Widget GetEmptySelectedPanel()
- {
- return m_EmptySelectedPanel;
- }
-
- Widget GetMicromanagedPanel()
- {
- return m_MicromanagedPanel;
- }
- Widget GetQuantityPanel()
- {
- return m_QuantityPanel;
- }
-
- Widget GetOutOfReachWidget()
- {
- return m_OutOfReachWidget;
- }
- TextWidget GetQuantityItem()
- {
- return m_QuantityItem;
- }
-
- ProgressBarWidget GetQuantityProgress()
- {
- return m_QuantityProgress;
- }
-
- Widget GetQuantityStack()
- {
- return m_QuantityStack;
- }
- Widget GetItemSizePanel()
- {
- return m_ItemSizePanel;
- }
-
- TextWidget GetItemSizeWidget()
- {
- return m_ItemSizeWidget;
- }
- ImageWidget GetAmmoIcon()
- {
- return m_AmmoIcon;
- }
- Widget GetRadialIconPanel()
- {
- return m_RadialIconPanel;
- }
- Widget GetRadialIconClosed()
- {
- return m_RadialIconClosed;
- }
- Widget GetRadialIcon()
- {
- return m_RadialIcon;
- }
-
- bool IsFocused()
- {
- return GetCursorWidget().IsVisible();
- }
- override void SetActive( bool active )
- {
- #ifdef PLATFORM_CONSOLE
- super.SetActive( active );
- float x, y;
- if( active && GetObject() )
- {
- GetMainWidget().GetScreenPos( x, y );
- PrepareOwnedTooltip( EntityAI.Cast( GetObject() ), x, y );
- }
- else if (active)
- {
- GetMainWidget().GetScreenPos( x, y );
- PrepareOwnedSlotsTooltip( GetMainWidget(), m_SlotDisplayName, m_SlotDesc, x, y );
- }
-
- m_SelectedPanel.Show( active );
- #endif
- }
-
- override void SetLayoutName()
- {
- m_LayoutName = "";
- }
- override void Refresh()
- {
- //if (m_HasTemperature)
- SetTemperature();
- if (m_IsWeapon)
- RefreshMuzzleIcon();
- if (m_HasQuantity)
- SetQuantity();
- }
- void SetTemperature()
- {
- ItemManager.GetInstance().SetTemperature(EntityAI.Cast( m_Obj ), m_ItemPreview);
- }
- Object GetObject()
- {
- return m_Obj;
- }
-
- EntityAI GetEntity()
- {
- return EntityAI.Cast( m_Obj );
- }
-
- ItemBase GetItem()
- {
- return m_Item;
- }
-
- void RefreshMuzzleIcon()
- {
- Weapon_Base wpn = Weapon_Base.Cast(GetObject());
- if (wpn)
- {
- int i;
- if (!wpn.IsShowingChamberedBullet())
- {
- for (i = 0; i < m_AmmoIcons.Count(); i++)
- m_AmmoIcon = m_AmmoIcons.Get(i);
- }
- else
- {
- for (i = 0; i < wpn.GetMuzzleCount(); i++)
- {
- if (i > m_AmmoIcons.Count())
- break;
-
- m_AmmoIcon = m_AmmoIcons.Get(i);
- if (wpn.IsChamberFull(i))
- {
- m_AmmoIcon.Show(true);
- if (wpn.IsJammed())
- {
- m_AmmoIcon.Show(true);
- m_AmmoIcon.SetImage(2);
- }
- else if (wpn.IsChamberFiredOut(i))
- {
- m_AmmoIcon.Show(true);
- m_AmmoIcon.SetImage(1);
- }
- else
- {
- m_AmmoIcon.Show(true);
- m_AmmoIcon.SetImage(0);
- }
- }
- else
- {
- m_AmmoIcon.Show(false);
- }
- }
- }
- }
- }
-
- void SetQuantity()
- {
- if (m_Item)
- {
- int quantityType = QuantityConversions.HasItemQuantity(m_Item);
- if (quantityType != QUANTITY_HIDDEN && m_CurrQuantity != QuantityConversions.GetItemQuantity(m_Item))
- {
- m_CurrQuantity = QuantityConversions.GetItemQuantity(m_Item);
-
- if (quantityType == QUANTITY_COUNT)
- {
- string q_text = QuantityConversions.GetItemQuantityText(m_Item, true);
- if (QuantityConversions.GetItemQuantityMax(m_Item) == 1 || q_text == "")
- {
- m_QuantityStack.Show(false);
- }
- else
- {
- m_QuantityItem.SetText(q_text);
- m_QuantityStack.Show(true);
- }
-
- m_QuantityProgress.Show(false);
- }
- else if (quantityType == QUANTITY_PROGRESS)
- {
- float progress_max = m_QuantityProgress.GetMax();
- int max = m_Item.GetQuantityMax();
- int count = m_Item.ConfigGetInt("count");
- float quantity = m_CurrQuantity;
-
- if (count > 0)
- {
- max = count;
- }
- if (max > 0)
- {
- float value = Math.Round((quantity / max) * 100);
- m_QuantityProgress.SetCurrent(value);
- }
- m_QuantityStack.Show(false);
- m_QuantityProgress.Show(true);
- }
- }
- }
- }
-
- void SetItemPreview()
- {
- m_ItemPreview.Show( true );
- m_ItemPreview.SetItem( EntityAI.Cast( m_Obj ) );
- m_ItemPreview.SetModelOrientation( "0 0 0" );
- m_ItemPreview.SetView( m_Obj.GetViewIndex() );
- }
-
- void SetItemSize()
- {
- if( m_HasItemSize )
- {
- int size_x, size_y;
- GetGame().GetInventoryItemSize( InventoryItem.Cast( m_Obj ), size_x, size_y );
-
- m_ItemSizePanel.Show( true );
- m_ItemSizeWidget.SetText( ( size_x * size_y ).ToString() );
- }
- }
-
- void UpdateFlip( bool flipped )
- {
- if( !m_Reserved )
- {
- float x_content, y_content;
- GetPanelWidget().GetScreenSize( x_content, y_content );
- GetPanelWidget().SetSize( y_content, x_content );
- }
- }
- void Init( EntityAI obj, bool reservation = false )
- {
- if( m_Obj != obj )
- {
- ClearRemainSelected();
- m_Obj = obj;
- m_Item = ItemBase.Cast( m_Obj );
- m_Obj.GetOnItemFlipped().Insert( UpdateFlip );
- m_Obj.GetOnViewIndexChanged().Insert( SetItemPreview );
- m_Reserved = reservation;
- m_Container = null;
-
- if(reservation)
- {
- ItemManager.GetInstance().SetWidgetDraggable( m_PanelWidget, false );
-
- m_IsWeapon = false;
- m_IsMagazine = false;
- m_HasTemperature = false;
- m_HasQuantity = false;
- m_HasItemSize = false;
- }
- else
- {
- CheckIsWeapon();
- CheckIsMagazine();
- CheckHasTemperature();
- CheckHasQuantity();
- CheckHasItemSize();
- }
- m_ReservedWidget.Show(reservation);
- SetItemPreview();
-
- m_GhostSlot.Show( false );
- m_PanelWidget.Show( true );
-
- Refresh();
- #ifdef PLATFORM_CONSOLE
- if ( IsFocused() )
- {
- Inventory.GetInstance().UpdateConsoleToolbar();
- }
- #endif
- }
- }
-
- void ClearRemainSelected()
- {
- if (m_IsDragged)
- {
- OnIconDrop(m_PanelWidget);
- Widget a = CancelWidgetDragging();
- ItemManager.GetInstance().SetWidgetDraggable( a, false );
- }
- if (m_Obj)
- {
- m_Obj.GetOnItemFlipped().Remove( UpdateFlip );
- m_Obj.GetOnViewIndexChanged().Remove( SetItemPreview );
- HideOwnedTooltip();
- }
-
- m_Obj = null;
- m_Item = null;
- m_Container = null;
-
- m_ItemPreview.Show( false );
- m_ItemPreview.SetItem( null );
-
- m_CurrQuantity = -1;
- m_IsWeapon = false;
- m_IsMagazine = false;
- m_HasTemperature = false;
- m_HasQuantity = false;
- m_HasItemSize = false;
-
- m_GhostSlot.Show( true );
- m_AmmoIcon.Show( false );
- m_PanelWidget.Show( false );
- m_RadialIconPanel.Show( false );
-
- m_QuantityPanel.Show( false );
- if(GetSlotID() != -1)
- {
- int stack_max = InventorySlots.GetStackMaxForSlotId( GetSlotID() );
- if(stack_max > 1)
- {
- m_QuantityPanel.Show( true );
- m_QuantityItem.SetText( string.Format("0/%1", stack_max.ToString()) );
- m_QuantityStack.Show( true );
- m_QuantityProgress.Show( false );
- m_PanelWidget.Show( true );
- m_ItemPreview.Show( true );
- }
- }
-
- m_ColWidget.Show( false );
- m_MountedWidget.Show( false );
- m_OutOfReachWidget.Show( false );
- m_ReservedWidget.Show( false );
-
- if( m_ItemSizePanel )
- m_ItemSizePanel.Show( false );
-
- if( m_ColorWidget )
- m_ColorWidget.Show( false );
-
- Refresh();
- }
-
- void Clear()
- {
- #ifdef PLATFORM_CONSOLE
- m_SelectedPanel.Show(false);
- #endif
- m_CursorWidget.Show(false);
- m_EmptySelectedPanel.Show(false);
-
- ClearRemainSelected();
- }
-
- void CheckIsWeapon()
- {
- Weapon_Base wpn = Weapon_Base.Cast(m_Obj);
- if (wpn)
- {
- m_AmmoIcons = new array<ImageWidget>();
- m_IsWeapon = true;
- float posX = 0.0;
- float width = 0.0, height = 0.0;
- for (int i = 0; i < wpn.GetMuzzleCount(); i++)
- {
- if (i == 1)
- {
- m_AmmoIcons[0].GetSize(width,height);
- }
- posX += width;
-
- m_AmmoIcon.SetPos(posX, 0.0, false);
-
- AmmoData data = Magazine.GetAmmoData(wpn.GetChamberAmmoTypeName(i));
- if (data)
- {
- CartridgeType cartridgeType = data.m_CartridgeType;
- switch (cartridgeType)
- {
- case CartridgeType.Pistol:
- {
- m_AmmoIcon.LoadImageFile(0, "set:dayz_gui image:cartridge_pistol");
- m_AmmoIcon.LoadImageFile(1, "set:dayz_gui image:shell_pistol");
- m_AmmoIcon.LoadImageFile(2, "set:dayz_gui image:jam_pistol");
- break;
- }
- case CartridgeType.Intermediate:
- {
- m_AmmoIcon.LoadImageFile(0, "set:dayz_gui image:cartridge_int");
- m_AmmoIcon.LoadImageFile(1, "set:dayz_gui image:shell_int");
- m_AmmoIcon.LoadImageFile(2, "set:dayz_gui image:jam_int");
- break;
- }
- case CartridgeType.FullPower:
- {
- m_AmmoIcon.LoadImageFile(0, "set:dayz_gui image:cartridge_fp");
- m_AmmoIcon.LoadImageFile(1, "set:dayz_gui image:shell_fp");
- m_AmmoIcon.LoadImageFile(2, "set:dayz_gui image:jam_fp");
- break;
- }
- case CartridgeType.Shell:
- {
- m_AmmoIcon.LoadImageFile(0, "set:dayz_gui image:cartridge_shell");
- m_AmmoIcon.LoadImageFile(1, "set:dayz_gui image:shell_shell");
- m_AmmoIcon.LoadImageFile(2, "set:dayz_gui image:jam_shell");
- break;
- }
- }
- }
- m_AmmoIcons.Insert(m_AmmoIcon);
- }
- }
- else
- {
- m_IsWeapon = false;
- }
- }
-
- void CheckIsMagazine()
- {
- m_IsMagazine = ( Magazine.Cast( m_Obj ) != null );
- }
-
- void CheckHasTemperature()
- {
- if (m_Item)
- {
- m_HasTemperature = m_Item.CanHaveTemperature();
- }
- }
-
- void CheckHasQuantity()
- {
- if( m_Item )
- {
- m_HasQuantity = ( QuantityConversions.HasItemQuantity( m_Item ) != QUANTITY_HIDDEN );
- if( m_HasQuantity )
- {
- m_QuantityPanel.Show( true );
- }
- }
- }
-
- void CheckHasItemSize()
- {
- #ifdef PLATFORM_CONSOLE
- string config = "CfgVehicles " + m_Obj.GetType() + " GUIInventoryAttachmentsProps";
- m_HasItemSize = ( InventoryItem.Cast( m_Obj ) && !GetGame().ConfigIsExisting( config ) );
- #else
- m_HasItemSize = false;
- #endif
- }
-
- bool IsOutOfReach()
- {
- bool oot = ( m_OutOfReachWidget.IsVisible() || m_MountedWidget.IsVisible() );
- return oot;
- }
-
- bool MouseEnter(Widget w, int x, int y)
- {
- if( m_Reserved )
- return MouseEnterGhostSlot(w, x, y);
-
- PrepareOwnedTooltip( m_Item, x, y );
- if( GetDragWidget() != m_PanelWidget && !IsOutOfReach() )
- {
- m_CursorWidget.Show( true );
- }
- return true;
- }
-
- bool MouseEnterGhostSlot(Widget w, int x, int y)
- {
- float pos_x, pos_y;
- m_MainWidget.GetScreenPos(pos_x, pos_y);
- x = pos_x;
- y = pos_y;
-
- PrepareOwnedSlotsTooltip( m_MainWidget, m_SlotDisplayName, m_SlotDesc, x, y );
- if( GetDragWidget() != m_PanelWidget )
- {
- m_EmptySelectedPanel.Show( true );
- }
-
-
- return true;
- }
- bool MouseLeave( Widget w, Widget s, int x, int y )
- {
- if( m_Reserved )
- return MouseLeaveGhostSlot(w, s, x, y);
-
- HideOwnedTooltip();
- if( GetDragWidget() != m_PanelWidget )
- {
- m_CursorWidget.Show( false );
- }
- return true;
- }
-
- bool MouseLeaveGhostSlot( Widget w, Widget s, int x, int y )
- {
- HideOwnedSlotsTooltip();
-
- if( GetDragWidget() != m_PanelWidget )
- {
- m_EmptySelectedPanel.Show( false );
- }
-
- return true;
- }
-
- override void UpdateInterval()
- {
- if (m_Item)
- {
- if (m_HasTemperature)
- SetTemperature();
- if (m_IsWeapon)
- RefreshMuzzleIcon();
- if (m_HasQuantity)
- SetQuantity();
- if (m_HasItemSize)
- SetItemSize();
- }
- }
-
- void OnIconDrag( Widget w )
- {
- if(!m_Obj || !w)
- {
- return;
- }
- ItemManager.GetInstance().HideDropzones();
- if( m_Obj.GetHierarchyRootPlayer() == GetGame().GetPlayer() )
- {
- ItemManager.GetInstance().GetRightDropzone().SetAlpha( 1 );
- }
- else
- {
- ItemManager.GetInstance().GetLeftDropzone().SetAlpha( 1 );
- }
- ItemManager.GetInstance().SetIsDragging( true );
- int icon_x, icon_y;
- float icon_size, y;
- int m_sizeX, m_sizeY;
- if( m_Item )
- {
- GetGame().GetInventoryItemSize( m_Item, icon_x, icon_y );
-
- CargoContainer c_parent = CargoContainer.Cast( m_Parent );
- HandsPreview h_parent = HandsPreview.Cast( m_Parent );
- if( GetRoot().m_MainWidget.FindAnyWidget( "HandsPanel" ) )
- {
- GetRoot().m_MainWidget.FindAnyWidget( "HandsPanel" ).GetScreenSize( icon_size, y );
- }
-
- icon_size = icon_size / 10;
-
- w.SetFlags( WidgetFlags.EXACTSIZE );
- m_ItemPreview.SetForceFlipEnable(false);
-
- if( !m_Item.GetInventory().GetFlipCargo() )
- {
- w.SetSize( icon_x * icon_size , icon_y * icon_size );
- }
- else
- {
- w.SetSize( icon_y * icon_size , icon_x * icon_size );
- }
-
- m_ColWidget.Show( true );
- m_CursorWidget.Show( true );
-
- ItemManager.GetInstance().SetDraggedItem( m_Item );
- }
- m_IsDragged = true;
- }
-
- void OnIconDrop( Widget w )
- {
- m_IsDragged = false;
- ItemManager.GetInstance().HideDropzones();
- ItemManager.GetInstance().SetIsDragging( false );
- w.ClearFlags( WidgetFlags.EXACTSIZE );
- w.SetSize( 1, 1 );
- m_ColWidget.Show( false );
- m_CursorWidget.Show( false );
- m_EmptySelectedPanel.Show( false );
- m_CursorWidget.SetColor( ARGBF( 1, 1, 1, 1 ) );
- m_ItemPreview.SetForceFlipEnable(true);
- }
-
- static int GetNormalWidth()
- {
- return m_NormalWidth;
- }
-
- static int GetNormalHeight()
- {
- return m_NormalHeight;
- }
-
- /*override void HideOwnedSlotsTooltip()
- {
- if (m_TooltipOwner)
- {
- ItemManager.GetInstance().HideTooltipSlot();
- m_TooltipOwner = false;
- }
- }*/
- }
|