diff --git a/UnityProject/Assets/GameScripts/HotFix/GameLogic/Manager/DataGameSceneManager.cs b/UnityProject/Assets/GameScripts/HotFix/GameLogic/Manager/DataGameSceneManager.cs index 212eb3fa..6a9b419f 100644 --- a/UnityProject/Assets/GameScripts/HotFix/GameLogic/Manager/DataGameSceneManager.cs +++ b/UnityProject/Assets/GameScripts/HotFix/GameLogic/Manager/DataGameSceneManager.cs @@ -9,6 +9,7 @@ using System; using DG.Tweening; using Coffee.UIExtensions; using Cysharp.Threading.Tasks; +using System.Threading.Tasks; namespace GameLogic { @@ -566,7 +567,7 @@ namespace GameLogic /// /// /// - private void TtqGiftFunc(GiftConfig giftConfig, int num, UnitPlayerData unitPlayerData) + private async Task TtqGiftFunc(GiftConfig giftConfig, int num, UnitPlayerData unitPlayerData) { // 给自己赛道添加无敌Buff var actor = GetTeamActor(unitPlayerData.teamId); @@ -588,6 +589,7 @@ namespace GameLogic { if (item.Value != actor) { + await UniTask.Delay(500); // 添加减速Buff Buff m_Buff1 = new Buff(); m_Buff1.OnInit(giftConfig.Id, giftConfig.AddPower * num, giftConfig.TimerLen, giftConfig.AddGiftScore, num); diff --git a/UnityProject/Assets/GameScripts/HotFix/GameLogic/UI/UIGameBattle.cs b/UnityProject/Assets/GameScripts/HotFix/GameLogic/UI/UIGameBattle.cs index f055d337..b467e7a8 100644 --- a/UnityProject/Assets/GameScripts/HotFix/GameLogic/UI/UIGameBattle.cs +++ b/UnityProject/Assets/GameScripts/HotFix/GameLogic/UI/UIGameBattle.cs @@ -296,20 +296,33 @@ namespace GameLogic } + + public GameObject m_TestEgo = null; /// /// 甜甜圈特效 /// private async void TtqEffectCreateFunc(GiftConfig giftConfig) { - var m_Ego = GameModule.Resource.LoadGameObject("TTQ01"); - m_Ego.transform.SetParent(this.transform); - m_Ego.transform.localPosition = Vector3.zero; - m_Ego.transform.localScale = Vector3.one; + // 判断场景是否存在这个资源 + if (m_TestEgo != null) + { + return; + } + else + { + var m_Ego = GameModule.Resource.LoadGameObject("TTQ01"); + m_TestEgo = m_Ego; + m_Ego.transform.SetParent(this.transform); + m_Ego.transform.localPosition = Vector3.zero; + m_Ego.transform.localScale = Vector3.one; + + // 设置时间消失 + await UniTask.Delay(giftConfig.TimerLen * 1000); + GameObject.Destroy(m_Ego); + m_TestEgo = null; + } - // 设置时间消失 - await UniTask.Delay(giftConfig.TimerLen * 1000); - GameObject.Destroy(m_Ego); } private async void AddGiftMessageFunc(UnitPlayerData unitPlayerData, GiftConfig giftConfig, int num)