少年修仙传客户端代码仓库
lcy
2024-12-16 a39c35fc6449430cd02bccb681c4a0a880e46cd9
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
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
 
namespace vnxbqy.UI
{
    public class NuwaRuleRewardCell : CellView
    {
        [SerializeField] Text m_FloorName;
        [SerializeField] ScrollRect m_Scroller;
        [SerializeField] Transform m_Parent;
        [SerializeField] RareItem m_CloneInstance;
        [SerializeField] List<RareItem> m_Items;
 
        DungeonNuwaModel model { get { return ModelCenter.Instance.GetModel<DungeonNuwaModel>(); } }
 
        public void Display(int floor)
        {
            m_FloorName.text = Language.Get("NuwaFloorName", Language.Get("Num_CHS_" + floor));
 
            List<Item> items;
            model.TryGetFloorReward(floor, out items);
 
            CreateItemBehaviour(items == null ? 0 : items.Count);
 
            m_Scroller.horizontalNormalizedPosition = 0f;
 
            for (int i = 0; i < m_Items.Count; i++)
            {
                if (items != null && i < items.Count)
                {
                    var item = items[i];
                    m_Items[i].SetActive(true);
                    var itemModel = new ItemCellModel(item.id, true, (ulong)item.count);
                    m_Items[i].SetItemRare(itemModel, model.IsNewComparePreFloor(floor, item.id));
                    m_Items[i].button.SetListener(() =>
                    {
                        ItemTipUtility.Show(item.id);
                    });
                }
                else
                {
                    m_Items[i].SetActive(false);
                }
            }
        }
 
        void CreateItemBehaviour(int count)
        {
            if (m_Items.Count >= count)
            {
                return;
            }
            for (int i = m_Items.Count; i < count; i++)
            {
                var instance = GameObject.Instantiate(m_CloneInstance, Vector3.zero, Quaternion.identity);
                instance.transform.SetParent(m_Parent);
                instance.transform.localScale = Vector3.one;
                var item = instance.GetComponent<RareItem>();
                m_Items.Add(item);
            }
        }
    }
}