public void OnSlotChange(InventoryUISlot newSlot, InventoryUIObject inventoryUIObject) { bool isSpecial = inventoryUIObject.GetInventoryObject() == inventory.GetSpecialInventoryObject(); // normal object to special if (isSpecial == false && newSlot == slotSpecial) { inventory.MoveNormalInventoryObjectToSpecial(inventoryUIObject.GetInventoryObject()); } // special object to normal if (isSpecial && newSlot != slotSpecial) { inventory.MoveSpecialInventoryObjectToNormal(inventoryUIObject.GetInventoryObject()); } // set wish pos if (newSlot != slotSpecial) { inventoryUIObject.GetInventoryObject().SetCurrentPos(slots.IndexOf(newSlot)); } else { inventoryUIObject.GetInventoryObject().SetCurrentPos(0); } }
public void SelectInventoryUIObject(InventoryUIObject inventoryUIObject) { textTitle.text = inventoryUIObject.GetInventoryObject().GetTitle(); textDescription.text = inventoryUIObject.GetInventoryObject().GetDescription(); panelDescription.SetActive(true); currentSelectedInventoryUIObject = inventoryUIObject; }
public bool AddInventoryObject(InventoryObject inventoryObject, bool isSpecial = false) { InventoryUISlot nextFreeSlot; // get next free slot if (isSpecial && slotSpecial.IsEmpty()) { nextFreeSlot = slotSpecial; } else { nextFreeSlot = GetNextFreeSlot(inventoryObject.GetCurrentPos()); } if (nextFreeSlot != null) { // create new inventory ui object from template GameObject templateClone = Instantiate(inventoryUIObjectTemplate.gameObject, Vector3.zero, Quaternion.identity); templateClone.SetActive(true); templateClone.name = inventoryObject.GetTitle(); // link it with the slot InventoryUIObject newInventoryUIObject = templateClone.GetComponent <InventoryUIObject>(); newInventoryUIObject.SetInventoryObject(inventoryObject); newInventoryUIObject.SetCurrentSlot(nextFreeSlot); newInventoryUIObject.GetTransform().localScale = inventoryUIObjectTemplate.GetTransform().localScale; nextFreeSlot.Init(this); return(true); } return(false); }
public void OnBeginDrag(PointerEventData eventData) { currentObject = this; currentObject.GetTransform().SetParent(emptyParent); currentObject.GetTransform().SetAsFirstSibling(); startSlot = currentObject.GetCurrentSlot(); }
public void OnEndDrag(PointerEventData eventData) { // this is true if we are outside the UI /* * if (EventSystem.current.IsPointerOverGameObject(eventData.pointerId) == false) * { * // do interesting stuff * } */ if (startSlot == GetCurrentSlot()) { GetTransform().SetParent(GetCurrentSlot().GetTransform()); GetTransform().localPosition = Vector3.zero; } currentObject = null; }
public void OnDrop(InventoryUIObject inventoryUIObject) { Instantiate(inventoryUIObject.GetInventoryObject().GetPrefab(), transform.position, Quaternion.identity); onDrop.Invoke(); }
public void SetInventoryUIObject(InventoryUIObject obj) { inventoryUIObject = obj; }