From fd06468aa41a5189f4d0e6b40614aebff9eb911e Mon Sep 17 00:00:00 2001 From: "DESKTOP-SAJ6RKV\\Administrator" Date: Thu, 26 Jun 2025 11:57:10 +0800 Subject: [PATCH] 1 --- .../HotFix/GameLogic/Actor/ActorHItem.cs | 2 +- .../GameLogic/Manager/DataGameSceneManager.cs | 150 +++++++++--------- .../HotFix/GameLogic/UI/UIGameBattle.cs | 24 +-- 3 files changed, 83 insertions(+), 93 deletions(-) diff --git a/UnityProject/Assets/GameScripts/HotFix/GameLogic/Actor/ActorHItem.cs b/UnityProject/Assets/GameScripts/HotFix/GameLogic/Actor/ActorHItem.cs index ddf1124c..b133e54f 100644 --- a/UnityProject/Assets/GameScripts/HotFix/GameLogic/Actor/ActorHItem.cs +++ b/UnityProject/Assets/GameScripts/HotFix/GameLogic/Actor/ActorHItem.cs @@ -564,7 +564,7 @@ namespace GameLogic eGoBoom.transform.DOLocalMoveX(0, 3f).OnComplete(async () => { // 特效播放完毕后销毁 - GameObject.Destroy(eGo); + GameObject.Destroy(eGoBoom); }); diff --git a/UnityProject/Assets/GameScripts/HotFix/GameLogic/Manager/DataGameSceneManager.cs b/UnityProject/Assets/GameScripts/HotFix/GameLogic/Manager/DataGameSceneManager.cs index 07474275..9f6face3 100644 --- a/UnityProject/Assets/GameScripts/HotFix/GameLogic/Manager/DataGameSceneManager.cs +++ b/UnityProject/Assets/GameScripts/HotFix/GameLogic/Manager/DataGameSceneManager.cs @@ -21,6 +21,7 @@ namespace GameLogic public List m_TeamSortList = new List(); // 用于排序的阵营列表数据 public Dictionary m_DicTeamList = new Dictionary(); + public List<(ActorHItem actor, double score)> hItemActors = new List<(ActorHItem, double)>(); public float m_GameTimerLen = 0; public List m_Strs = new List() { "陈", "王", "李", "张", "刘", "杨", "黄", "赵", "吴", "周", @@ -852,88 +853,91 @@ namespace GameLogic actor.AddBuff(m_Buff, unitPlayerData, giftConfig); - await UniTask.Delay(2000); + //await UniTask.Delay(2000); - // 排序 - DataGameSceneManager.Instance.m_TeamSortList.Sort((a, b) => + //// 排序 + //DataGameSceneManager.Instance.m_TeamSortList.Sort((a, b) => + //{ + // if (a.GetAllPower() > b.GetAllPower()) + // { + // return -1; + // } + // else + // { + // return 1; + // } + //}); + + + GameModule.Timer.AddTimer(async (e) => { - if (a.GetAllPower() > b.GetAllPower()) + + + + for (int i = 0; i < DataGameSceneManager.Instance.m_TeamSortList.Count; i++) { - return -1; + if (DataGameSceneManager.Instance.m_TeamSortList[i] == actor) + { + continue; + } + + + await UniTask.Delay(500); + + // 添加减速Buff + Buff m_Buff1 = new Buff(); + m_Buff1.OnInit(giftConfig.Id, giftConfig.AddPower * num, giftConfig.TimerLen, giftConfig.AddGiftScore, num); + DataGameSceneManager.Instance.m_TeamSortList[i].AddBuff(m_Buff1, unitPlayerData, giftConfig); + } + + + + // 生成手指特效 + if (hItemActors[0].actor == actor) + { + // 自己是第一名,则给第二名生成一个特效 + // 添加减速Buff给到 + var eGo = GameModule.Resource.LoadGameObject("JSZ"); + eGo.transform.SetParent(hItemActors[1].actor.GetRect().transform); + eGo.transform.localPosition = new Vector3(0, 0, 0); + eGo.transform.localScale = Vector3.one * 0.5f; + + // 移动特效 + eGo.transform.DOLocalMoveX(-1, 45f).OnComplete(() => + { + GameObject.Destroy(eGo); + }); + + var JszSignal = GameModule.Resource.LoadAsset("JszSignal"); + eGo.GetComponent().GetReaction(JszSignal).AddListener(() => + { + hItemActors[1].actor.SetCurrenFill(); + }); } else { - return 1; - } - }); + // 给第一名生成一个特效 + // 添加减速Buff给到 + var eGo = GameModule.Resource.LoadGameObject("JSZ"); + eGo.transform.SetParent(hItemActors[0].actor.GetRect().transform); + eGo.transform.localPosition = new Vector3(0, 0, 0); + eGo.transform.localScale = Vector3.one * 0.5f; - for (int i = 0; i < DataGameSceneManager.Instance.m_TeamSortList.Count; i++) - { - if (DataGameSceneManager.Instance.m_TeamSortList[i] == actor) - { - continue; + // 移动特效 + eGo.transform.DOLocalMoveX(-1, 45f).OnComplete(() => + { + GameObject.Destroy(eGo); + }); + + + var JszSignal = GameModule.Resource.LoadAsset("JszSignal"); + eGo.GetComponent().GetReaction(JszSignal).AddListener(() => + { + hItemActors[0].actor.SetCurrenFill(); + }); } - - await UniTask.Delay(500); - - // 添加减速Buff - Buff m_Buff1 = new Buff(); - m_Buff1.OnInit(giftConfig.Id, giftConfig.AddPower * num, giftConfig.TimerLen, giftConfig.AddGiftScore, num); - DataGameSceneManager.Instance.m_TeamSortList[i].AddBuff(m_Buff1, unitPlayerData, giftConfig); - } - - - - // 生成手指特效 - if (DataGameSceneManager.Instance.m_TeamSortList[0] == actor) - { - // 自己是第一名,则给第二名生成一个特效 - // 添加减速Buff给到 - var eGo = GameModule.Resource.LoadGameObject("JSZ"); - eGo.transform.SetParent(DataGameSceneManager.Instance.m_TeamSortList[1].GetRect().transform); - eGo.transform.localPosition = new Vector3(0, 0, 0); - eGo.transform.localScale = Vector3.one * 0.5f; - - // 移动特效 - eGo.transform.DOLocalMoveX(-1, 45f).OnComplete(() => - { - GameObject.Destroy(eGo); - }); - - var JszSignal = GameModule.Resource.LoadAsset("JszSignal"); - eGo.GetComponent().GetReaction(JszSignal).AddListener(() => - { - DataGameSceneManager.Instance.m_TeamSortList[1].SetCurrenFill(); - }); - } - else - { - // 给第一名生成一个特效 - // 添加减速Buff给到 - var eGo = GameModule.Resource.LoadGameObject("JSZ"); - eGo.transform.SetParent(DataGameSceneManager.Instance.m_TeamSortList[0].GetRect().transform); - eGo.transform.localPosition = new Vector3(0, 0, 0); - eGo.transform.localScale = Vector3.one * 0.5f; - - // 移动特效 - eGo.transform.DOLocalMoveX(-1, 45f).OnComplete(() => - { - GameObject.Destroy(eGo); - }); - - - var JszSignal = GameModule.Resource.LoadAsset("JszSignal"); - eGo.GetComponent().GetReaction(JszSignal).AddListener(() => - { - DataGameSceneManager.Instance.m_TeamSortList[1].SetCurrenFill(); - }); - } - - - - - + }, 2); // 告知UI,创建全屏特效 GameEvent.Send(EventConts.TtqEffectCreate, giftConfig); diff --git a/UnityProject/Assets/GameScripts/HotFix/GameLogic/UI/UIGameBattle.cs b/UnityProject/Assets/GameScripts/HotFix/GameLogic/UI/UIGameBattle.cs index a3fe7ae2..ada8c47c 100644 --- a/UnityProject/Assets/GameScripts/HotFix/GameLogic/UI/UIGameBattle.cs +++ b/UnityProject/Assets/GameScripts/HotFix/GameLogic/UI/UIGameBattle.cs @@ -10,6 +10,8 @@ using Coffee.UIExtensions; using UnityEngine.Video; using System.Xml.Linq; using System; +using DG.Tweening; +using UnityEngine.Timeline; namespace GameLogic { @@ -604,25 +606,6 @@ namespace GameLogic private async void TtqEffectCreateFunc(GiftConfig giftConfig) { - //// 判断场景是否存在这个资源 - //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; - //} - } private async void AddGiftMessageFunc(UnitPlayerData unitPlayerData, GiftConfig giftConfig, int num) @@ -704,6 +687,7 @@ namespace GameLogic { // Create a list to hold the HItemActors and their scores List<(ActorHItem actor, double score)> hItemActors = new List<(ActorHItem, double)>(); + //hItemActors.Clear(); // Populate the list with HItemActors and their scores for (int i = 0; i < m_rectHPanel.childCount; i++) @@ -732,6 +716,8 @@ namespace GameLogic rectTransform.SetSiblingIndex(i); } + DataGameSceneManager.Instance.hItemActors = hItemActors; // 更新全局变量 + } }