From 39001a600fcae2bcf27c225df8752d75fb92fef4 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期五, 31 十月 2025 11:18:26 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts
---
Main/System/HeroUI/HeroTrainWin.cs | 474 +++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 301 insertions(+), 173 deletions(-)
diff --git a/Main/System/HeroUI/HeroTrainWin.cs b/Main/System/HeroUI/HeroTrainWin.cs
index 02ec3ad..11d1c80 100644
--- a/Main/System/HeroUI/HeroTrainWin.cs
+++ b/Main/System/HeroUI/HeroTrainWin.cs
@@ -9,6 +9,7 @@
/// </summary>
public class HeroTrainWin : UIBase
{
+ [SerializeField] RawImage bgTexture;
[SerializeField] Button showFuncBtn; //鍙樉绀虹珛缁樻椂鐐瑰嚮锛屾樉绀哄姛鑳�
[SerializeField] Transform funcForm;
[SerializeField] UIHeroController roleLhModel; //灞曠ず鑻遍泟绔嬬粯
@@ -32,7 +33,7 @@
[SerializeField] Button awakeBtn;
[SerializeField] Button closeBtn; //鍏抽棴鎸夐挳
-
+ [SerializeField] Button starBtn; //鏄剧ず鏄熺骇鏂囧瓧
[SerializeField] List<Image> starImgList;
[SerializeField] Text nameText;
[SerializeField] UIEffectPlayer nameEffect;
@@ -40,6 +41,7 @@
[SerializeField] Text awakeLVText;
//灞炴�у尯
+ [SerializeField] ScrollRect allAttrScroll;
[SerializeField] Button attrBtn;
[SerializeField] Image unfoldImg; //灞曞紑鏃舵寜閽殑鍥炬爣
[SerializeField] Image foldImg; //鏀惰捣鏃舵寜閽殑鍥炬爣
@@ -52,14 +54,22 @@
[SerializeField] Text[] inheritAttrText; //姝﹀皢浼氱户鎵跨殑灞炴��
[SerializeField] RichText heroAddPerText; //涓诲叕锛堜笂闃碉級鍔犳垚鎻忚堪
[SerializeField] Text[] heroAddAttrPerText; //涓诲叕锛堜笂闃碉級鍔犳垚
- [SerializeField] Text[] addPerText; //澧炲姞鐧惧垎姣旓紙椋樺姩锛�
- [SerializeField] PositionTween addPerObject;
+ [SerializeField] Transform addPerParent;
+ [SerializeField] HeroTrainAddAttrCell addPerObject;
[SerializeField] Image lvupMoneyIcon;
[SerializeField] Text lvupMoneyText;
[SerializeField] Text lvupBtnText;
- [SerializeField] LongPressButton lvupBtn;
+ [SerializeField] LongPressButton lvupBtn; //鍗囩骇 绐佺牬
[SerializeField] Button allAttrBtn;
- [SerializeField] Text allPotentialText; //娼滆兘
+
+ [SerializeField] GameObject potentialCell; //娼滆兘鍜岃閱掔敤浜庡垱寤�
+ [SerializeField] Transform potentialCellParent; //娼滆兘鐖惰妭鐐�
+ List<GameObject> potentialCellList; //娼滆兘
+ [SerializeField] Transform awakeCellParent; //娼滆兘鐖惰妭鐐�
+ [SerializeField] GameObject awakeGo;
+ List<GameObject> awakeCellList; //瑙夐啋
+
+ [SerializeField] GameObject fetterGo;
[SerializeField] Text[] fetterText; //缇佺粖
[SerializeField] Text[] fetterNameText; //缇佺粖
@@ -71,6 +81,20 @@
[SerializeField] Text starUPBtnText;
[SerializeField] Button washBtn;
+ //鍐荤粨澶勭悊
+ [SerializeField] Button freezeTipBtn;
+ [SerializeField] GameObject freezeTipGo;
+ [SerializeField] Text freezeStarText;
+ [SerializeField] Text freezeAawkeLVText;
+ [SerializeField] List<Image> starImgFreezeList;
+
+ //浼孩鐐圭敤鍥剧墖浠f浛
+ [SerializeField] Image redpointAwake;
+ [SerializeField] Image redpointGift;
+ [SerializeField] Image redpointLVUP;
+
+
+ Queue<HeroTrainAddAttrCell> lvupAttrQueue = new Queue<HeroTrainAddAttrCell>();
string guid;
HeroInfo hero;
@@ -98,11 +122,15 @@
});
lockBtn.AddListener(() => { hero.ChangeLockState(); });
- resetBtn.AddListener(ResetBtnClick);
+ resetBtn.AddListener(() =>
+ {
+ HeroUIManager.Instance.ResetBtnClick(hero);
+ });
deleteBtn.AddListener(DeleteHero);
awakeBtn.AddListener(() =>
{
- // UIManager.Instance.OpenWindow<HeroAwakeWin>(hero.heroId);
+ HeroUIManager.Instance.selectAwakeHeroGuid = guid;
+ UIManager.Instance.OpenWindow<HeroAwakeWin>();
});
inheritText.OnClick = () =>
{
@@ -135,6 +163,22 @@
});
starUPBtn.AddListener(StarUP);
+ washBtn.AddListener(Wash);
+
+ starBtn.AddListener(() =>
+ {
+ SmallTipWin.showText = Language.Get("HeroGift14", hero.heroStar);
+ SmallTipWin.worldPos = CameraManager.uiCamera.ScreenToWorldPoint(Input.mousePosition);
+ UIManager.Instance.OpenWindow<SmallTipWin>();
+ });
+
+ potentialCellList = new List<GameObject>();
+ awakeCellList = new List<GameObject>();
+
+ freezeTipBtn.AddListener(() =>
+ {
+ freezeTipGo.SetActive(!freezeTipGo.activeSelf);
+ });
}
@@ -143,10 +187,12 @@
PackManager.Instance.RefreshItemLockEvent += RefreshItemLockEvent;
HeroManager.Instance.onHeroChangeEvent += RefreshHeroEvent;
UIManager.Instance.OnCloseWindow += OnCloseWindow;
+ TeamManager.Instance.OnTeamChange += TeamPosChangeEvent;
guid = HeroUIManager.Instance.selectHeroGuid;
hero = HeroManager.Instance.GetHero(guid);
unfoldState = false;
addPerObject.SetActive(false);
+ allAttrScroll.verticalNormalizedPosition = 1;
Display();
}
@@ -155,6 +201,7 @@
PackManager.Instance.RefreshItemLockEvent -= RefreshItemLockEvent;
HeroManager.Instance.onHeroChangeEvent -= RefreshHeroEvent;
UIManager.Instance.OnCloseWindow -= OnCloseWindow;
+ TeamManager.Instance.OnTeamChange -= TeamPosChangeEvent;
}
private void OnCloseWindow(UIBase closeUI)
@@ -172,16 +219,16 @@
public void Display()
{
- roleLhModel.Create(hero.SkinID, HeroUIManager.lihuiScale, motionName: "", isLh: true);
- roleXsModel.Create(hero.SkinID);
+ bgTexture.SetTexture2D("countryBG" + hero.heroConfig.Country);
+ roleLhModel.Create(hero.SkinID, 1, motionName: "", isLh: true);
+ roleXsModel.Create(hero.SkinID, 1);
jobImg.SetSprite(HeroUIManager.Instance.GetJobIconName(hero.heroConfig.Class));
jobPosNameText.text = HeroUIManager.Instance.GetJobName(hero.heroConfig.Class);
descText.text = hero.heroConfig.Desc;
- fightPowerText.text = UIHelper.ReplaceLargeArtNum(hero.CalculatePower());
+ fightPowerText.text = UIHelper.ReplaceLargeArtNum(hero.CalculateFightPower());
PlayerMainDate.Instance.AddPowerNotOnTeam(hero);
lockImg.SetActive(hero.isLock);
unLockImg.SetActive(!hero.isLock);
- nameText.text = hero.breakLevel == 0 ? hero.heroConfig.Name : Language.Get("herocardbreaklv", hero.heroConfig.Name, hero.breakLevel);
RefreshConn();
normalSkillCell.Init(hero.heroConfig.AtkSkillID, () =>
@@ -201,6 +248,11 @@
RefreshAllPotential();
RefreshFetter();
RefreshGift();
+ RefreshAwake();
+ RefreshFreeze();
+ RefreshRedImg();
+
+ HeroUIManager.Instance.RemoveNewHero(hero.heroId);
}
void RefreshItemLockEvent(PackType type, string guid, bool lockState)
@@ -235,6 +287,7 @@
var index = HeroUIManager.Instance.heroSortList.IndexOf(guid);
if (index == -1)
return;
+ allAttrScroll.verticalNormalizedPosition = 1;
int resultIndex = index + changeValue;
//寰幆澶勭悊
if (resultIndex < 0)
@@ -250,74 +303,9 @@
Display();
}
- void ResetBtnClick()
- {
- //鍗囩骇銆佺獊鐮淬�佽閱�
- if (hero.heroLevel == 1 && hero.breakLevel == 0 && hero.awakeLevel == 0)
- {
- SysNotifyMgr.Instance.ShowTip("HeroCanNotReset");
- return;
- }
-
- List<Item> items = new List<Item>();
- var payBack1 = CommonFunc.AddDict(HeroUIManager.Instance.GetHeroLVPayBack(hero.Quality, hero.heroLevel),
- HeroUIManager.Instance.GetHeroBreakPayBack(hero.Quality, hero.breakLevel));
- //宸茶閱掔殑闇�瑕佹秷鑰楄揣甯�
- if (hero.awakeLevel == 0)
- {
- items = CommonFunc.ChangeToItemList(payBack1);
- ConfirmCancel.ShowItemsConfirm(items, Language.Get("herocard42"), Language.Get("herocard43"), (bool isOk) =>
- {
- if (isOk)
- {
- //鍙戝寘
- SendReborn(hero.itemHero.gridIndex);
- }
- });
- }
- else
- {
-
- if (HeroUIManager.Instance.awakeRebirthCnt >= HeroUIManager.Instance.rebornAwakeHeroMaxCount)
- {
- SysNotifyMgr.Instance.ShowTip("HeroRebornAwakeMax");
- return;
- }
-
- payBack1 = CommonFunc.AddDict(payBack1, HeroUIManager.Instance.GetHeroQualityAwakePayBack(hero.Quality, hero.awakeLevel));
- items = CommonFunc.ChangeToItemList(payBack1);
- var info2 = Language.Get("herocard44", HeroUIManager.Instance.awakeRebirthCnt);
- var payBackMoney = HeroQualityAwakeConfig.GetQualityAwakeConfig(hero.Quality, hero.awakeLevel).RebirthCostMoney;
- ConfirmCancel.ShowItemsConfirm(items, Language.Get("herocard42"), Language.Get("herocard43"), (bool isOk) =>
- {
- if (isOk)
- {
- if (UIHelper.GetMoneyCnt(HeroUIManager.Instance.payBackMoneyType) < payBackMoney)
- {
- ItemTipUtility.ShowMoneyTip(HeroUIManager.Instance.payBackMoneyType);
- return;
- }
- //鍙戝寘
- SendReborn(hero.itemHero.gridIndex);
- }
- }, info2, "", payBackMoney, HeroUIManager.Instance.payBackMoneyType);
-
- }
-
- }
-
- void SendReborn(int index)
- {
- var pack = new CB239_tagCSHeroRebirth();
- pack.ItemIndex = (ushort)index;
- GameNetSystem.Instance.SendInfo(pack);
-
- HeroUIManager.Instance.lastFightPower = new KeyValuePair<string, long>(hero.itemHero.guid, hero.CalculatePower(false));
-
- }
void DeleteHero()
{
@@ -356,6 +344,7 @@
{
RefreshStars();
nameText.text = hero.breakLevel == 0 ? hero.heroConfig.Name : Language.Get("herocardbreaklv", hero.heroConfig.Name, hero.breakLevel);
+
nameText.color = UIHelper.GetUIColorByFunc(hero.Quality);
if (hero.Quality >= 4)
@@ -417,8 +406,6 @@
if (!HeroUIManager.Instance.IsLVMax(hero))
{
lvupBtnText.text = Language.Get("L1109");
- lvupBtn.interactable = true;
- lvupBtn.SetColorful(null, true);
lvupMoneyIcon.SetActive(true);
if (HeroUIManager.Instance.IsLVMaxByBreakLevel(hero))
@@ -426,23 +413,23 @@
lvupBtnText.text = Language.Get("L1111");
var breakConfig = HeroQualityBreakConfig.GetQualityBreakConfig(hero.Quality, hero.breakLevel);
lvupMoneyIcon.SetOrgSprite(ItemConfig.Get(breakConfig.UPCostItem[0]).IconKey);
- lvupMoneyText.text = UIHelper.ShowUseItem(PackType.Item, breakConfig.UPCostItem[0], breakConfig.UPCostItem[1], TextColType.NavyBrown);
+ lvupMoneyText.text = UIHelper.ShowUseItem(PackType.Item, breakConfig.UPCostItem[0], breakConfig.UPCostItem[1]);
}
else
{
lvupBtnText.text = Language.Get("L1109");
var lvupConfig = HeroQualityLVConfig.GetQualityLVConfig(hero.Quality, hero.heroLevel);
lvupMoneyIcon.SetOrgSprite(ItemConfig.Get(lvupConfig.UPCostItem[0]).IconKey);
- lvupMoneyText.text = UIHelper.ShowUseItem(PackType.Item, lvupConfig.UPCostItem[0], lvupConfig.UPCostItem[1], TextColType.NavyBrown);
+ lvupMoneyText.text = UIHelper.ShowUseItem(PackType.Item, lvupConfig.UPCostItem[0], lvupConfig.UPCostItem[1]);
}
+ lvupBtn.SetInteractable(true);
}
else
{
lvupBtnText.text = Language.Get("L1110");
- lvupBtn.interactable = false;
- lvupBtn.SetColorful(null, false);
- lvupMoneyIcon.SetActive(false);
+ lvupBtn.SetInteractable(false);
+ lvupMoneyText.SetActive(false);
}
}
@@ -473,21 +460,38 @@
GameNetSystem.Instance.SendInfo(pack);
//棰勬樉绀�
lvupEffect.Play();
- addPerObject.SetActive(true);
- for (int i = 0; i < addPerText.Length; i++)
- {
- addPerText[i].text = "+" + PlayerPropertyConfig.GetValueDescription(PlayerPropertyConfig.basePerAttrs[i], hero.qualityConfig.LVAddPer);
- }
- addPerObject.Play(() =>
- {
- addPerObject.SetActive(false);
+ var cell = RequestCell();
+ cell.transform.localPosition = new Vector3(0, 0, 0);
+ cell.Display(hero.qualityConfig.LVAddPer, ()=>
+ {
+ cell.SetActive(false);
+ ReturnCell(cell);
});
- HeroUIManager.Instance.lastFightPower = new KeyValuePair<string, long>(hero.itemHero.guid, hero.CalculatePower(false));
+
+ HeroUIManager.Instance.lastFightPower = new KeyValuePair<string, long>(hero.itemHero.guid, hero.CalculateFightPower(false));
}
}
}
+
+
+ HeroTrainAddAttrCell RequestCell()
+ {
+
+ if (lvupAttrQueue.Count == 0)
+ {
+ return Instantiate(addPerObject, addPerParent);
+ }
+ return lvupAttrQueue.Dequeue();
+ }
+
+
+ void ReturnCell(HeroTrainAddAttrCell cell)
+ {
+ lvupAttrQueue.Enqueue(cell);
+ }
+
void RefreshAllPotential()
{
@@ -498,7 +502,6 @@
list.Sort();
- string allAttrStr = string.Empty;
for (int i = 0; i < list.Count; i++)
{
var nextQualityBreakConfig = HeroBreakConfig.GetHeroBreakConfig(hero.heroId, i + 1);
@@ -510,7 +513,8 @@
if (nextQualityBreakConfig.AttrIDList[j] == 0)
continue;
string format = i < hero.breakLevel ? "{0}" + UIHelper.AppendColor(TextColType.Green, "+{1}") : "{0}+{1}";
- attrStrArr.Add(PlayerPropertyConfig.GetFullDescription(nextQualityBreakConfig.AttrIDList[j], nextQualityBreakConfig.AttrValueList[j], format));
+ attrStrArr.Add((string.IsNullOrEmpty(nextQualityBreakConfig.SkillIName) ? string.Empty : Language.Get("L1039", nextQualityBreakConfig.SkillIName)) +
+ PlayerPropertyConfig.GetFullDescription(nextQualityBreakConfig.AttrIDList[j], nextQualityBreakConfig.AttrValueList[j], format));
}
if (nextQualityBreakConfig.SkillID != 0)
@@ -518,33 +522,46 @@
var skill = SkillConfig.Get(nextQualityBreakConfig.SkillID);
if (skill != null)
{
- attrStrArr.Add(skill.Description);
+ attrStrArr.Add(Language.Get("L1039", skill.SkillName) + skill.Description);
}
else
{
Debug.LogError("鏈厤缃妧鑳�" + nextQualityBreakConfig.SkillID);
}
}
-
-
+ if (i >= potentialCellList.Count)
+ {
+ potentialCellList.Add(Instantiate(potentialCell, potentialCellParent));
+ }
+ var go = potentialCellList[i];
+ var descText = go.GetComponent<Text>();
+ var nameText = go.GetComponent<Text>("skillname");
+ go.SetActive(true);
if (i < hero.breakLevel)
{
- allAttrStr += Language.Get("herocard63", i + 1, string.Join(Language.Get("L1112"), attrStrArr)) + "\n";
+ nameText.text = Language.Get("herocard63", i + 1);
+ descText.text = string.Join(Language.Get("L1112"), attrStrArr);
}
else
{
//缃伆
- allAttrStr += UIHelper.AppendColor(TextColType.NavyGray, Language.Get("herocard63", i + 1, string.Join(Language.Get("L1112"), attrStrArr))) + "\n";
+ nameText.text = UIHelper.AppendColor(TextColType.NavyGray, Language.Get("herocard63", i + 1));
+ descText.text = UIHelper.AppendColor(TextColType.NavyGray, UIHelper.RemoveColor(string.Join(Language.Get("L1112"), attrStrArr)));
}
}
-
- allPotentialText.text = allAttrStr.Trim();
}
//缇佺粖
void RefreshFetter()
{
+ if (hero.heroConfig.FetterIDList.Length == 0)
+ {
+ fetterGo.SetActive(false);
+ return;
+ }
+ fetterGo.SetActive(true);
+
for (int i = 0; i < fetterText.Length; i++)
{
if (i < hero.heroConfig.FetterIDList.Length)
@@ -570,9 +587,9 @@
attrStr += Language.Get("L1112") + PlayerPropertyConfig.GetFullDescription(fetterConfig.AttrIDList[j], fetterConfig.AttrValueList[j], format);
}
fetterText[i].text = attrStr;
- fetterText[i].color = UIHelper.GetUIColor(isAllCollect ? TextColType.NavyBrown : TextColType.Gray);
+ fetterText[i].color = UIHelper.GetUIColor(isAllCollect ? TextColType.NavyBrown : TextColType.NavyGray);
fetterNameText[i].text = fetterConfig.FetterName;
- fetterNameText[i].color = UIHelper.GetUIColor(isAllCollect ? TextColType.NavyBrown : TextColType.Gray);
+ fetterNameText[i].color = UIHelper.GetUIColor(isAllCollect ? TextColType.NavyBrown : TextColType.NavyGray);
}
else
@@ -584,97 +601,208 @@
void RefreshGift()
{
- RefreshGiftCell();
+ HeroUIManager.Instance.RefreshGiftCell(giftBaseCells, hero);
- if (hero.GetTotalStarCount() >= hero.GetMaxStarCount())
+ if (hero.heroStar >= HeroUIManager.Instance.GetMaxStarCount(hero.heroId, hero.Quality))
{
- starUPBtn.interactable = false;
- starUPBtn.SetColorful(null, false);
starUPBtnText.text = Language.Get("HeroGift7");
- }
- else if (hero.IsFullStar())
- {
- starUPBtn.interactable = true;
- starUPBtn.SetColorful(null, false);
- starUPBtnText.text = Language.Get("HeroGift3");
+ starUPBtn.SetInteractable(false);
}
else
{
- starUPBtn.interactable = true;
- starUPBtn.SetColorful(null, true);
starUPBtnText.text = Language.Get("HeroGift3");
+ starUPBtn.SetInteractable(true);
}
+
}
- void RefreshGiftCell()
- {
- //浼犺浠ヤ笅鍙湁4涓�
- int showCount = hero.Quality < 4 ? HeroUIManager.normalGiftMaxCnt : HeroUIManager.giftMaxCnt;
- for (int i = 0; i < giftBaseCells.Length; i++)
- {
- if (i >= showCount)
- {
- giftBaseCells[i].SetActive(false);
- continue;
- }
- giftBaseCells[i].SetActive(true);
- if (i < hero.talentIDList.Count)
- {
- int giftID = hero.talentIDList[i];
- int giftLV = hero.talentLvList[i];
- giftBaseCells[i].Init(giftID, giftLV, () =>
- {
- var giftConfig = HeroTalentConfig.Get(giftID);
- SmallTipWin.showText = Language.Get("SmallTipFomat", giftConfig.Name + " " + Language.Get("L1113", giftLV),
- Language.Get("HeroGift5", PlayerPropertyConfig.Get(giftConfig.AttrID).Name, PlayerPropertyConfig.GetValueDescription(giftConfig.AttrID, giftConfig.AttrValue)));
- SmallTipWin.worldPos = CameraManager.uiCamera.ScreenToWorldPoint(Input.mousePosition);
- UIManager.Instance.OpenWindow<SmallTipWin>();
- });
- }
- else
- {
- if (i < HeroUIManager.normalGiftMaxCnt)
- {
- giftBaseCells[i].Init(0, 0, () =>
- {
- SmallTipWin.showText = Language.Get("HeroGift1");
- SmallTipWin.worldPos = CameraManager.uiCamera.ScreenToWorldPoint(Input.mousePosition);
- UIManager.Instance.OpenWindow<SmallTipWin>();
- });
- }
- else
- {
- int index = i;
- giftBaseCells[i].Init(-1, 0, () =>
- {
- SmallTipWin.showText = Language.Get("HeroGift2", HeroAwakeConfig.GetAwakeLVByUnLockGiftIndex(hero.heroId, index));
- SmallTipWin.worldPos = CameraManager.uiCamera.ScreenToWorldPoint(Input.mousePosition);
- UIManager.Instance.OpenWindow<SmallTipWin>();
- });
- }
- }
-
- }
- }
void StarUP()
- {
- if (hero.GetTotalStarCount() >= hero.GetMaxStarCount())
+ {
+ if (hero.heroStar >= HeroUIManager.Instance.GetMaxStarCount(hero.heroId, hero.Quality))
{
return;
}
else if (hero.IsFullStar())
{
- starUPBtn.interactable = true;
- starUPBtn.SetColorful(null, false);
- starUPBtnText.text = Language.Get("HeroGift3");
+ SysNotifyMgr.Instance.ShowTip("HeroGift1");
+ return;
+ }
+
+ HeroUIManager.Instance.selectHeroGuidForGiftFunc = hero.itemHero.guid;
+ UIManager.Instance.OpenWindow<HeroGiftEatWin>();
+ }
+
+ void Wash()
+ {
+ if (hero.heroStar < HeroUIManager.Instance.canWashStarLevel)
+ {
+ SysNotifyMgr.Instance.ShowTip("HeroGift2", HeroUIManager.Instance.canWashStarLevel);
+ return;
+ }
+
+ HeroUIManager.Instance.selectWashHeroGUID = hero.itemHero.guid;
+ UIManager.Instance.OpenWindow<HeroGiftWashWin>();
+
+ }
+
+
+ void RefreshAwake()
+ {
+ if (!HeroAwakeConfig.CanAwake(hero.heroId, 1))
+ {
+ awakeGo.SetActive(false);
+ return;
+ }
+ awakeGo.SetActive(true);
+
+ var maxLV = HeroAwakeConfig.GetMaxAwakeLV(hero.heroId);
+ var starCnt = HeroQualityConfig.Get(hero.Quality).InitStarUpper;
+ for (int i = 1; i <= maxLV; i++)
+ {
+ if (i > awakeCellList.Count)
+ {
+ awakeCellList.Add(Instantiate(potentialCell, awakeCellParent));
+ }
+ var go = awakeCellList[i - 1];
+ var descText = go.GetComponent<Text>();
+ var nameText = go.GetComponent<Text>("skillname");
+ go.SetActive(true);
+
+ var config = HeroAwakeConfig.GetHeroAwakeConfig(hero.heroId, i);
+
+ int type = config.UnlockTalentSlot != 0 ? 1 : config.SkillID != 0 ? 2 : 3;
+ var awakeStr = string.Empty;
+ if (type == 1)
+ {
+ starCnt += config.AddStarUpper;
+ awakeStr = Language.Get("HeroAwake8", config.UnlockTalentSlot, starCnt);
+ }
+ else if (type == 2)
+ {
+ var skill = SkillConfig.Get(config.SkillID);
+ awakeStr = Language.Get("L1039", skill.SkillName) + skill.Description;
+ }
+ else
+ {
+ for (int k = 0; k < config.AttrIDList.Length; k++)
+ {
+ awakeStr += (string.IsNullOrEmpty(config.SkillIName) ? string.Empty : Language.Get("L1039", config.SkillIName)) +
+ PlayerPropertyConfig.GetFullDescription(config.AttrIDList[k], config.AttrValueList[k], "{0}+" + UIHelper.AppendColor(TextColType.Green, "{1}"))
+ + (k == config.AttrIDList.Length - 1 ? "" : "\n");
+ }
+ }
+
+ if (i - 1 < hero.awakeLevel)
+ {
+ nameText.text = Language.Get("herocard12", i) + Language.Get("L1096");
+ descText.text = awakeStr;
+ }
+ else
+ {
+ //缃伆
+ nameText.text = UIHelper.AppendColor(TextColType.NavyGray, Language.Get("herocard12", i) + Language.Get("L1096"));
+ descText.text = UIHelper.AppendColor(TextColType.NavyGray, UIHelper.RemoveColor(awakeStr));
+ }
+ }
+ }
+
+ void TeamPosChangeEvent(TeamType teamType)
+ {
+ if (teamType != TeamType.Story)
+ return;
+ fightPowerText.text = UIHelper.ReplaceLargeArtNum(hero.CalculateFightPower());
+ }
+
+ void RefreshFreeze()
+ {
+ //鑷冲皯闇�瑕佽閱掑埌澶氬皯绾�
+ int needAwakeLV = HeroUIManager.Instance.GetAwakeLVByStarLV(hero.heroId, hero.heroStarMaxBefore);
+ if (hero.awakeLevel < needAwakeLV)
+ {
+ freezeTipBtn.SetActive(true);
+ //鏄熺骇
+ for (int i = 0; i < starImgFreezeList.Count; i++)
+ {
+ if ((hero.heroStarMaxBefore - 1) % starImgFreezeList.Count >= i)
+ {
+ starImgFreezeList[i].SetActive(true);
+ starImgFreezeList[i].SetSprite("herostar" + (((hero.heroStarMaxBefore - 1) / starImgFreezeList.Count) + 1) * starImgFreezeList.Count);
+ }
+ else
+ {
+ starImgFreezeList[i].SetActive(false);
+ }
+ }
+ freezeStarText.text = Language.Get("HeroAwake16", hero.heroStarMaxBefore);
+ freezeAawkeLVText.text = Language.Get("HeroAwake17", needAwakeLV);
+
}
else
{
- starUPBtn.interactable = true;
- starUPBtn.SetColorful(null, true);
- starUPBtnText.text = Language.Get("HeroGift3");
+ freezeTipBtn.SetActive(false);
+ }
+
+ freezeTipGo.SetActive(false);
+ }
+
+ void RefreshRedImg()
+ {
+ redpointAwake.SetActive(false);
+ redpointGift.SetActive(false);
+ redpointLVUP.SetActive(false);
+ if (!hero.IsInTeamByTeamType(TeamType.Story))
+ {
+ return;
+ }
+
+
+ var heroCnt = PackManager.Instance.GetItemCountByID(PackType.Hero, hero.heroId);
+ var itemPack = PackManager.Instance.GetSinglePack(PackType.Item);
+
+ //5鏄熷悗鎵嶈兘瑙夐啋
+ if (hero.heroStar >= HeroUIManager.Instance.starLevelCanAwake)
+ {
+ //鍒ゆ柇瑙夐啋鏉愭枡鏄惁瓒冲
+ var maxAwakeLV = HeroAwakeConfig.GetMaxAwakeLV(hero.heroId);
+ if (hero.awakeLevel < maxAwakeLV)
+ {
+ var config = HeroQualityAwakeConfig.GetQualityAwakeConfig(hero.Quality, hero.awakeLevel);
+ if (itemPack.GetCountById(config.UPCostItem[0]) >= config.UPCostItem[1])
+ {
+ redpointAwake.SetActive(true);
+ }
+ }
+ }
+
+ if (heroCnt > 1)
+ {
+ redpointGift.SetActive(true);
+ }
+
+ var maxBreakLV = HeroBreakConfig.GetMaxBreakLv(hero.heroId);
+ if (hero.breakLevel < maxBreakLV)
+ {
+ if (HeroUIManager.Instance.IsLVMaxByBreakLevel(hero))
+ {
+ var breakConfig = HeroQualityBreakConfig.GetQualityBreakConfig(hero.Quality, hero.breakLevel);
+ if (itemPack.GetCountById(breakConfig.UPCostItem[0]) >= breakConfig.UPCostItem[1])
+ {
+ redpointLVUP.SetActive(true);
+ return;
+ }
+ return;
+ }
+ }
+
+ if (!HeroUIManager.Instance.IsLVMax(hero))
+ {
+ var lvupConfig = HeroQualityLVConfig.GetQualityLVConfig(hero.Quality, hero.heroLevel);
+ if (itemPack.GetCountById(lvupConfig.UPCostItem[0]) >= lvupConfig.UPCostItem[1])
+ {
+ redpointLVUP.SetActive(true);
+ }
}
}
}
\ No newline at end of file
--
Gitblit v1.8.0