|  |  | 
 |  |  |     [SerializeField] GameObject attrOnTip; | 
 |  |  |     [SerializeField] Button attrOnTipBtn; | 
 |  |  |  | 
 |  |  |     [SerializeField] GameObject foldObject; | 
 |  |  |     [SerializeField] Button unFoldBtn; //展开按钮 | 
 |  |  |     [SerializeField] List<Button> countryBtnList; | 
 |  |  |     [SerializeField] GameObject unFoldObject; | 
 |  |  |     [SerializeField] Button foldBtn; //收起按钮 | 
 |  |  |     [SerializeField] List<Button> jobBtnList;   //全部,输出、肉盾、辅助、控制 | 
 |  |  |     [SerializeField] Button changeHeroPosBtn; //布阵按钮 | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     private List<Image> countrySelectImgList; | 
 |  |  |     private List<Image> jobSelectImgList; | 
 |  |  |  | 
 |  |  |     SinglePack singlePack; | 
 |  |  |  | 
 |  |  |     /// </summary> | 
 |  |  |     protected override void InitComponent() | 
 |  |  |     { | 
 |  |  |         heroPackBtn.onClick.AddListener(() => | 
 |  |  |         heroPackBtn.AddListener(() => | 
 |  |  |         { | 
 |  |  |             HeroUIManager.Instance.QueryUnLockHeroPack(); | 
 |  |  |         }); | 
 |  |  |         changeHeroPosBtn.AddListener(() => | 
 |  |  |         { | 
 |  |  |             HeroUIManager.Instance.selectTeamType = TeamType.Story; | 
 |  |  |             UIManager.Instance.OpenWindow<HeroPosWin>(); | 
 |  |  |         }); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     protected override void OnPreOpen() | 
 |  |  |     { | 
 |  |  |         singlePack = PackManager.Instance.GetSinglePack(PackType.Hero); | 
 |  |  |         heroListScroller.OnRefreshCell += OnRefreshCell; | 
 |  |  |         //需要考虑调整为武将的事件,而不是背包 | 
 |  |  |         PackManager.Instance.RefreshItemEvent += RefreshPakCount; | 
 |  |  |         HeroManager.Instance.SortHeroList(); | 
 |  |  |         HeroUIManager.Instance.SortHeroList(); | 
 |  |  |         CreateScroller(); | 
 |  |  |         Refresh(); | 
 |  |  |     } | 
 |  |  | 
 |  |  |  | 
 |  |  |     public override void Refresh() | 
 |  |  |     { | 
 |  |  |         SinglePack singlePack = PackManager.Instance.GetSinglePack(PackType.Item); | 
 |  |  |         if (singlePack == null || singlePack.GetAllItems().Count <= 0) | 
 |  |  |         { | 
 |  |  |             heroListEmpty.SetActive(true); | 
 |  |  | 
 |  |  |             heroListScroller.SetActive(true); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         OnBattleTeamAttrPer(); | 
 |  |  |          | 
 |  |  |         RefreshPakCount(PackType.Hero, 0, 0); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     //上阵加成 | 
 |  |  |     void OnBattleTeamAttrPer() | 
 |  |  |     { | 
 |  |  |         var valuePer = 0; | 
 |  |  |         var team = TeamManager.Instance.GetTeam(TeamType.Story); | 
 |  |  |         if (team != null) | 
 |  |  |         { | 
 |  |  |             for (int i = 0; i < team.serverData.Length; i++) | 
 |  |  |             { | 
 |  |  |                 var hero = HeroManager.Instance.GetHero(team.serverData[i].guid); | 
 |  |  |                 if (hero != null) | 
 |  |  |                 { | 
 |  |  |                     valuePer += hero.GetOnBattleAddPer(); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |    | 
 |  |  |         } | 
 |  |  |         //上阵属性 | 
 |  |  |         for (int i = 0; i < attrOnList.Count; i++) | 
 |  |  |         { | 
 |  |  |             attrOnList[i].text = PlayerPropertyConfig.GetFullDescription(new Int2 (PlayerPropertyConfig.baseAttrs[i], 1 )); | 
 |  |  |             attrOnList[i].text = PlayerPropertyConfig.GetFullDescription(new Int2(PlayerPropertyConfig.basePerAttrs[i], valuePer)); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |     void CreateScroller() | 
 |  |  |     { | 
 |  |  |         heroListScroller.Refresh(); | 
 |  |  |         for (int i = 0; i < HeroManager.Instance.heroSortList.Count; i++) | 
 |  |  |         for (int i = 0; i < HeroUIManager.Instance.heroSortList.Count; i++) | 
 |  |  |         { | 
 |  |  |             if (i % 4 == 0) | 
 |  |  |             { | 
 |  |  | 
 |  |  |  | 
 |  |  |     void RefreshPakCount(PackType type, int index, int itemID) | 
 |  |  |     { | 
 |  |  |         SinglePack singlePack = PackManager.Instance.GetSinglePack(PackType.Item); | 
 |  |  |         if (type != PackType.Hero) | 
 |  |  |             return; | 
 |  |  |         if (singlePack == null) | 
 |  |  |             return; | 
 |  |  |  | 
 |  |  |         int count = singlePack.GetAllItems().Count; | 
 |  |  |  | 
 |  |  |         heroPackText.text =  UIHelper.AppendColor(count > singlePack.unlockedGridCount ? TextColType.Red : TextColType.NavyBrown, | 
 |  |  |         heroPackText.text = UIHelper.AppendColor(count > singlePack.unlockedGridCount ? TextColType.Red : TextColType.NavyBrown, | 
 |  |  |                             string.Format("{0}/{1}", count, singlePack.unlockedGridCount)); | 
 |  |  |          | 
 |  |  |     } |