This commit is contained in:
2026-10-03 18:26:52 +08:00
parent 59d9a01e5f
commit 1da7af6cc5
35 changed files with 551 additions and 450 deletions
@@ -1174,7 +1174,7 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
// ? pathList[Random.Range(0, pathList.Count)]
// : -1;
StartCoroutine(YZ7007(createFishData, yz, pos, prefab, time));
StartCoroutine(YZ7007(createFishData, yz, pos, prefab, time, arraySeq));
//foreach (int pathId in pathList)
//{
// int actualPath = (prefix == "710") ? chosen710 : pathId;
@@ -1348,9 +1348,10 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
/// <summary>
/// 顺序阵:每隔 1s 生成一条鱼,共生成 count 条。
/// guid 与 700/701 保持同一格式:base_阵序号_线下标_第几条(顺序阵只用第0条线,线下标固定0)。
/// </summary>
private IEnumerator YZ7007(FrameData_CreateFish createFishData, FishArrayConfig yz,
Vector3 pos, GameObject prefab, long time)
Vector3 pos, GameObject prefab, long time, int arraySeq)
{
if (!spawnDic.TryGetValue(createFishData.fishNumber, out var cfg))
{
@@ -1386,7 +1387,9 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
mc.monsterData.fishTypeConfig = FishDatas[yz.fishNumber];
mc.guid = createFishData.guid + i;
// ⭐ guid 统一成 base_阵序号_线下标_第几条:原来用 base+i(如 113950851),
// 同一鱼阵被重复推送时 guid 会重复 → 旧鱼被强制回收重建(日志里的 COLLISION)
mc.guid = createFishData.guid + "_" + arraySeq + "_0_" + i;
RegisterFishInstance(mc, FishDatas[yz.fishNumber].fishType);
// 每条鱼额外减去已等待秒数,使路径起点与帧数同步
mc.moveTime = ((BeijingTimeManager.Instance.CurrentTimestampMs - time) / 1000f) - i;