1
This commit is contained in:
@@ -1516,19 +1516,18 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
/// <param name="coinNum">红包拆分后的每份金额,长度应 >= count</param>
|
||||
/// <param name="v3Point">金币最终飞回的世界坐标(一般是炮台位置)</param>
|
||||
/// <param name="count">理论上要“死”的总数量(鱼 + 纯金币)</param>
|
||||
public void Id_DieListFish_FX(List<string> guids, List<RedPacketRecord> coinNum, Vector3 v3Point, int count)
|
||||
public void Id_DieListFish_FX(List<string> guids, List<RedPacketRecord> coinNum, Vector3 v3Point, int count, bool isLocal = false)
|
||||
{
|
||||
if (coinNum == null || coinNum.Count == 0) return;
|
||||
|
||||
// 1. 先处理“真的有鱼”的部分
|
||||
// 1. 先处理"真的有鱼"的部分
|
||||
int realCount = Mathf.Min(guids.Count, coinNum.Count, count);
|
||||
for (int i = 0; i < realCount; i++)
|
||||
{
|
||||
// 用你原来的单条逻辑,不动
|
||||
Id_DieFish_FX(guids[i], coinNum[i], v3Point);
|
||||
Id_DieFish_FX(guids[i], coinNum[i], v3Point, isLocal);
|
||||
}
|
||||
|
||||
// 2. 不足的部分,用“屏幕随机位置的金币特效”补齐
|
||||
// 2. 不足的部分,用"屏幕随机位置的金币特效"补齐
|
||||
int needExtra = count - realCount;
|
||||
if (needExtra <= 0) return;
|
||||
|
||||
@@ -1537,7 +1536,7 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
for (int i = 0; i < maxExtra; i++)
|
||||
{
|
||||
var red = coinNum[realCount + i];
|
||||
SpawnRandomCoinFX(red, v3Point);
|
||||
SpawnRandomCoinFX(red, v3Point, isLocal);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
@@ -1621,7 +1620,7 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
/// <summary>
|
||||
/// 按 ID 杀死一条鱼(带特效 + 金币飞出动画)。
|
||||
/// </summary>
|
||||
public void Id_DieFish_FX(string fishId, RedPacketRecord coinNum, Vector3 v3Point)
|
||||
public void Id_DieFish_FX(string fishId, RedPacketRecord coinNum, Vector3 v3Point, bool isLocal = false)
|
||||
{
|
||||
if (!fishDatas_hashCodekey.TryGetValue(fishId, out var monster)) return;
|
||||
if (false)
|
||||
@@ -1649,8 +1648,8 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
|
||||
var coinScript = award.GetComponent<BJBase>();
|
||||
coinScript.Init(coinNum.Amount, v3Point);
|
||||
//coinScript.endPoint = v3Point;
|
||||
coinScript.isBoss = true;
|
||||
coinScript.isLocalCoin = isLocal;
|
||||
coinScript.SetCoinCount();
|
||||
}
|
||||
|
||||
@@ -1664,7 +1663,7 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
/// <summary>
|
||||
/// 不依赖鱼,只在屏幕内随机一个位置生成金币特效,然后飞回指定点。
|
||||
/// </summary>
|
||||
private void SpawnRandomCoinFX(RedPacketRecord coinNum, Vector3 targetWorldPos)
|
||||
private void SpawnRandomCoinFX(RedPacketRecord coinNum, Vector3 targetWorldPos, bool isLocal = false)
|
||||
{
|
||||
// 1. 随机一个屏幕坐标
|
||||
Vector2 screenPos = new Vector2(
|
||||
@@ -1678,7 +1677,7 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
|
||||
// 3. 实例化金币特效(沿用你原来的 award 逻辑)
|
||||
var award = Instantiate(
|
||||
dieFXPrefabAward, // 或者用某个专门的“掉金币” prefab
|
||||
dieFXPrefabAward, // 或者用某个专门的"掉金币" prefab
|
||||
currGameType.subPanelParent.parent);
|
||||
|
||||
var rect = award.GetComponent<RectTransform>();
|
||||
@@ -1689,6 +1688,7 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
|
||||
coinScript.Init(coinNum.Amount, targetWorldPos);
|
||||
coinScript.isBoss = true;
|
||||
coinScript.isLocalCoin = isLocal;
|
||||
coinScript.SetCoinCount();
|
||||
}
|
||||
|
||||
@@ -1767,6 +1767,7 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
var coinScript = award.GetComponent<BJBase>();
|
||||
coinScript.Init(killFish.gold, sitData.transform.position, killFish.userId, sitData.posID, killFish.param);
|
||||
|
||||
coinScript.isLocalCoin = sitData.user == GameManager.Instance.user.id;
|
||||
coinScript.isBoss = false;
|
||||
coinScript.JiaFen = onScoreAdd;
|
||||
coinScript.SetCoinCount();
|
||||
@@ -1819,6 +1820,7 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
var coinScript = award.GetComponent<BJBase>();
|
||||
coinScript.Init(killFish.gold, sitData.transform.position, killFish.userId, sitData.posID, killFish.param);
|
||||
|
||||
coinScript.isLocalCoin = sitData.user == GameManager.Instance.user.id;
|
||||
coinScript.isBoss = false;
|
||||
coinScript.JiaFen = onScoreAdd;
|
||||
coinScript.SetCoinCount();
|
||||
@@ -1849,6 +1851,7 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
var coinScript = award.GetComponent<BJBase>();
|
||||
coinScript.startPoint = award.transform.position;
|
||||
coinScript.Init(killFish.gold, sitData.transform.position, killFish.userId, sitData.posID, killFish.param);
|
||||
coinScript.isLocalCoin = sitData.user == GameManager.Instance.user.id;
|
||||
coinScript.startPoint = award.transform.position;
|
||||
coinScript.isBoss = false;
|
||||
coinScript.JiaFen = onScoreAdd;
|
||||
|
||||
Reference in New Issue
Block a user