/// <summary> /// チェンジのアイテムチェック /// </summary> /// <param name="end">ドラッグの最後の場所</param> private void ExchangeItemCheck(InventoryClassification end) { if (startInventory == end)//同じ { foreach (var datas in cInventoryManager.instance.inventoryList) { if (datas.inventoryType == startInventory) { ExchangeItemData(datas); } } } else { cInventory startData = null, endData = null; foreach (var datas in cInventoryManager.instance.inventoryList) { if (datas.inventoryType == startInventory) { startData = datas; } if (datas.inventoryType == end) { endData = datas; } } ExchangeItemData(startData, endData); } }
public void OnBeginDrag(PointerEventData eventData) { originalParemt = transform.parent; currentItemID = originalParemt.GetComponent <cSlot>().slotID; transform.SetParent(transform.root); transform.position = eventData.position; startInventory = originalParemt.GetComponent <cSlot>().whichInventory; GetComponent <CanvasGroup>().blocksRaycasts = false; }
/// <summary> /// バック中表示更新 /// </summary> public static void RefreshItem() { foreach (var slotGrid in instance.gridTransform) { for (int i = 0; i < slotGrid.Value.childCount; i++) { if (slotGrid.Value.transform.childCount == 0) { break; } Destroy(slotGrid.Value.transform.GetChild(i).gameObject); } } foreach (var slotData in instance.inventoryList) { InventoryClassification currInventory = slotData.inventoryType; int count = slotData.itemList.Count; instance.SetImageSize(out float setImageSize, currInventory); instance.slotsList.Clear(); for (int i = 0; i < count; i++) { instance.slotsList.Add(Instantiate(instance.slotPrefabe)); instance.slotsList[i].transform.SetParent(instance.gridTransform[currInventory].transform, false); cSlot tempSlot = instance.slotsList[i].GetComponent <cSlot>(); if (slotData.itemList[i] == null || slotData.itemList[i].itemHeldNumber < slotData.itemList[i].itemDefNumber) { slotData.itemList[i] = null; } tempSlot.slotID = i; tempSlot.whichInventory = currInventory; tempSlot.slotImage.GetComponent <RectTransform>().sizeDelta = new Vector2(setImageSize, setImageSize); tempSlot.SetupSlot(slotData.itemList[i]); } } //for (int i = 0; i < instance.slotsList.Count; i++) //{ // Debug.Log(instance.slotsList[i].name); //} }
/// <summary> /// アイテム表示サイズ変更 /// </summary> /// <param name="size">表示するのサイズ</param> /// <param name="currInventory">タイプ(どうのカバン)</param> private void SetImageSize(out float size, InventoryClassification currInventory) { switch (currInventory) { case InventoryClassification.PlayerBag: case InventoryClassification.PlayerBag2: size = imageSize; break; case InventoryClassification.PropsColumn: size = imageSize - sizeOffset; break; default: size = imageSize; break; } }