伸缩问题

This commit is contained in:
DESKTOP-SAJ6RKV\Administrator 2025-06-26 15:24:45 +08:00
parent 26a987c08a
commit 78835b6ddc
2 changed files with 15 additions and 2 deletions

View File

@ -269,12 +269,17 @@ namespace GameLogic
List<GameObject> m_ListEgo = new List<GameObject>(); List<GameObject> m_ListEgo = new List<GameObject>();
private bool m_IsFillAnimPlaying = false;
public void SetCurrenFill() public void SetCurrenFill()
{ {
if (m_IsFillAnimPlaying)
return; // 动画正在播放,直接返回
m_IsFillAnimPlaying = true;
// 给进度条一个缩减回弹效果 // 给进度条一个缩减回弹效果
float originalFill = m_CurrentFillAmount; float originalFill = m_CurrentFillAmount;
float shrinkTo = Mathf.Max(0.1f, originalFill - 0.2f); // 缩到原值-0.4最小0.1 float shrinkTo = Mathf.Max(0.1f, originalFill - 0.2f); // 缩到原值-0.2最小0.1
DOTween.To( DOTween.To(
() => m_imgValue.fillAmount, () => m_imgValue.fillAmount,
x => m_imgValue.fillAmount = x, x => m_imgValue.fillAmount = x,
@ -285,10 +290,15 @@ namespace GameLogic
() => m_imgValue.fillAmount, () => m_imgValue.fillAmount,
x => m_imgValue.fillAmount = x, x => m_imgValue.fillAmount = x,
originalFill, 0.35f originalFill, 0.35f
).SetEase(Ease.OutElastic); ).SetEase(Ease.OutElastic)
.OnComplete(() =>
{
m_IsFillAnimPlaying = false; // 动画播放完毕,允许再次播放
});
}); });
} }
/// <summary> /// <summary>
/// 增加礼物推力效果 /// 增加礼物推力效果
/// </summary> /// </summary>

View File

@ -876,6 +876,7 @@ namespace GameLogic
}); });
var JszSignal = GameModule.Resource.LoadAsset<SignalAsset>("JszSignal"); var JszSignal = GameModule.Resource.LoadAsset<SignalAsset>("JszSignal");
eGo.GetComponent<SignalReceiver>().GetReaction(JszSignal).RemoveAllListeners();
eGo.GetComponent<SignalReceiver>().GetReaction(JszSignal).AddListener(() => eGo.GetComponent<SignalReceiver>().GetReaction(JszSignal).AddListener(() =>
{ {
hItemActors[1].actor.SetCurrenFill(); hItemActors[1].actor.SetCurrenFill();
@ -898,10 +899,12 @@ namespace GameLogic
var JszSignal = GameModule.Resource.LoadAsset<SignalAsset>("JszSignal"); var JszSignal = GameModule.Resource.LoadAsset<SignalAsset>("JszSignal");
eGo.GetComponent<SignalReceiver>().GetReaction(JszSignal).RemoveAllListeners();
eGo.GetComponent<SignalReceiver>().GetReaction(JszSignal).AddListener(() => eGo.GetComponent<SignalReceiver>().GetReaction(JszSignal).AddListener(() =>
{ {
hItemActors[0].actor.SetCurrenFill(); hItemActors[0].actor.SetCurrenFill();
}); });
} }
}, 2); }, 2);