From 87d5c46997d61523aed87fdb7ed0b07e9dded223 Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期二, 30 九月 2025 21:45:08 +0800 Subject: [PATCH] 0312 优化淘金派遣 --- Main/System/HeroUI/GiftBaseCell.cs | 66 +++++++++++++++++++++++++++++++- 1 files changed, 63 insertions(+), 3 deletions(-) diff --git a/Main/System/HeroUI/GiftBaseCell.cs b/Main/System/HeroUI/GiftBaseCell.cs index 56b9f68..cf7b6cc 100644 --- a/Main/System/HeroUI/GiftBaseCell.cs +++ b/Main/System/HeroUI/GiftBaseCell.cs @@ -97,6 +97,19 @@ } } + Image m_AwakeLockImg; //閲嶇敓闄嶄綆瑙夐啋绛夌骇閿佸畾鐨勫浘鐗� + Image awakeLockImg + { + get + { + if (m_AwakeLockImg == null) + { + m_AwakeLockImg = this.transform.GetComponent<Image>("Container_GiftCell/lock"); + } + return m_AwakeLockImg; + } + } + void Awake() @@ -106,9 +119,9 @@ //showState 0锛氫笉鏄剧ず 1锛氭柊澧� 2锛氭彁鍗� //giftID 0 :浠h〃鐏拌壊闇�鍗囨槦婵�娲� -1锛氫唬琛ㄦ鑹查渶瑙夐啋婵�娲伙紝鍏朵粬鏍规嵁閰嶈〃锛屾病鏈夊ぉ璧嬬殑澶栧眰鎺у埗鏄鹃殣 - public void Init(int giftID, int lv, UnityAction onclick = null, int showState = 0) + public void Init(int giftID, int lv, int showState = 0, int heroID = 0, int index = 0, int awakeLevel = 0) { - giftBtn.AddListener(onclick); + LoadPrefab(); //瀛樺湪琚嵏杞界殑鍙兘锛岄噸鏂板姞杞� if (HeroTalentConfig.HasKey(giftID)) { var config = HeroTalentConfig.Get(giftID); @@ -121,6 +134,16 @@ 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 { @@ -128,8 +151,45 @@ 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) { @@ -220,7 +280,7 @@ } scale = width / rect.sizeDelta.x; - cellContainer.transform.localScale = new Vector3(scale, scale, scale); + cellContainer.transform.localScale = cellContainer.transform.localScale * scale; } } -- Gitblit v1.8.0