1
This commit is contained in:
@@ -222,12 +222,6 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
// fangzhu 字段已删除:鱼创建改由服务端 OnFishSpawn 统一下发,客户端无需房主出鱼
|
||||
public bool isResources = false;
|
||||
|
||||
[Header("鱼阵(700/701)组偏移")]
|
||||
[Tooltip("每组(每条线)相对上一组多走的秒数。屏幕上组间距 ≈(该值 - 每组出鱼间隔)×moveLine.moveTime。\n" +
|
||||
"扇形每组间隔 1 秒,所以该值必须>1 才拉得开(如 3 → 组间距≈(3-1)×15=30 世界单位);\n" +
|
||||
"圈没有间隔,组间距≈该值×15")]
|
||||
public float yzGroupStaggerTime = 3f;
|
||||
|
||||
[Header("鱼阵路线撞车")]
|
||||
[Tooltip("同一条路线被鱼阵占用后,其他鱼阵再用到同一条线需要等待的秒数(避免同一出生点同帧重叠)")]
|
||||
public float lineConflictCooldown = 1f;
|
||||
@@ -1268,12 +1262,12 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
mc.guid = createFishData.guid + "_" + arraySeq + "_" + lineIndex + "_" + i;
|
||||
RegisterFishInstance(mc, FishDatas[yz.fishNumber].fishType);
|
||||
|
||||
// ⭐ 创建时间偏移:每往下一组(每条线)+yzGroupStaggerTime 秒,
|
||||
// 位移公式用 (moveTime + yzGroupTimeOffset) 定位,把各组沿分布方向拉开、不再重合。
|
||||
// 注意:偏移必须大于"每组出鱼间隔(1s)",否则会精确抵消(半径完全相同,看着还是重合)
|
||||
// moveTime 本身保持 0:存活时长仍从本条鱼自己出生算起,不受偏移影响
|
||||
// ⭐ 位置只按"本条鱼自己的创建时间"推算:
|
||||
// moveTime 从 0 开始累计(自己出生到现在) → 先创建的组已经游远、后创建的刚出生,
|
||||
// 顺序天然是"先出的在前、后出的在后"。
|
||||
// yzGroupTimeOffset 固定 0:给后创建的组加偏移会把它往前顶,顺序就反了(且会顶出屏)
|
||||
mc.moveTime = 0f;
|
||||
mc.yzGroupTimeOffset = lineIndex * yzGroupStaggerTime;
|
||||
mc.yzGroupTimeOffset = 0f;
|
||||
|
||||
mc.Init(pathId.ToString(), cfg.times, true, yz.arrayNumber);
|
||||
|
||||
@@ -1332,10 +1326,10 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
mc.guid = createFishData.guid + "_" + arraySeq + "_" + lineIndex + "_" + i;
|
||||
RegisterFishInstance(mc, FishDatas[yz.fishNumber].fishType);
|
||||
|
||||
// ⭐ 创建时间偏移:每往下一组(每条线)+yzGroupStaggerTime 秒,位移定位用 (moveTime + yzGroupTimeOffset)
|
||||
// (说明同扇形;圈本身同帧出,靠这个偏移把各圈沿分布方向拉开,不必加延迟)
|
||||
// ⭐ 位置只按"本条鱼自己的创建时间"推算(moveTime 从 0 累计),说明同扇形
|
||||
// 圈的不同线本来就在不同出生点,同线重复的靠同线冷闸 1s 错开
|
||||
mc.moveTime = 0f;
|
||||
mc.yzGroupTimeOffset = lineIndex * yzGroupStaggerTime;
|
||||
mc.yzGroupTimeOffset = 0f;
|
||||
|
||||
mc.Init(pathId.ToString(), cfg.times, true, yz.arrayNumber);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user