| Main/Component/UI/Core/GradientText.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Main/MainWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Main/Component/UI/Core/GradientText.cs
@@ -31,7 +31,6 @@ Horizontal, // 水平渐变 Vertical, // 垂直渐变 Diagonal, // 对角线渐变 Radial, // 径向渐变 Custom // 自定义四角颜色 } @@ -154,19 +153,7 @@ SetVerticesDirty(); } /// <summary> /// 设置径向渐变颜色 /// </summary> public void SetRadialGradient(Color centerColor, Color edgeColor) { m_GradientType = GradientType.Radial; m_TopLeftColor = edgeColor; m_TopRightColor = edgeColor; m_BottomLeftColor = edgeColor; m_BottomRightColor = edgeColor; // 径向渐变需要在顶点着色器中处理 SetVerticesDirty(); } protected override void OnPopulateMesh(VertexHelper vh) { @@ -221,21 +208,21 @@ return Color.Lerp(m_TopLeftColor, m_TopRightColor, x); case GradientType.Vertical: return Color.Lerp(m_TopLeftColor, m_BottomLeftColor, y); return Color.Lerp(m_TopLeftColor, m_BottomLeftColor, 1 - y); case GradientType.Diagonal: return Color.Lerp(m_TopLeftColor, m_BottomRightColor, (x + y) * 0.5f); // 对角线渐变:从左上到右下 // 使用更准确的对角线计算,确保从左上到右下的渐变 var diagonalFactor = Mathf.Clamp01((x + (1 - y)) * 0.5f); return Color.Lerp(m_TopLeftColor, m_BottomRightColor, diagonalFactor); case GradientType.Radial: var center = new Vector2(0.5f, 0.5f); var distance = Vector2.Distance(new Vector2(x, y), center); return Color.Lerp(m_TopLeftColor, m_BottomRightColor, distance * 2f); case GradientType.Custom: // 双线性插值 // 双线性插值:修正Y轴方向 var topColor = Color.Lerp(m_TopLeftColor, m_TopRightColor, x); var bottomColor = Color.Lerp(m_BottomLeftColor, m_BottomRightColor, x); return Color.Lerp(topColor, bottomColor, y); return Color.Lerp(topColor, bottomColor, 1 - y); default: return color; Main/System/Main/MainWin.cs
@@ -28,6 +28,7 @@ [SerializeField] UIEffectPlayer openCloseAnim; [SerializeField] FillTween cdTween; [SerializeField] Text hammerText; [SerializeField] Text multiFightText; bool isForcePlayFightUIAnim = true; //强制播放战斗锤子框动画 @@ -54,6 +55,7 @@ PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefresh; AutoFightModel.Instance.OnFightEvent += OnSkillCast; RenameManager.Instance.OnUpdateRenameResultEvent += OnUpdateRenameResultEvent; UIManager.Instance.OnCloseWindow += OnCloseWindow; base.OnPreOpen(); // 刷新UI @@ -65,6 +67,7 @@ PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefresh; AutoFightModel.Instance.OnFightEvent -= OnSkillCast; RenameManager.Instance.OnUpdateRenameResultEvent -= OnUpdateRenameResultEvent; UIManager.Instance.OnCloseWindow -= OnCloseWindow; base.OnPreClose(); isForcePlayFightUIAnim = true; } @@ -79,6 +82,13 @@ topBar.SetActive(functionOrder == 0 || functionOrder == 2); } void OnCloseWindow(UIBase _ui) { if (_ui.name == "AutoFightWin") { multiFightText.text = Language.Get("MultiFight", AutoFightModel.Instance.fightCost); } } //战斗按钮动画 void ClickAnimation(int index) @@ -293,6 +303,7 @@ fightOtherWinBG.SetActive(false); fightOtherWinWarnImg.SetActive(false); fightBG.SetActive(true); multiFightText.text = Language.Get("MultiFight", AutoFightModel.Instance.fightCost); if (BattleManager.Instance.storyBattleField != null && @@ -313,6 +324,7 @@ { //非主城界面 fightOtherWinBG.SetActive(true); multiFightText.text = ""; fightBG.SetActive(false); if (BattleManager.Instance.storyBattleField != null && BattleManager.Instance.storyBattleField.GetBattleMode() == BattleMode.Stop)