public override void HandleItemDrag(string name, ItemBase draggedItem, DragAndDropManager.DragRemoveItem dragDelegate, SegmentEntity targetEntity) { var quantumIoPort = targetEntity as QuantumIoPortMachine; var controller = quantumIoPort.GetController(); if (controller == null || !controller.IsOperating() || controller.IsFull()) { return; } var itemToStore = ItemManager.CloneItem(draggedItem); var currentStackSize = ItemManager.GetCurrentStackSize(itemToStore); if (controller.GetRemainigCapacity() < currentStackSize) { ItemManager.SetItemCount(itemToStore, controller.GetRemainigCapacity()); } StoreItem(WorldScript.mLocalPlayer, controller, itemToStore); AudioHUDManager.instance.OrePickup(); WorldScript.mLocalPlayer.mInventory.VerifySuitUpgrades(); WorldScript.mLocalPlayer.mInventory.MarkEverythingDirty(); InventoryPanelScript.MarkDirty(); controller.Dirty = true; NetworkRedraw = true; UIManager.ForceNGUIUpdate = 0.1f; }
public override void HandleItemDrag(string name, ItemBase draggedItem, DragAndDropManager.DragRemoveItem dragDelegate, SegmentEntity targetEntity) { ExtraStorageHoppers hopper = targetEntity as ExtraStorageHoppers; ItemBase itemForSlot = this.GetItemForSlot(hopper, name); bool flag = true; if (itemForSlot != null) { flag = (draggedItem.mnItemID == itemForSlot.mnItemID); } if (hopper.OT && hopper.IsEmpty() && !hopper.ExemplarSet) { hopper.SetExemplar(draggedItem); } if (name == "ItemSlot" + this.SlotCount && flag && hopper.IsNotFull() && hopper.CheckExemplar(draggedItem)) { ItemBase itemBase = ItemManager.CloneItem(draggedItem); int currentStackSize = ItemManager.GetCurrentStackSize(itemBase); if (hopper.RemainingCapacity < currentStackSize) { ItemManager.SetItemCount(itemBase, hopper.RemainingCapacity); } ExtraStorageHopperWindowNew.StoreItems(WorldScript.mLocalPlayer, hopper, itemBase); InventoryPanelScript.mbDirty = true; SurvivalHotBarManager.MarkAsDirty(); SurvivalHotBarManager.MarkContentDirty(); ExtraStorageHopperWindowNew.networkRedraw = true; } }
public override void HandleItemDrag(string name, ItemBase draggedItem, DragAndDropManager.DragRemoveItem dragDelegate, SegmentEntity targetEntity) { QuantumOutputPortMachine outputPort = targetEntity as QuantumOutputPortMachine; if (name != OutputItemIcon || manager.mWindowLookup[name + "_icon"].GetComponent <UISprite>().spriteName != "empty") { return; } SetExemplar(WorldScript.mLocalPlayer, outputPort, draggedItem); manager.RedrawWindow(); }
public override void HandleItemDrag(string name, ItemBase draggedItem, DragAndDropManager.DragRemoveItem dragDelegate, SegmentEntity targetEntity) { FreightCartStation station = targetEntity as FreightCartStation; if (station.massStorageCrate == null) { return; } if (name.Contains("registry")) // drag drop to a slot { int slotNum = -1; int.TryParse(name.Replace("registry", ""), out slotNum); //Get slot name as number if (slotNum == -1) // valid slot { if (this.manager.mWindowLookup[name + "_icon"].GetComponent <UISprite>().spriteName == "empty") { FreightCartWindow.AddRegistry(station, draggedItem); } } } else if (name == "hopitemoffer") { if (this.manager.mWindowLookup["hopitemoffer"].GetComponent <UISprite>().spriteName == "empty") { FreightCartWindow.SetHopperOfferItem(station, draggedItem); } } else if (name == "hopitemrequest") { if (this.manager.mWindowLookup["hopitemrequest"].GetComponent <UISprite>().spriteName == "empty") { FreightCartWindow.SetHopperRequestItem(station, draggedItem); } } return; }
public override void HandleItemDrag(string name, ItemBase draggedItem, DragAndDropManager.DragRemoveItem dragDelegate, SegmentEntity targetEntity) { //FreightSystemMonitor monitor = targetEntity as FreightSystemMonitor; return; }
public void HandleItemDrag(string name, ItemBase draggedItem, DragAndDropManager.DragRemoveItem dragDelegate) { //Debug.Log("Handle Item Drag: " + ItemManager.GetItemName(draggedItem)); if (this.SuitInventory.ValidItems.Contains(draggedItem.mnItemID)) { if (name.StartsWith("Suit_Slot")) { int num = int.Parse(name.Substring("Suit_Slot".Length, name.Length - "Suit_Slot".Length - "_Collider".Length)) - 1; int num2 = num % 10; int num3 = num / 10; ItemBase itemAt = this.SuitInventory.GetItemAt(num2, num3); if (this.dragSourceX >= 0 && this.dragSourceY >= 0 && (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift))) { bool flag = true; int currentStackSize = ItemManager.GetCurrentStackSize(draggedItem); if (currentStackSize < 2) { flag = false; } if (itemAt != null) { if (itemAt.mnItemID != draggedItem.mnItemID) { flag = false; } else if (itemAt.mType == ItemType.ItemCubeStack) { ItemCubeStack itemCubeStack = itemAt as ItemCubeStack; ItemCubeStack itemCubeStack2 = draggedItem as ItemCubeStack; if (itemCubeStack.mCubeType != itemCubeStack2.mCubeType || itemCubeStack.mCubeValue != itemCubeStack2.mCubeValue) { flag = false; } } } if (flag) { UIManager.instance.mSplitPanel.Show(draggedItem, this.dragSourceX, this.dragSourceY, itemAt, num2, num3); this.SuitInventory.MarkDirtyDelayed(5); return; } } if (itemAt != null) { if (draggedItem.mType == ItemType.ItemCubeStack && itemAt.mType == ItemType.ItemCubeStack) { ItemCubeStack itemCubeStack3 = draggedItem as ItemCubeStack; ItemCubeStack itemCubeStack4 = itemAt as ItemCubeStack; if (itemCubeStack3.mCubeType == itemCubeStack4.mCubeType && itemCubeStack3.mCubeValue == itemCubeStack4.mCubeValue) { int maxStackSize = global::TerrainData.GetMaxStackSize(itemCubeStack4.mCubeType); if (maxStackSize != 100) { if (itemCubeStack3.mnAmount + itemCubeStack4.mnAmount > maxStackSize) { int num4 = maxStackSize - itemCubeStack4.mnAmount; itemCubeStack3.mnAmount -= num4; itemCubeStack4.mnAmount += num4; this.SuitInventory.MarkDirty(); this.dirty = true; return; } } if (dragDelegate(draggedItem, null)) { itemCubeStack4.mnAmount += itemCubeStack3.mnAmount; this.SuitInventory.MarkDirty(); this.dirty = true; return; } return; } } if (draggedItem.mType == ItemType.ItemStack && itemAt.mnItemID == draggedItem.mnItemID) { ItemStack itemStack = draggedItem as ItemStack; ItemStack itemStack2 = itemAt as ItemStack; if (dragDelegate(draggedItem, null)) { itemStack2.mnAmount += itemStack.mnAmount; this.SuitInventory.MarkEverythingDirty(); this.dirty = true; return; } return; } } if (dragDelegate(draggedItem, itemAt)) { if (itemAt != null) { this.SuitInventory.RemoveItemAt(num2, num3); } this.SuitInventory.AddItemAt(num2, num3, draggedItem); this.SuitInventory.MarkEverythingDirty(); this.dirty = true; } return; } } }
//For handling when a player drags an item to an object (icon slot for example) in the UI public override void HandleItemDrag(string name, ItemBase draggedItem, DragAndDropManager.DragRemoveItem dragDelegate, SegmentEntity targetEntity) { base.HandleItemDrag(name, draggedItem, dragDelegate, targetEntity); }