少年修仙传客户端代码仓库
hch
2025-07-24 50e53441950268933694eeb5aad36147bbe1014d
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
using System.Linq;
using UnityEngine;
 
namespace vnxbqy.UI
{
    public class FairySiegeGuessCellItem : MonoBehaviour
    {
        [SerializeField] ButtonEx btnChoose;
        [SerializeField] ImageEx imgChoose;
        [SerializeField] EmblemCell emblemCell;
        [SerializeField] TextEx txtFairyName;
        [SerializeField] TextEx txtGuessCnt;
        int emblemId;
        int familyId;
        FairySiegeActModel model { get { return ModelCenter.Instance.GetModel<FairySiegeActModel>(); } }
 
        public void Display(int familyId)
        {
            if (!model.TryGetFairySiegeFamilyInfo((uint)familyId, out FairySiegeFamilyInfo fairySiegeFamilyInfo))
                return;
            this.familyId = familyId;
            emblemId = (int)fairySiegeFamilyInfo.EmblemID;
            txtFairyName.text = fairySiegeFamilyInfo.Name;
            emblemCell.InitUI(EmblemHelper.GetOtherEmblemModel(emblemId));
            imgChoose.SetActive(model.chooseArr.Contains(familyId));
            btnChoose.SetListener(SkipClick);
            int guessValue = (int)model.guessFamilyListDict[(uint)familyId];
            txtGuessCnt.text = guessValue.ToString();
        }
 
        private void SkipClick()
        {
            int index;
            if (model.chooseArr.Contains(familyId))
            {
                if (!model.TryGetIndex(familyId, out index))
                    return;
                model.chooseArr[index] = 0;
            }
            else
            {
                //最多可选择x个仙盟
                if (!model.TryGetIndex(out index))
                {
                    SysNotifyMgr.Instance.ShowTip("FairySiege01", model.ScrRowCntMax);
                    return;
                }
 
                model.chooseArr[index] = familyId;
            }
 
            imgChoose.SetActive(model.chooseArr.Contains(familyId));
            model.UpdateChooseAction?.Invoke();
        }
    }
}