This commit is contained in:
DESKTOP-SAJ6RKV\Administrator 2025-06-26 11:57:10 +08:00
parent 153c170409
commit fd06468aa4
3 changed files with 83 additions and 93 deletions

View File

@ -564,7 +564,7 @@ namespace GameLogic
eGoBoom.transform.DOLocalMoveX(0, 3f).OnComplete(async () =>
{
// 特效播放完毕后销毁
GameObject.Destroy(eGo);
GameObject.Destroy(eGoBoom);
});

View File

@ -21,6 +21,7 @@ namespace GameLogic
public List<ActorHItem> m_TeamSortList = new List<ActorHItem>(); // 用于排序的阵营列表数据
public Dictionary<string, ActorHItem> m_DicTeamList = new Dictionary<string, ActorHItem>();
public List<(ActorHItem actor, double score)> hItemActors = new List<(ActorHItem, double)>();
public float m_GameTimerLen = 0;
public List<string> m_Strs = new List<string>() { "陈", "王", "李", "张", "刘", "杨", "黄", "赵", "吴", "周",
@ -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<SignalAsset>("JszSignal");
eGo.GetComponent<SignalReceiver>().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<SignalAsset>("JszSignal");
eGo.GetComponent<SignalReceiver>().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<SignalAsset>("JszSignal");
eGo.GetComponent<SignalReceiver>().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<SignalAsset>("JszSignal");
eGo.GetComponent<SignalReceiver>().GetReaction(JszSignal).AddListener(() =>
{
DataGameSceneManager.Instance.m_TeamSortList[1].SetCurrenFill();
});
}
}, 2);
// 告知UI,创建全屏特效
GameEvent.Send(EventConts.TtqEffectCreate, giftConfig);

View File

@ -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; // 更新全局变量
}
}