This commit is contained in:
DESKTOP-SAJ6RKV\Administrator 2025-06-28 18:35:19 +08:00
parent 3dce727aed
commit 2219757bec
3 changed files with 37 additions and 1 deletions

View File

@ -82,6 +82,8 @@ namespace GameLogic
public const string GuanJunShiKe = "GuanJunShiKe";
public const string UIDianZan = "UIDianZan";
public const string UIHDWMSP = "UIHDWMSP";
public const string UIDouDong = "UIDouDong";
#endregion

View File

@ -887,6 +887,7 @@ namespace GameLogic
//hItemActors[1].actor.SetCurrenFill();
targetActor.m_AllPush -= (int)(EventConts.JszPower * 10);
targetActor.SetCurrenFill();
GameEvent.Send(EventConts.UIDouDong);
//eGo.transform.parent.parent.parent.parent.GetComponent<ActorHItem>().SetCurrenFill();
});
}
@ -913,6 +914,7 @@ namespace GameLogic
//targetActor.m_AllPush -= EventConts.JszPower;
targetActor.m_AllPush -= (int)(EventConts.JszPower * 10);
targetActor.SetCurrenFill();
GameEvent.Send(EventConts.UIDouDong);
//eGo.transform.parent.parent.parent.parent.GetComponent<ActorHItem>().SetCurrenFill();
});

View File

@ -319,6 +319,7 @@ namespace GameLogic
GameEvent.AddEventListener<string>(EventConts.UIDianZan, UIDianZanFunc);
GameEvent.AddEventListener<UnitPlayerData, string>(EventConts.UIHDWMSP, AddHdWmspFunc);
GameEvent.AddEventListener<UnitPlayerData, GiftConfig, int>(EventConts.AddGiftMessage, AddGiftMessageFunc);
GameEvent.AddEventListener(EventConts.UIDouDong, UIDouDongFunc);
}
@ -334,12 +335,43 @@ namespace GameLogic
GameEvent.RemoveEventListener<string>(EventConts.UIDianZan, UIDianZanFunc);
GameEvent.RemoveEventListener<UnitPlayerData, string>(EventConts.UIHDWMSP, AddHdWmspFunc);
GameEvent.RemoveEventListener<UnitPlayerData, GiftConfig, int>(EventConts.AddGiftMessage, AddGiftMessageFunc);
GameEvent.RemoveEventListener(EventConts.UIDouDong, UIDouDongFunc);
// 主界面销毁的时候应该停止所有
GameModule.Timer.RemoveTimer(m_LishiId);
}
bool isShaking = false;
private void UIDouDongFunc()
{
if (isShaking) return; // 抖动过程中不能再次进入
var rect = this.gameObject.GetComponent<RectTransform>();
if (rect != null)
{
ShakeRectTransformSequence(rect);
}
}
private void ShakeRectTransformSequence(RectTransform rect)
{
isShaking = true;
Sequence seq = DOTween.Sequence();
for (int i = 0; i < 10; i++)
{
float duration = UnityEngine.Random.Range(0.08f, 0.15f);
float strength = UnityEngine.Random.Range(20f, 40f);
int vibrato = UnityEngine.Random.Range(8, 14);
float randomness = UnityEngine.Random.Range(80f, 120f);
// 每次抖动后加一个AppendInterval保证有序
seq.Append(rect.DOShakePosition(duration, strength, vibrato, randomness, false, true));
}
seq.OnComplete(() => isShaking = false);
}
private void UIDianZanFunc(string nickName)
{
CreateWidgetByPrefab<UIDianZanItem>(m_rect_Dz.gameObject).OnInit(nickName);