Пример #1
0
    /// <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);
        }
    }
Пример #2
0
 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;
 }
Пример #3
0
    /// <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);
        //}
    }
Пример #4
0
    /// <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;
        }
    }