46 lines
1.0 KiB
C#
46 lines
1.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using FluffyUnderware.Curvy;
|
|
using Random = UnityEngine.Random;
|
|
|
|
public class FishGroup : MonoBehaviour
|
|
{
|
|
private List<Fish> fishes = new List<Fish>();
|
|
private int curFishCount;
|
|
|
|
[NonSerialized]
|
|
public float GroupRadius = 2f;
|
|
|
|
public void Init(
|
|
List<FishData> fishList,
|
|
CurvySpline spline)
|
|
{
|
|
curFishCount = fishList.Count;
|
|
|
|
foreach (var data in fishList)
|
|
{
|
|
GameObject fishGO =
|
|
Instantiate(GameManager.Ins.fishPres[data.FishId - 1], transform);
|
|
|
|
// 🌟 核心:球形偏移
|
|
Vector3 offset = Random.insideUnitSphere * GroupRadius;
|
|
|
|
Fish fish = fishGO.GetComponent<Fish>();
|
|
fish.Init(data, spline, this, offset);
|
|
|
|
fishes.Add(fish);
|
|
}
|
|
}
|
|
|
|
public void CheckAllFish()
|
|
{
|
|
curFishCount--;
|
|
if (curFishCount <= 0)
|
|
{
|
|
fishes.Clear();
|
|
Destroy(gameObject);
|
|
}
|
|
}
|
|
}
|