| | |
| | | [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; |
| | | |