This commit is contained in:
2026-03-10 15:36:10 +08:00
parent e39164fed4
commit ab47358771
326 changed files with 39762 additions and 236 deletions
@@ -217,6 +217,7 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
frameData = new FrameData_CreateFish
{
fish = fish,
guid=Guid.NewGuid().ToString(),
}
};
@@ -233,15 +234,15 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
//if (syncGameData.sitPos == GameManager.Instance.gameData.roomJoinNotice.position)
{
var rotateData = JsonConvert.DeserializeObject<FrameData_CreateFish>(syncGameData.frameData.ToString());
SpawnFishMainThread(rotateData.fish);
SpawnFishMainThread(rotateData);
}
}
private async void SpawnFishMainThread(RoomFishDetailConfig cfg)
private async void SpawnFishMainThread(FrameData_CreateFish createFishData)
{
RoomFishDetailConfig cfg = createFishData.fish;
if (cfg.type==1)
{
bool flowControl = OnlyFish(cfg);
bool flowControl = OnlyFish(createFishData);
if (!flowControl)
{
return;
@@ -281,21 +282,21 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
case "700":
list = FishYZ.dicfishYZ[yz.arrayNumber];
StartCoroutine( IeShanXing(cfg, yz, pos, prefab, list));
StartCoroutine( IeShanXing(createFishData, yz, pos, prefab, list));
break;
case "701":
list = FishYZ.dicfishYZ[yz.arrayNumber];
foreach (var item in list)
Quan(cfg, yz, pos, prefab, item, 10);
Quan(createFishData, yz, pos, prefab, item, 10);
break;
case "702":
list = FishYZ.dicfishYZ[yz.arrayNumber];
foreach (var item in list)
{
StartCoroutine(YZ7007(cfg, yz, pos, prefab, item));
StartCoroutine(YZ7007(createFishData, yz, pos, prefab, item));
}
break;
@@ -303,7 +304,7 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
list = FishYZ.dicfishYZ[yz.arrayNumber];
foreach (var item in list)
{
StartCoroutine(YZ7007(cfg, yz, pos, prefab, item));
StartCoroutine(YZ7007(createFishData, yz, pos, prefab, item));
}
break;
default:
@@ -317,17 +318,19 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
}
IEnumerator IeShanXing(RoomFishDetailConfig cfg, FishArrayConfig yz, Vector3 pos, GameObject prefab, List<int> list)
IEnumerator IeShanXing(FrameData_CreateFish createFishData, FishArrayConfig yz, Vector3 pos, GameObject prefab, List<int> list)
{
RoomFishDetailConfig cfg = createFishData.fish;
foreach (var item in list)
{
ShanXing(cfg, yz, pos, prefab, item, 10);
ShanXing(createFishData, yz, pos, prefab, item, 10);
yield return new WaitForSeconds(0.8f);
}
}
private void ShanXing(RoomFishDetailConfig cfg, FishArrayConfig yz, Vector3 pos, GameObject prefab, int pathId,int count)
private void ShanXing(FrameData_CreateFish createFishData, FishArrayConfig yz, Vector3 pos, GameObject prefab, int pathId,int count)
{
RoomFishDetailConfig cfg = createFishData.fish;
for (int i = 1; i <= 16; i++)
{
@@ -338,15 +341,16 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
var v = fish.GetComponent<MonsterContral>();
v.monsterData.fishTypeConfig = FishDatas[yz.fishNumber];
v.guid = Guid.NewGuid().ToString();
v.guid = createFishData.guid+i;
fishDatas_hashCodekey[v.guid] = v;
//int pathId = list[Random.Range(0, list.Count)];
v.Init(MonsterMoveLine.dic_BezierCurveDatas["鱼阵" + (pathId)],cfg.times, true, yz.arrayNumber);
}
}
private void Quan(RoomFishDetailConfig cfg, FishArrayConfig yz, Vector3 pos, GameObject prefab, int pathId,int count)
private void Quan(FrameData_CreateFish createFishData, FishArrayConfig yz, Vector3 pos, GameObject prefab, int pathId,int count)
{
RoomFishDetailConfig cfg = createFishData.fish;
for (int i = 0; i < count; i++)
{
@@ -354,7 +358,7 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
GameObject fish = Instantiate(prefab, pos, Quaternion.Euler((360 / count) * i * Vector3.forward), fishRoot);
var v = fish.GetComponent<MonsterContral>();
v.monsterData.fishTypeConfig = FishDatas[yz.fishNumber];
v.guid = Guid.NewGuid().ToString();
v.guid = createFishData.guid + i;
fishDatas_hashCodekey[v.guid] = v;
//int pathId = list[Random.Range(0, list.Count)];
v.Init(MonsterMoveLine.dic_BezierCurveDatas["鱼阵" + (pathId)], cfg.times, true, yz.arrayNumber);
@@ -362,8 +366,9 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
}
//顺序出
IEnumerator YZ7007(RoomFishDetailConfig cfg, FishArrayConfig yz, Vector3 pos, GameObject prefab, int pathId)
IEnumerator YZ7007(FrameData_CreateFish createFishData, FishArrayConfig yz, Vector3 pos, GameObject prefab, int pathId)
{
RoomFishDetailConfig cfg = createFishData.fish;
List<int> list = FishDatas[yz.fishNumber].pathList;
for (int i = 0; i < 8; i++)
{
@@ -387,15 +392,17 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
v = fish.AddComponent<MonsterContral>();
}
v.monsterData.fishTypeConfig = FishDatas[yz.fishNumber];
v.guid = Guid.NewGuid().ToString();
v.guid = createFishData.guid+i;
fishDatas_hashCodekey[v.guid] = v;
v.Init(MonsterMoveLine.dic_BezierCurveDatas["鱼阵" + pathId], 10);
}
}
private bool OnlyFish(RoomFishDetailConfig cfg)
private bool OnlyFish(FrameData_CreateFish createFishData)
{
RoomFishDetailConfig cfg = createFishData.fish;
// 1. 找到鱼的基础配置
FishTypeConfig fishType = M_GameConfig.fishTypeConfigs
.Find(f => f.fishNumber == cfg.fishNumber);
@@ -424,7 +431,8 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
v = fish.AddComponent<MonsterContral>();
}
v.monsterData.fishTypeConfig = FishDatas[cfg.fishNumber];
v.guid = Guid.NewGuid().ToString();
v.guid = createFishData.guid;
fishDatas_hashCodekey[v.guid] = v;
var list = FishDatas[cfg.fishNumber].pathList;
int pathId = list[Random.Range(0, list.Count)];