hch
2025-08-25 122ffb52f41e010b039d343c2bf832acd551b15e
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
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
 
public class HeroDeleteHeadCell : MonoBehaviour
{
    [SerializeField] HeroHeadBaseCell heroHeadBaseCell;
    [SerializeField] Image jobImg;
    [SerializeField] Text nameText;
    [SerializeField] GameObject selectRect;
    [SerializeField] GameObject maskObj;
    [SerializeField] GameObject onTeamObj;
    [SerializeField] GameObject lockObj;
    [SerializeField] GameObject awakeObj;
    [SerializeField] Text awakeLVText;
 
    public void Display(int index)
    {
        var guid = HeroUIManager.Instance.heroDeleteSortList[index];
        var hero = HeroManager.Instance.GetHero(guid);
        var team = TeamManager.Instance.GetTeam(HeroUIManager.Instance.selectTeamType);
        selectRect.SetActive(HeroUIManager.Instance.selectDeleteHeroList.Contains(guid));
        maskObj.SetActive(hero.isLock || hero.IsInAnyTeam()
            || HeroUIManager.Instance.selectDeleteHeroList.Contains(guid) || hero.awakeLevel > 0);
 
        lockObj.SetActive(hero.isLock);
        onTeamObj.SetActive(hero.IsInAnyTeam());
        awakeObj.SetActive(hero.awakeLevel > 0);
        awakeLVText.text = hero.awakeLevel.ToString();
 
        heroHeadBaseCell.Init(hero.heroId, hero.SkinID, hero.heroStar, hero.awakeLevel, hero.heroLevel, () =>
        {
            Click(hero, index);
        });
        nameText.text = hero.breakLevel == 0 ? hero.heroConfig.Name : Language.Get("herocardbreaklv", hero.heroConfig.Name, hero.breakLevel);
 
        jobImg.SetSprite(HeroUIManager.Instance.GetJobIconName(hero.heroConfig.Class));
    }
 
    void Click(HeroInfo hero, int index)
    {
        //上阵 锁定 觉醒 的情况
        if (hero.awakeLevel > 0)
        {
            SysNotifyMgr.Instance.ShowTip("HeroReborn1");
            return;
        }
 
        if (hero.IsInAnyTeamJustOne())
        { 
            //阵容至少要有一个武将上阵
            SysNotifyMgr.Instance.ShowTip("HeroFunc3");
            return;
        }
 
        if (hero.isLock)
        {
            ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"),
            Language.Get("herocard66"), (bool isOK) =>
                {
                    if (isOK)
                    {
                        hero.ChangeLockState();
                    }
                });
            return;
        }
 
        if (hero.IsInAnyTeam())
        {
            ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"),
            Language.Get("herocard65"), (bool isOK) =>
                {
                    if (isOK)
                    {
                        hero.LeaveAllTeam();
                    }
                });
            return;
        }
 
        if (HeroUIManager.Instance.selectDeleteHeroList.Contains(hero.itemHero.guid))
        {
            HeroUIManager.Instance.selectDeleteHeroList.Remove(hero.itemHero.guid);
        }
        else
        {
            HeroUIManager.Instance.selectDeleteHeroList.Add(hero.itemHero.guid);
        }
 
        Display(index);
    }
}