Example #1
0
    /// <summary> 슬롯 생성 </summary>
    UIMarketSlot CreateMarketSlot(TradeData data)
    {
        UIMarketSlot slot = null;

        //for (int i = 0; i < marketSlotPool.Count; i++)
        //{
        //    if (marketSlotPool[i].gameObject.activeSelf == false && marketSlotPool[i].tradeData == null)
        //    {
        //        slot = marketSlotPool[i];
        //        break;

        //    }
        //}
        for (int j = 0; j < marketSlotList.Count; j++)
        {
            if (data == marketSlotList[j].tradeData)
            {
                slot = marketSlotList[j];
            }
        }
        if (slot == null)
        {
            GameObject go = Instantiate(marketSlotPrefab);
            go.transform.SetParent(content.transform, false);
            slot = go.GetComponent <UIMarketSlot>();
            slot.onClickRemove = MarketManager.Instance.CancleTrade;
            marketSlotList.Add(slot);
        }

        slot.InitMarketSlotData(data);

        return(slot);
    }
    void UpdatePanel()
    {
        if (gameManager == null)
        {
            gameManager = GameManager.instance;
        }

        int length = gameManager.saleFood.Count;

        UIUtils.BalancePrefabs(slotPrefab.gameObject, length, content);

        for (int i = 0; i < length; i++)
        {
            UIMarketSlot slot = content.GetChild(i).GetComponent <UIMarketSlot>();

            FoodItemAndAmount foodItemAndAmount = gameManager.saleFood[i];

            // add select id
            int icopy = i;
            slot.button.onClick.SetListener(() => OnFoodClicked(icopy));

            // show item in UI
            slot.image.color     = Color.white;
            slot.image.sprite    = foodItemAndAmount.item.image;
            slot.nameText.text   = "";
            slot.amountText.text = foodItemAndAmount.amount.ToString();
        }
    }
Example #3
0
    /// <summary> 거래 제거 됐을때 </summary>
    void OnRemoveTrade(TradeData trade)
    {
        UIMarketSlot slot = marketSlotList.Find(x => x.tradeData == trade);

        marketSlotList.Remove(slot);
        Destroy(slot.gameObject);
        textCurrentSlotCount.text = "(" + marketSlotList.Count + "/" + MarketManager.Instance.defaultDataCount + ")";
    }
Example #4
0
    /// <summary> 슬롯 리스트 초기화 </summary>
    void InitTradeDataList()
    {
        if (MarketManager.Instance == null)
        {
            return;
        }


        for (int i = 0; i < MarketManager.Instance.tradeDataList.Count; i++)
        {
            // slot 생성 & 초기화
            UIMarketSlot slot = CreateMarketSlot(MarketManager.Instance.tradeDataList[i]);
            slot.gameObject.SetActive(true);
        }
        textCurrentSlotCount.text = "(" + MarketManager.Instance.tradeDataList.Count + "/" + MarketManager.Instance.defaultDataCount + ")";

        SizeControl(MarketManager.Instance.tradeDataList.Count);
    }