记录副本更新ui
This commit is contained in:
@@ -3,8 +3,10 @@ using Assets.MyGame.Scripts.Net.API;
|
||||
using Assets.MyGame.Scripts.Net.API.GameConfig_SubClass;
|
||||
using Assets.MyGame.Scripts.Net.APIResponses.Enum;
|
||||
using Assets.MyGame.Scripts.Net.WebResponses;
|
||||
using cfg;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Threading;
|
||||
@@ -57,7 +59,7 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
{
|
||||
if (roomFishConfig != null)
|
||||
return;
|
||||
|
||||
FishYZ.Init();
|
||||
roomFishConfig = new Dictionary<GameTypeEnum, RoomFishConfig>();
|
||||
createDic = new Dictionary<GameTypeEnum, Dictionary<string, RoomFishDetailConfig>>();
|
||||
|
||||
@@ -171,6 +173,7 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
}
|
||||
// CreateSingleFish();
|
||||
new FishResourcesData(); //这里用来测试加载鱼预制体
|
||||
|
||||
}
|
||||
|
||||
private void Update()
|
||||
@@ -210,37 +213,63 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (cfg.type==2)
|
||||
else if (cfg.type==2)
|
||||
{
|
||||
//cfg.fishNumber;3
|
||||
var yz = GameManager.Instance.gameConfig.fishArrayConfigs.Find(a => a.arrayNumber == cfg.fishNumber);
|
||||
|
||||
FishTypeConfig fishType = M_GameConfig.fishTypeConfigs
|
||||
.Find(f => f.fishNumber == yz.fishNumber);
|
||||
var yz = GameManager.Instance.gameConfig.fishArrayConfigs.Find(a => a.fishArrayNumber == cfg.fishNumber);
|
||||
foreach (var item in GameManager.Instance.gameConfig.fishArrayConfigs)
|
||||
{
|
||||
if (item.arrayNumber==cfg.fishNumber)
|
||||
{
|
||||
Debug.Log(item);
|
||||
}
|
||||
}
|
||||
FishTypeConfig fishType = null;
|
||||
foreach (var item in M_GameConfig.fishTypeConfigs)
|
||||
{
|
||||
if (item.fishNumber == yz.fishNumber)
|
||||
{
|
||||
fishType = item;
|
||||
}
|
||||
}
|
||||
// 3. 出生点
|
||||
Vector3 pos = new Vector3(
|
||||
9999, 9999, 0
|
||||
);
|
||||
var prefab = FishResourcesData.GetFishPrefab(fishType.fishNumber);
|
||||
|
||||
|
||||
switch (cfg.fishNumber)
|
||||
int pathId = 0;
|
||||
int count = 0;
|
||||
List<int> list = new List<int>();
|
||||
switch (yz.arrayNumber.Substring(0, 3))
|
||||
{
|
||||
case "30001":
|
||||
for (int i = 0; i < yz.fishCount; i++)
|
||||
|
||||
case "700":
|
||||
list = FishYZ.dicfishYZ[yz.arrayNumber];
|
||||
|
||||
StartCoroutine( IeShanXing(cfg, yz, pos, prefab, list));
|
||||
|
||||
break;
|
||||
case "701":
|
||||
list = FishYZ.dicfishYZ[yz.arrayNumber];
|
||||
|
||||
foreach (var item in list)
|
||||
Quan(cfg, yz, pos, prefab, item, 10);
|
||||
break;
|
||||
case "702":
|
||||
list = FishYZ.dicfishYZ[yz.arrayNumber];
|
||||
|
||||
foreach (var item in list)
|
||||
{
|
||||
|
||||
// 4. 实例化
|
||||
GameObject fish = Instantiate(prefab, pos, Quaternion.Euler(Vector3.forward* (yz.fishCount *10/2)+ Vector3.forward*i*10), fishRoot);
|
||||
var v = fish.GetComponent<MonsterContral>();
|
||||
v.monsterData.roomFishDetailConfig = cfg;
|
||||
v.hashCode = v.gameObject.GetHashCode().ToString();
|
||||
fishDatas_hashCodekey[v.hashCode] = v;
|
||||
var list = FishDatas[cfg.fishNumber].pathList;
|
||||
//int pathId = list[Random.Range(0, list.Count)];
|
||||
int pathId = list[Random.Range(0, 5)];
|
||||
v.Init(MonsterMoveLine.dic_BezierCurveDatas["鱼阵" + pathId+1], 10,true);
|
||||
v.fishType = (FishTypeEnum)FishDatas[cfg.fishNumber].fishType;
|
||||
StartCoroutine(YZ7007(cfg, yz, pos, prefab, item));
|
||||
}
|
||||
break;
|
||||
|
||||
case "7007":
|
||||
list = FishYZ.dicfishYZ[yz.arrayNumber];
|
||||
foreach (var item in list)
|
||||
{
|
||||
StartCoroutine(YZ7007(cfg, yz, pos, prefab, item));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@@ -254,6 +283,83 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
|
||||
}
|
||||
|
||||
IEnumerator IeShanXing(RoomFishDetailConfig cfg, FishArrayConfig yz, Vector3 pos, GameObject prefab, List<int> list)
|
||||
{
|
||||
foreach (var item in list)
|
||||
{
|
||||
ShanXing(cfg, 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)
|
||||
{
|
||||
for (int i = 1; i <= 16; i++)
|
||||
{
|
||||
|
||||
// 4. 实例化
|
||||
|
||||
GameObject fish = Instantiate(prefab, pos, Quaternion.Euler((i * 5 * (i % 2 == 0 ? -1 : 1)) * Vector3.forward), fishRoot);
|
||||
|
||||
|
||||
var v = fish.GetComponent<MonsterContral>();
|
||||
v.monsterData.fishTypeConfig = FishDatas[yz.fishNumber];
|
||||
v.hashCode = v.gameObject.GetHashCode().ToString();
|
||||
fishDatas_hashCodekey[v.hashCode] = 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)
|
||||
{
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
|
||||
// 4. 实例化
|
||||
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.hashCode = v.gameObject.GetHashCode().ToString();
|
||||
fishDatas_hashCodekey[v.hashCode] = v;
|
||||
//int pathId = list[Random.Range(0, list.Count)];
|
||||
v.Init(MonsterMoveLine.dic_BezierCurveDatas["鱼阵" + (pathId)], cfg.times, true, yz.arrayNumber);
|
||||
}
|
||||
}
|
||||
|
||||
//顺序出
|
||||
IEnumerator YZ7007(RoomFishDetailConfig cfg, FishArrayConfig yz, Vector3 pos, GameObject prefab, int pathId)
|
||||
{
|
||||
List<int> list = FishDatas[yz.fishNumber].pathList;
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
yield return new WaitForSeconds(1f);
|
||||
//// 4. 实例化
|
||||
//GameObject fish = Instantiate(prefab, pos, Quaternion.Euler((360 / 20) * i * Vector3.forward), fishRoot);
|
||||
//var v = fish.GetComponent<MonsterContral>();
|
||||
//v.monsterData.roomFishDetailConfig = cfg;
|
||||
//v.hashCode = v.gameObject.GetHashCode().ToString();
|
||||
//fishDatas_hashCodekey[v.hashCode] = v;
|
||||
////int pathId = list[Random.Range(0, list.Count)];
|
||||
//v.Init(MonsterMoveLine.dic_BezierCurveDatas["鱼阵" + (pathId + 1)], 15, true, cfg.fishNumber);
|
||||
//v.fishType = (FishTypeEnum)FishDatas[yz.fishNumber].fishType;
|
||||
|
||||
// 4. 实例化
|
||||
GameObject fish = Instantiate(prefab, pos, Quaternion.identity, fishRoot);
|
||||
var v = fish.GetComponent<MonsterContral>();
|
||||
// 5. 初始化路径
|
||||
if (v == null)
|
||||
{
|
||||
v = fish.AddComponent<MonsterContral>();
|
||||
}
|
||||
v.monsterData.fishTypeConfig = FishDatas[yz.fishNumber];
|
||||
v.hashCode = v.gameObject.GetHashCode().ToString();
|
||||
fishDatas_hashCodekey[v.hashCode] = v;
|
||||
v.Init(MonsterMoveLine.dic_BezierCurveDatas["鱼阵" + pathId], 10);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
private bool OnlyFish(RoomFishDetailConfig cfg)
|
||||
{
|
||||
// 1. 找到鱼的基础配置
|
||||
@@ -283,13 +389,13 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
{
|
||||
v = fish.AddComponent<MonsterContral>();
|
||||
}
|
||||
v.monsterData.roomFishDetailConfig = cfg;
|
||||
v.monsterData.fishTypeConfig = FishDatas[cfg.fishNumber];
|
||||
v.hashCode = v.gameObject.GetHashCode().ToString();
|
||||
fishDatas_hashCodekey[v.hashCode] = v;
|
||||
var list = FishDatas[cfg.fishNumber].pathList;
|
||||
int pathId = list[Random.Range(0, list.Count)];
|
||||
v.monsterData.moveLine.Init(MonsterMoveLine.dic_BezierCurveDatas["曲线" + pathId], 10);
|
||||
v.fishType = (FishTypeEnum)FishDatas[cfg.fishNumber].fishType;
|
||||
|
||||
v.Init(MonsterMoveLine.dic_BezierCurveDatas["曲线" + pathId], 10);
|
||||
//v.monsterData.moveLine.Init(MonsterMoveLine.dic_BezierCurveDatas["曲线" + Random.Range(1, 4).ToString()], 10);
|
||||
////初始化
|
||||
//GameObject obj = Instantiate(prefab, Vector3.one * 999, Quaternion.identity);
|
||||
@@ -390,14 +496,27 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
public void DesFish(string msg)
|
||||
{
|
||||
var killFish = JsonConvert.DeserializeObject<WebSocketResponseBase<RoomKillNotice>>(msg).arguments[0];
|
||||
Debug.Log("时间123:" + (DateTimeOffset.Now.ToUnixTimeSeconds() - killFish.timespan) + "秒");
|
||||
if (fishDatas_hashCodekey.ContainsKey(killFish.fishId))
|
||||
{
|
||||
var monster = fishDatas_hashCodekey[killFish.fishId];
|
||||
Instantiate(monster.effect_Die == null ? dieFXPrefab : monster.effect_Die, monster.transform.position, Quaternion.identity, transform.parent);
|
||||
Destroy(monster.gameObject);
|
||||
fishDatas_hashCodekey.Remove(killFish.fishId);
|
||||
|
||||
//GameManager.Instance.gameData.roomJoinNotice.gold += killFish.gold;
|
||||
var list = UIManager.Instance.Get<GameMainPanel_XJMH>(UIPanel.MainGamePanelXJMH).list_Sits;
|
||||
foreach (var item in list)
|
||||
{
|
||||
if (item.user!=null)
|
||||
{
|
||||
if (item.user.id==killFish.userId)
|
||||
{
|
||||
item.goldNum +=killFish.gold;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
GameManager.Instance.gameData.roomJoinNotice.gold += killFish.gold;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user