public static void DropItem(AttachedItem attachedItem) { if(OnDrop != null) { OnDrop(attachedItem); } }
public static void ItemLeftClick(AttachedItem attachedItem) { if(OnLeftClick != null) { OnLeftClick(attachedItem); } }
public static void EquipItem(AttachedItem attachedItem) { if (OnEquip != null) { OnEquip(attachedItem); } }
public void Split(AttachedItem itemFromSlot) { Slider.onValueChanged.RemoveAllListeners(); InputField.onValueChanged.RemoveAllListeners(); gameObject.SetActive(true); GameObject tempItemGameObject = Instantiate(itemFromSlot.gameObject); AttachedItem tempItem = tempItemGameObject.GetComponent<AttachedItem>(); tempItemGameObject.transform.SetParent(Slot.transform, false); //tempItemGameObject.GetComponent<RectTransform>().sizeDelta = Vector2.zero; //tempItemGameObject.GetComponent<RectTransform>().localScale = Vector3.one; tempItemGameObject.name = itemFromSlot.Item.Name; tempItemGameObject.transform.localPosition = Vector2.zero; Slider.value = 1; Slider.minValue = 1; Slider.maxValue = itemFromSlot.StackSize - 1; tempItem.StackSize = (int)Slider.minValue; tempItem.CanvasGroup.interactable = false; tempItem.CanvasGroup.blocksRaycasts = false; itemFromSlot.StackSize = (int)Slider.maxValue; InventoryManager.UpdateItemStack(tempItem); InventoryManager.UpdateItemStack(itemFromSlot); Slider.onValueChanged.AddListener(delegate { ValueToSplit(itemFromSlot, tempItem); }); //SplitPanel.InputField.onValueChanged.AddListener(delegate { ValueToSplit(tempItem); }); AcceptButton.onClick.RemoveAllListeners(); AcceptButton.onClick.AddListener(delegate { Accept(itemFromSlot, tempItem); }); CancelButton.onClick.RemoveAllListeners(); CancelButton.onClick.AddListener(delegate {Cancel(itemFromSlot, tempItem); }); }
public static void ItemRightClick(AttachedItem attachedItem) { if (OnRightClick != null) { OnRightClick(attachedItem); } }
public static void SplitItem(AttachedItem attachedItem) { if (OnSplit != null) { OnSplit(attachedItem); } }
public static void ConsumeItem(AttachedItem attachedItem) { if (OnConsume != null) { OnConsume(attachedItem); } }
public static void PickUpItem(AttachedItem attachedItem) { if (OnPickUp != null) { OnPickUp(attachedItem); } }
public void Accept(AttachedItem itemFromSlot, AttachedItem tempItem) { tempItem.CanvasGroup.interactable = true; tempItem.CanvasGroup.blocksRaycasts = true; Inventory.CloneItemIntoSlot(tempItem); Inventory.UpdateItemList(); Deactivate(itemFromSlot, tempItem); }
public void Deactivate(AttachedItem itemFromSlot, AttachedItem tempItem) { Destroy(tempItem.gameObject); InventoryManager.UpdateItemStack(itemFromSlot); if (InventoryManager.ItemInfoPanel != null) { InventoryManager.ItemInfoPanel.ActivatePanel(itemFromSlot); } itemFromSlot = null; //Reset slider values gameObject.SetActive(false); }
void EquipItem(AttachedItem attachedItem) { PlayUseSound(attachedItem); for (int i = 0; i < Equipment.Slots.Count; i++) { if (Equipment.Slots[i].GetComponent<EquipmentSlot>().EquipmentType.Equals(attachedItem.Item.ItemType) || attachedItem.Item.ItemType == ItemType.Socket) { if (Equipment.Slots[i].transform.childCount == 0) { attachedItem.gameObject.transform.SetParent(Equipment.Slots[i].transform); attachedItem.gameObject.GetComponent<RectTransform>().localPosition = Vector3.zero; //attachedItem.CurrentSlot = Equipment.Slots[i].transform; Inventory.UpdateItemList(); if (attachedItem.Duplicate != null) { Destroy(attachedItem.Duplicate); } break; } else if (Equipment.Slots[i].transform.childCount != 0) { GameObject equippedItemGameObject = Equipment.Slots[i].transform.GetChild(0).gameObject; AttachedItem equippedItem = equippedItemGameObject.GetComponent<AttachedItem>(); UnequipItem(equippedItem); if (attachedItem != equippedItem) { EquipItem(attachedItem); } } } } }
void ConsumeItem(AttachedItem attachedItem) { PlayUseSound(attachedItem); Item duplicateItem = null; if (attachedItem.Duplicate != null) { duplicateItem = attachedItem.Duplicate.GetComponent<AttachedItem>().Item; } attachedItem.StackSize--; InventoryManager.UpdateItemStack(attachedItem); if (duplicateItem != null) { attachedItem.Duplicate.GetComponent<AttachedItem>().StackSize--; InventoryManager.UpdateItemStack(attachedItem); if (attachedItem.StackSize <= 0) { if (attachedItem.Tooltip != null) { attachedItem.Tooltip.DeactivateTooltip(); } Inventory.RemoveItem(attachedItem.Item); Destroy(attachedItem.Duplicate); } } if (attachedItem.StackSize <= 0) { if (attachedItem.Tooltip != null) { attachedItem.Tooltip.DeactivateTooltip(); } if (attachedItem.ItemInfoPanel != null) { attachedItem.ItemInfoPanel.DeactivatePanel(); } Inventory.RemoveItemAndGameObject(attachedItem); } }
public void OnDrop(PointerEventData data) { if(AttachedItem.DraggingItem != null) { DraggingItemGameObject = AttachedItem.DraggingItem; DraggingItem = DraggingItemGameObject.GetComponent<AttachedItem>(); DraggingItem.CurrentSlot = gameObject.transform; bool addItemIntoSlot = InventoryManager.AddItemIntoSlot(this); if(addItemIntoSlot) { DraggingItemGameObject.transform.SetParent(gameObject.transform); DraggingItemGameObject.GetComponent<RectTransform>().localPosition = Vector2.zero; Debug.Log("addItemIntoSlot: " + addItemIntoSlot); } else { DraggingItemGameObject.transform.SetParent(DraggingItem.LastSlot.transform); DraggingItemGameObject.GetComponent<RectTransform>().localPosition = Vector2.zero; Debug.Log("addItemIntoSlot: " + addItemIntoSlot); } } }
void DropItem(AttachedItem attachedItem) { GameObject dropItem = (GameObject)Instantiate(attachedItem.Item.DroppedItem); if (attachedItem.ItemInfoPanel != null) { attachedItem.ItemInfoPanel.DeactivatePanel(); } if (dropItem.GetComponent<SpriteRenderer>().sprite == null) { dropItem.GetComponent<SpriteRenderer>().sprite = attachedItem.Item.Icon; } if (attachedItem == InventoryManager.SelectedItem && InventoryManager.SplitPanel != null) { InventoryManager.SplitPanel.gameObject.SetActive(false); } dropItem.AddComponent<PickUpItem>(); dropItem.GetComponent<PickUpItem>().AttachedItem = attachedItem; dropItem.AddComponent<BoxCollider2D>(); dropItem.GetComponent<BoxCollider2D>().isTrigger = true; //dropItem.transform.localPosition = GameObject.FindGameObjectWithTag("Player").transform.localPosition; Inventory.UpdateItemList(); Destroy(attachedItem.gameObject); Debug.Log("Предмет выброшен"); }
//Update stack for specific item public void UpdateItemStack(AttachedItem attachedItem) { attachedItem.StackSizeText = attachedItem.transform.GetComponentInChildren<Text>(); if (attachedItem.Item.MaxStackSize > 1) { attachedItem.StackSizeText.text = attachedItem.StackSize.ToString(); attachedItem.StackSizeText.enabled = true; if (attachedItem.Duplicate != null) { attachedItem.Duplicate.GetComponent<AttachedItem>().StackSizeText = attachedItem.Duplicate.GetComponentInChildren<Text>(); attachedItem.Duplicate.GetComponent<AttachedItem>().StackSizeText.text = attachedItem.StackSize.ToString(); attachedItem.Duplicate.GetComponent<AttachedItem>().StackSizeText.enabled = true; } } else { attachedItem.StackSizeText.enabled = false; if (attachedItem.Duplicate != null) { attachedItem.Duplicate.GetComponent<AttachedItem>().StackSizeText.enabled = false; } } if (attachedItem.StackSize <= 0) { if (attachedItem.Duplicate != null) { Destroy(attachedItem.Duplicate); } Destroy(attachedItem.gameObject); } }
public void Split(AttachedItem attachedItem) { SplitPanel.Split(attachedItem); }
void DropItem(AttachedItem attachedItem) { // }
void UnequipItem(AttachedItem equippedItem) { if (Inventory.CheckItemFit()) { Inventory.MoveItemIntoSlot(equippedItem); Inventory.UpdateItemList(); } else { return; } }
void ValueToSplit(AttachedItem itemFromSlot, AttachedItem tempItem) { tempItem.StackSize = (int)SplitPanel.Slider.value; itemFromSlot.StackSize = Mathf.Abs(tempItem.StackSize - (int)SplitPanel.Slider.maxValue - 1); //SplitPanel.InputField.text = SplitPanel.Slider.value.ToString(); /*if (int.Parse(SplitPanel.InputField.text) >= SplitPanel.Slider.minValue && int.Parse(SplitPanel.InputField.text) <= SplitPanel.Slider.maxValue) { SplitPanel.Slider.value = float.Parse(SplitPanel.InputField.text); }*/ InventoryManager.UpdateItemStack(tempItem); InventoryManager.UpdateItemStack(itemFromSlot); }
void PlayUseSound(AttachedItem attachedItem) { if (attachedItem.Item.UseSound != null) { InventoryManager.GetComponent<AudioSource>().PlayOneShot(attachedItem.Item.UseSound); } }
void SplitItem(AttachedItem attachedItem) { SplitPanel.Slider.onValueChanged.RemoveAllListeners(); SplitPanel.InputField.onValueChanged.RemoveAllListeners(); SplitPanel.gameObject.SetActive(true); GameObject tempItemGameObject = Instantiate(attachedItem.gameObject); AttachedItem tempItem = tempItemGameObject.GetComponent<AttachedItem>(); tempItemGameObject.transform.SetParent(SplitPanel.Slot.transform); tempItemGameObject.name = attachedItem.Item.Name; tempItemGameObject.transform.localPosition = Vector2.zero; SplitPanel.Slider.minValue = 1; SplitPanel.Slider.maxValue = attachedItem.StackSize - 1; tempItem.StackSize = (int)SplitPanel.Slider.minValue; attachedItem.StackSize = (int)SplitPanel.Slider.maxValue; InventoryManager.UpdateItemStack(tempItem); InventoryManager.UpdateItemStack(attachedItem); SplitPanel.Slider.onValueChanged.AddListener(delegate { ValueToSplit(attachedItem, tempItem); }); //SplitPanel.InputField.onValueChanged.AddListener(delegate { ValueToSplit(tempItem); }); SplitPanel.CancelButton.onClick.RemoveAllListeners(); SplitPanel.CancelButton.onClick.AddListener(delegate { SplitPanel.Cancel(attachedItem, tempItem); }); }
void ItemRightClick(AttachedItem attachedItem) { }
void PickUpItem(AttachedItem attachedItem) { }
///<summary> ///Удаляет Item из списка ItemsInInventory вместе с игровым объектом ///</summary> public void RemoveItemAndGameObject(AttachedItem attachedItem) { for (int i = 0; i < ItemsInInventory.Count; i++) { if (attachedItem == ItemsInInventory[i]) { ItemsInInventory.RemoveAt(i); } } for(int k = 0; k < Slots.Count; k++) { if(Slots[k].gameObject.transform.childCount != 0) { GameObject tempItemGameObject = Slots[k].gameObject.transform.GetChild(0).gameObject; AttachedItem tempAttachedItem = tempItemGameObject.GetComponent<AttachedItem>(); if(tempAttachedItem == attachedItem) { Destroy(tempItemGameObject); break; } } } }
public void Unequip(AttachedItem attachedItem) { InventoryEvents.UnequipItem(attachedItem); ItemInfoPanel.ActivatePanel(attachedItem); }
public void MoveItemIntoSlot(AttachedItem attachedItem) { if (CheckItemFit()) { for (int i = 0; i < Slots.Count; i++) { if(Slots[i].gameObject.transform.childCount == 0) { attachedItem.gameObject.transform.SetParent(Slots[i].transform); attachedItem.gameObject.transform.localPosition = Vector2.zero; break; } } } }
public void CloneItemIntoSlot(AttachedItem attachedItem) { if (CheckItemFit()) { GameObject tempItem = Instantiate(attachedItem.gameObject); tempItem.name = attachedItem.Item.Name; for (int i = 0; i < Slots.Count; i++) { if (Slots[i].gameObject.transform.childCount == 0) { tempItem.transform.SetParent(Slots[i].transform, false); tempItem.transform.localPosition = Vector2.zero; //tempItem.GetComponent<RectTransform>().sizeDelta = Vector2.zero; //tempItem.GetComponent<RectTransform>().localScale = Vector3.one; break; } } } }
public void Cancel(AttachedItem itemFromSlot, AttachedItem tempItem) { itemFromSlot.StackSize = (int)Slider.maxValue + 1; Deactivate(itemFromSlot, tempItem); }
public void Consume(AttachedItem attachedItem) { InventoryEvents.ConsumeItem(attachedItem); }
public void Drop(AttachedItem attachedItem) { InventoryEvents.DropItem(attachedItem); }