少年修仙传客户端代码仓库
client_Wu Xijin
2019-02-25 cdb0198fb8e85811ec1e06b15f36df9cbe0fdb9a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System;
using Snxxz.UI;
 
 
namespace EnhancedUI.EnhancedScroller
{
    public class MarketPutedItem : MonoBehaviour
    {
        [SerializeField] Button m_ItemBtn;
        [SerializeField] Text m_ItemName;
        [SerializeField] Image m_ItemBG;
        [SerializeField] Image m_ItemIcon;
        [SerializeField] List<GameObject> m_Stars;
        [SerializeField] Text m_ItemCount;
        [SerializeField] Text m_ItemCost;
 
        private string m_UseData = string.Empty;
 
        private int index = 0;
 
        PackModel m_PackModel;
        PackModel PackModel
        {
            get { return m_PackModel ?? (m_PackModel = ModelCenter.Instance.GetModel<PackModel>()); }
        }
 
        ItemTipsModel _itemTipsModel;
        ItemTipsModel itemTipsModel
        {
            get
            {
                return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>());
            }
        }
 
        private void Awake()
        {
            m_ItemBtn.onClick.AddListener(OnItemClick);
        }
 
        private void OnItemClick()
        {
            var _data = PlayerDatas.Instance.market.putawayList[index];
            var _cfg = ItemConfig.Get((int)_data.ItemTypeID);
            ItemAttrData attrData = new ItemAttrData((int)_data.ItemTypeID, false, _data.Count, -1, 0, false, PackType.Deleted, "",
                 _data.UserData);
            attrData.SetTipsFuncBtn(ItemOperateType.putItemout, OnPutawayClick);
            itemTipsModel.SetItemTipsModel(attrData);
        }
 
        private void OnPutawayClick(ItemOperateType _type, string arg2)
        {
            KnapSackEventMgr.Instance.HideItemPopWin();
            switch (_type)
            {
                case ItemOperateType.putItemout:
                    {
                        var _data = PlayerDatas.Instance.market.putawayList[index];
                        int gridCnt = PackModel.GetEmptyGridCount(PackType.Item);
                        if (gridCnt < 1)
                        {
                            ServerTipDetails.DisplayNormalTip(Language.Get("KnapS130"));
                            return;
                        }
                        C1B03_tagCMPlayerRecaptureBourseItem putoutpack = new C1B03_tagCMPlayerRecaptureBourseItem();
                        putoutpack.ItemGUID = _data.ItemGUID;
                        GameNetSystem.Instance.SendInfo(putoutpack);
                    }
                    break;
            }
        }
 
        public void Display(int _index)
        {
            index = _index;
            List<MarketItemData> list = PlayerDatas.Instance.market.putawayList;
            if (_index >= list.Count)
            {
                return;
            }
            var _data = list[_index];
            var _cfg = ItemConfig.Get((int)_data.ItemTypeID);
            var _itemColor = _cfg.ItemColor;
            if (_cfg.Type == 111)
            {
                _itemColor = UIHelper.GetItemColor(_cfg.ID, _data.UserData);
            }
            bool _bright = (m_ItemName is RichText) ? (m_ItemName as RichText).colorType == RichText.ColorType.Bright : true;
            m_ItemName.text = _cfg.ItemName;
            m_ItemName.color = UIHelper.GetUIColor(_itemColor, _bright);
            m_ItemBG.SetItemBackGround(_itemColor);
            m_ItemIcon.SetSprite(_cfg.IconKey);
            m_ItemCost.text = _data.PriceCount.ToString();
            m_ItemCount.gameObject.SetActive(_data.Count > 1);
            m_ItemCount.text = _data.Count.ToString();
            for (int i = 0; i < m_Stars.Count; i++)
            {
                m_Stars[i].SetActive(i < _cfg.StarLevel);
            }
        }
 
 
    }
}