1
This commit is contained in:
@@ -1148,9 +1148,8 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
StartCoroutine(IeShanXing(createFishData, yz, pos, prefab, pathList, time, yz.fishCount, arraySeq));
|
||||
break;
|
||||
|
||||
case "701": // 环形阵:同帧同路径全部生成(无延迟)
|
||||
for (int li = 0; li < pathList.Count; li++)
|
||||
Quan(createFishData, yz, pos, prefab, pathList[li], yz.fishCount, time, arraySeq, li);
|
||||
case "701": // 环形阵:无延迟;同一鱼阵内重复同一条线(同一出生点)时延迟 1s 再发射
|
||||
StartCoroutine(IeQuan(createFishData, yz, pos, prefab, pathList, time, yz.fishCount, arraySeq));
|
||||
break;
|
||||
|
||||
case "702":
|
||||
@@ -1238,6 +1237,31 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 环形阵:按路线列表遍历生成圈。
|
||||
/// 正常无延迟(同帧出);⭐ 同一鱼阵内出现重复的同一条线(同一出生点)时,
|
||||
/// 延迟 1s 再发射,避免两圈叠在出生点。
|
||||
/// </summary>
|
||||
private IEnumerator IeQuan(FrameData_CreateFish createFishData, FishArrayConfig yz,
|
||||
Vector3 pos, GameObject prefab, List<int> pathList, long time, int count, int arraySeq)
|
||||
{
|
||||
var usedLines = new HashSet<int>();
|
||||
for (int lineIndex = 0; lineIndex < pathList.Count; lineIndex++)
|
||||
{
|
||||
if (!isResources)
|
||||
{
|
||||
yield break;
|
||||
}
|
||||
|
||||
int pathId = pathList[lineIndex];
|
||||
// ⭐ 该线本次鱼阵已出现过(同一出生点):延迟 1s 再发射
|
||||
if (!usedLines.Add(pathId))
|
||||
yield return new WaitForSeconds(1f);
|
||||
|
||||
Quan(createFishData, yz, pos, prefab, pathId, count, time, arraySeq, lineIndex);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 环形阵:在同一路径上生成 count 条鱼,角度均匀分布(360/count)。
|
||||
/// </summary>
|
||||
|
||||
@@ -539,7 +539,10 @@ public class SitPosData : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
|
||||
var mon = tripleLockTargets[i];
|
||||
// 主目标(monCotl_Lock)已在上面加过,跳过避免重复
|
||||
if (mon == monCotl_Lock) continue;
|
||||
if (mon == null || mon.isDead || pos == null || !pos.gameObject.activeInHierarchy) continue;
|
||||
// ⭐ 口径与锁定圈一致:只看是否还在场上(activeInHierarchy)。
|
||||
// 之前额外用 isDead 过滤,导致死亡动画期间"圈还在、激光少一条"
|
||||
if (mon == null || !mon.gameObject.activeInHierarchy) continue;
|
||||
if (pos == null || !pos.gameObject.activeInHierarchy) continue;
|
||||
_laserTargets.Add(pos);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user