public void OnDrop(PointerEventData eventData) { InventoryUI invUI = inventory.GetInventoryUI(); DockUI dockUI = inventory.GetDockUI(); UIDragableItem inventoryDragable = invUI.movingDragableItem; BagItem preBagItem = eventData.pointerDrag.GetComponent <BagItem>(); ItemSlot preSlot = eventData.pointerDrag.GetComponent <ItemSlot>(); if (preBagItem != null && preBagItem.gameObject.activeInHierarchy && invUI.hasDragable) { inventoryDragable.OnPlacementConfirm(this); inventoryDragable.GetComponent <RectTransform>().position = rectTransform.position; if (itemSlot != null) { dockUI.SetSlotItemAndSave(itemSlot, inventoryDragable.item); switch (itemSlot.positionType) { case ItemSlotPositionType.Dock: break; case ItemSlotPositionType.Wear: break; case ItemSlotPositionType.Bag: break; } dockUI.UpdateWithInventoryChange(inventory); } } UIDragableItem dockDragable = dockUI.movingDragableItem; if (preSlot != null && preSlot.gameObject.activeInHierarchy && dockUI.hasDragable) { dockDragable.OnPlacementConfirm(this); dockDragable.GetComponent <RectTransform>().position = rectTransform.position; if (itemSlot != null) { Item itemWhichWasInTheSlotBeforeReplacement = itemSlot.item; inventory.dockUI.SetSlotItemAndSave(itemSlot, dockDragable.item); switch (itemSlot.positionType) { case ItemSlotPositionType.Dock: // move from one dock slot to another inventory.dockUI.SetSlotItemAndSave(preSlot, itemWhichWasInTheSlotBeforeReplacement); break; case ItemSlotPositionType.Wear: break; case ItemSlotPositionType.Bag: break; } // update the dock dockUI.UpdateWithInventoryChange(inventory); } } }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { if (provider != null) { IWindowsFormsEditorService edSvc = (IWindowsFormsEditorService) provider.GetService(typeof(IWindowsFormsEditorService)); if (edSvc == null) { return value; } if (this.dockUI == null) { this.dockUI = new DockUI(this); } this.dockUI.Start(edSvc, value); edSvc.DropDownControl(this.dockUI); value = this.dockUI.Value; this.dockUI.End(); } return value; }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { if (provider != null) { IWindowsFormsEditorService edSvc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); if (edSvc == null) { return(value); } if (this.dockUI == null) { this.dockUI = new DockUI(this); } this.dockUI.Start(edSvc, value); edSvc.DropDownControl(this.dockUI); value = this.dockUI.Value; this.dockUI.End(); } return(value); }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { if (provider == null) { return(value); } if (!(provider.GetService(typeof(IWindowsFormsEditorService)) is IWindowsFormsEditorService edSvc)) { return(value); } if (_dockUI == null) { _dockUI = new DockUI(this); } _dockUI.Start(edSvc, value); edSvc.DropDownControl(_dockUI); value = _dockUI.Value; _dockUI.End(); return(value); }