From 485db99b5c51a971c173664cf6e808dc8424b0a0 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期五, 17 十月 2025 17:19:51 +0800
Subject: [PATCH] 136 子 【挑战】战锤秘境 / 【挑战】战锤秘境-客户端 移除错误接入
---
Main/System/HeroUI/GiftBaseCell.cs | 121 +++++++++++++++++++++++++++++++++++-----
1 files changed, 106 insertions(+), 15 deletions(-)
diff --git a/Main/System/HeroUI/GiftBaseCell.cs b/Main/System/HeroUI/GiftBaseCell.cs
index abb5897..cf7b6cc 100644
--- a/Main/System/HeroUI/GiftBaseCell.cs
+++ b/Main/System/HeroUI/GiftBaseCell.cs
@@ -45,6 +45,19 @@
}
}
+ OutlineEx m_TextOutline;
+ OutlineEx textOutline
+ {
+ get
+ {
+ if (m_TextOutline == null)
+ {
+ m_TextOutline = this.transform.GetComponent<OutlineEx>("Container_GiftCell/name");
+ }
+ return m_TextOutline;
+ }
+ }
+
Transform m_LvRect;
Transform lvRect
{
@@ -65,7 +78,7 @@
{
if (m_LvText == null)
{
- m_LvText = this.transform.GetComponent<Text>("Container_GiftCell/lv");
+ m_LvText = this.transform.GetComponent<Text>("Container_GiftCell/lvrect/lv");
}
return m_LvText;
}
@@ -84,39 +97,99 @@
}
}
+ Image m_AwakeLockImg; //閲嶇敓闄嶄綆瑙夐啋绛夌骇閿佸畾鐨勫浘鐗�
+ Image awakeLockImg
+ {
+ get
+ {
+ if (m_AwakeLockImg == null)
+ {
+ m_AwakeLockImg = this.transform.GetComponent<Image>("Container_GiftCell/lock");
+ }
+ return m_AwakeLockImg;
+ }
+ }
+
+
+
void Awake()
{
LoadPrefab();
}
//showState 0锛氫笉鏄剧ず 1锛氭柊澧� 2锛氭彁鍗�
- //giftID 0 :浠h〃鏈縺娲荤伆鑹� -1锛氫唬琛ㄤ笉鑳芥縺娲� 妫曡壊锛屽叾浠栨牴鎹厤琛�
- private void Init(int giftID, int lv, UnityAction onclick = null, int showState = 0)
+ //giftID 0 :浠h〃鐏拌壊闇�鍗囨槦婵�娲� -1锛氫唬琛ㄦ鑹查渶瑙夐啋婵�娲伙紝鍏朵粬鏍规嵁閰嶈〃锛屾病鏈夊ぉ璧嬬殑澶栧眰鎺у埗鏄鹃殣
+ public void Init(int giftID, int lv, int showState = 0, int heroID = 0, int index = 0, int awakeLevel = 0)
{
+ LoadPrefab(); //瀛樺湪琚嵏杞界殑鍙兘锛岄噸鏂板姞杞�
if (HeroTalentConfig.HasKey(giftID))
{
var config = HeroTalentConfig.Get(giftID);
qualityBG.SetSprite("GiftQualityBG" + config.Quality);
- giftBtn.AddListener(onclick);
giftName.text = config.Name;
+ giftName.color = GetColor(config.Quality);
+ textOutline.OutlineColor = GetOutlineColor(config.Quality);
lvText.text = lv.ToString();
- lvText.color = GetColor(1);
- Outline textOutline = lvText.GetComponent<Outline>();
- textOutline.effectColor = GetOutlineColor(config.Quality);
lvRect.SetActive(lv > 0);
stateImg.SetActive(showState > 0);
stateImg.SetSprite("GiftState" + showState);
stateImg.SetNativeSize();
+
+ //鐗规畩澶勭悊閲嶇敓闄嶄綆瑙夐啋绛夌骇閿佸畾鐨勫ぉ璧�
+ if (index >= HeroUIManager.Instance.normalGiftMaxCnt)
+ {
+ awakeLockImg.SetActive(HeroAwakeConfig.GetAwakeLVByUnLockGiftIndex(heroID, index) > awakeLevel);
+ }
+ else
+ {
+ awakeLockImg.SetActive(false);
+ }
}
else
{
qualityBG.SetSprite("GiftQualityBG" + giftID);
- giftBtn.RemoveAllListeners();
giftName.text = string.Empty;
lvRect.SetActive(false);
stateImg.SetActive(false);
+ awakeLockImg.SetActive(false);
+ }
+ giftBtn.AddListener(() => { ShowSmallTip(giftID, lv, heroID, index, awakeLevel); });
+ }
+
+ void ShowSmallTip(int giftID, int giftLV, int heroID, int index, int awakeLevel)
+ {
+ SmallTipWin.worldPos = CameraManager.uiCamera.ScreenToWorldPoint(Input.mousePosition);
+ if (giftID > 0)
+ {
+ 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*giftLV)));
+
+ if (index >= HeroUIManager.Instance.normalGiftMaxCnt)
+ {
+ int needAwakeLV = HeroAwakeConfig.GetAwakeLVByUnLockGiftIndex(heroID, index);
+ if (needAwakeLV > awakeLevel)
+ {
+ SmallTipWin.showText += "\n" + Language.Get("HeroAwake18", needAwakeLV);
+ }
+ }
+
+
+ UIManager.Instance.OpenWindow<SmallTipWin>();
+
+ }
+ else if (giftID == 0)
+ {
+ SmallTipWin.showText = Language.Get("HeroGift1");
+ UIManager.Instance.OpenWindow<SmallTipWin>();
+ }
+ else if (giftID == -1)
+ {
+ SmallTipWin.showText = Language.Get("HeroGift2", HeroAwakeConfig.GetAwakeLVByUnLockGiftIndex(heroID, index));
+ UIManager.Instance.OpenWindow<SmallTipWin>();
}
}
+
Color32 GetColor(int quality)
{
@@ -148,24 +221,24 @@
if (quality == 1)
{
//692088
- return new Color32(105, 32, 136, 255);
+ return new Color32(105, 32, 136, 128);
}
else if (quality == 2)
{
//886220
- return new Color32(136, 98, 32, 255);
+ return new Color32(136, 98, 32, 128);
}
else if (quality == 3)
{
//884a20
- return new Color32(136, 74, 32, 255);
+ return new Color32(136, 74, 32, 128);
}
else if (quality == 4)
{
//882020
- return new Color32(136, 32, 32, 255);
+ return new Color32(136, 32, 32, 128);
}
- return new Color32(255, 255, 255, 255);
+ return new Color32(0, 0, 0, 128);
}
GameObject cellContainer;
@@ -174,7 +247,7 @@
if (cellContainer != null)
return;
- var tmp = transform.Find("Container_SkillCell");
+ var tmp = transform.Find("Container_GiftCell");
if (tmp != null)
{
cellContainer = tmp.gameObject;
@@ -182,7 +255,7 @@
}
if (cellContainer == null)
{
- cellContainer = UIUtility.CreateWidget("SkillBaseCell", "Container_SkillCell");
+ cellContainer = UIUtility.CreateWidget("GiftBaseCell", "Container_GiftCell");
if (cellContainer != null)
{
@@ -190,6 +263,24 @@
cellContainer.transform.SetAsFirstSibling();
}
}
+
+ //缂╂斁鍒板拰鐖秗ect涓�鏍峰ぇ
+ var scale = 1f;
+ var rect = cellContainer.GetComponent<RectTransform>();
+ var parentRect = transform.GetComponent<RectTransform>();
+ float width = parentRect.sizeDelta.x;
+ if (width <= 0f)
+ {
+ //澶栭儴鎺у埗浜嗗昂瀵歌幏鍙栦负0
+ GridLayoutGroup grid = GetComponentInParent<GridLayoutGroup>();
+ if (grid != null)
+ {
+ width = grid.cellSize.x;
+ }
+
+ }
+ scale = width / rect.sizeDelta.x;
+ cellContainer.transform.localScale = cellContainer.transform.localScale * scale;
}
}
--
Gitblit v1.8.0