using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
/// <summary>
|
/// 武将阵型激活界面
|
/// </summary>
|
public class HeroFormationWin : UIBase
|
{
|
[SerializeField] Button closeBtn;
|
[SerializeField] ScrollerController scroller;
|
[SerializeField] Text totalAttrText;
|
|
|
protected override void InitComponent()
|
{
|
closeBtn.AddListener(CloseWindow);
|
}
|
|
|
protected override void OnPreOpen()
|
{
|
scroller.OnRefreshCell += OnRefreshCell;
|
CreateScroller();
|
|
// 优先检查混搭阵型
|
HeroLineupHaloConfig activeConfig = null;
|
if (HeroUIManager.Instance.isCustonHeroFormation)
|
{
|
activeConfig = HeroUIManager.Instance.GetMixedFormationConfig(HeroUIManager.Instance.custonTeamHeroes);
|
if (activeConfig == null)
|
{
|
var result = HeroUIManager.Instance.GetMaxCountHeroCountry(HeroUIManager.Instance.custonTeamHeroes);
|
activeConfig = HeroLineupHaloConfig.GetConfig(result.x, result.y);
|
}
|
}
|
else
|
{
|
activeConfig = HeroUIManager.Instance.GetMixedFormationConfig(HeroUIManager.Instance.selectTeamType, true);
|
if (activeConfig == null)
|
{
|
var result = HeroUIManager.Instance.GetMaxCountHeroCountry(HeroUIManager.Instance.selectTeamType, true);
|
activeConfig = HeroLineupHaloConfig.GetConfig(result.x, result.y);
|
}
|
}
|
|
if (activeConfig == null)
|
{
|
totalAttrText.text = "";
|
}
|
else
|
{
|
string lineText = string.Empty;
|
|
for (int i = 0; i < activeConfig.AttrIDList.Length; i++)
|
{
|
string format = "{0}+" + UIHelper.AppendColor(TextColType.Green, "{1}");
|
lineText += " " + PlayerPropertyConfig.GetFullDescription(activeConfig.AttrIDList[i], activeConfig.AttrValueList[i], format);
|
}
|
totalAttrText.text = Language.Get("herocard36") + lineText.Trim();
|
}
|
}
|
|
protected override void OnPreClose()
|
{
|
scroller.OnRefreshCell -= OnRefreshCell;
|
}
|
|
|
|
void OnRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
var _cell = cell as HeroFormationCell;
|
_cell.Display(cell.index);
|
}
|
|
void CreateScroller()
|
{
|
scroller.Refresh();
|
for (int i = 0; i < 4; i++)
|
{
|
scroller.AddCell(ScrollerDataType.Header, i);
|
}
|
// 第5个为混搭阵型格子(显示在最后)
|
scroller.AddCell(ScrollerDataType.Header, 4);
|
scroller.Restart();
|
}
|
|
}
|