Example #1
0
    public void SetData(PacksackItemData data)
    {
        mData = data;
        if (data == null)
        {
            return;
        }
        mask.SetActive(data.num == 0);
        btn.SetIsTween(!(data.num == 0));
        icon.sprite = atlas.GetSprite(data.icon);

        num.text = data.num >= 0 ? data.num.ToString() : "";
        if (data.num >= 0)
        {
            num.transform.parent.gameObject.SetActive(false);
            num.text = data.num.ToString();
        }
        else
        {
            num.transform.parent.gameObject.SetActive(false);
        }

        itemName.text = data.name;
        select.SetActive(false);
    }
Example #2
0
    //通过仪器类型创建出玩家当前持有的仪器
    public GameObject CreatePlayerHoldInstrument(InstrumentEnum type, bool hasTips = false)
    {
        PacksackItemData itemData = GetPacksackItemData(type);

        if (itemData != null)
        {
            return(CreatePlayerHoldInstrument(itemData, hasTips));
        }
        Debug.LogWarning("itemData:" + itemData);
        return(null);
    }
Example #3
0
 private void Awake()
 {
     InitPacksackItemData();
     Messenger.AddListener <Instrument>(GlobalEvent.Player_Delete_Instrument, (instrument) =>
     {
         PacksackItemData itemData = GetPacksackItemData(instrument.type);
         if (itemData != null)
         {
             itemData.num++;
             Messenger.Broadcast(GlobalEvent.Packsack_Item_Change);
         }
     });
 }
Example #4
0
 private void InitPacksackItemData()
 {
     packsackItemDataList = new List <PacksackItemData>();
     mPacksackCfg         = JsonMapper.ToObject((ResMgr.Instance.Load("Packsack/PacksackCfg") as TextAsset).text);
     foreach (JsonData item in mPacksackCfg)
     {
         PacksackItemData data = new PacksackItemData();
         data.id           = (int)(InstrumentEnum)Enum.Parse(typeof(InstrumentEnum), (string)item["InstrumentEnum"]);
         data.Type         = (int)(InstrumentTypeEnum)Enum.Parse(typeof(InstrumentTypeEnum), (string)item["InstrumentTypeEnum"]);
         data.name         = (string)item["Name"];
         data.icon         = (string)item["Icon"];
         data.num          = (int)item["Amount"];
         data.isAtPacksack = (int)item["IsAtPacksack"] > 0 ? true : false;
         data.callback     = CreatePlayerHoldInstrument;
         packsackItemDataList.Add(data);
     }
 }
Example #5
0
    private GameObject CreatePlayerHoldInstrument(PacksackItemData data, bool hasTips = false)
    {
        if (data.num <= 0)
        {
            Debug.LogWarning("数量不足");
            return(null);
        }
        GameObject go = InstrumentMgr.Instance.CreateInstrument((InstrumentEnum)data.id);

        if (go != null)
        {
            Instrument item = go.GetComponent <Instrument>();
            item.isHasR = true;
            item.groupInstrumentList = null;
            data.num--;
            RightHand.Instance.SetHoldInstrument(item);
            Messenger.Broadcast(GlobalEvent.Packsack_Item_Change);
        }
        else
        {
            Debug.Log(data.name + "仪器信息未设置");
        }
        return(go);
    }