/// <summary> /// 鱼群信息 /// </summary> /// <param name="o"></param> public void do20004(object o) { //Debug.Log("收到20004"); List <string> listID = new List <string>(); //代表一波鱼 for (int i = 0; i < ((JsonData)o).Count; i++) { FishAttr f = new FishAttr(); f.fishType = ((JsonData)o)[i]["level"].ToString(); f.id = ((JsonData)o)[i]["id"].ToString(); f.runPoint = ((JsonData)o)[i]["runPoint"].ToString(); f.Speed = float.Parse(((JsonData)o)[i]["speed"].ToString()); listID.Add(f.id); FishMaker.fish.Add(f.id, f);//把鱼保存到字典里 } FishMaker.listGroup.Add(listID); FishMaker.do20004Order.Add(0); //FishMaker.instant.secondTimeStart();//产生鱼 }
/// <summary> /// 鱼阵生成 /// </summary> /// <param name="o"></param> public void do20023(object o) { Debug.Log("20023鱼阵生成。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。"); yuZhenGroupCard = int.Parse(((JsonData)o)[0]["group"].ToString()); Debug.Log(((JsonData)o).Count); List <string> listID = new List <string>(); //代表一波鱼 Debug.Log(2); for (int i = 0; i < ((JsonData)o).Count; i++) { Debug.Log(3); FishAttr f = new FishAttr(); f.fishType = ((JsonData)o)[i]["level"].ToString(); f.id = ((JsonData)o)[i]["id"].ToString(); f.Speed = float.Parse(((JsonData)o)[i]["speed"].ToString()); listID.Add(f.id); FishMaker.fish.Add(f.id, f);//把鱼保存到字典里 } Debug.Log(4); fishArrayContral.listGroupYuzhen.Add(listID); fishArrayContral.instant.MakeFishesYuZhen(); }
/// <summary> /// 鱼消失 /// </summary> public void fishDead(string _id) { if (FishMaker.fishTarget.Count == 0) { return; } iTween.Pause(FishMaker.fishTarget[_id]); FishAttr f = FishMaker.fishTarget[_id].GetComponent <FishAttr>(); f.nextDian = 0; FishMaker.fishTarget[_id].transform.localPosition = new Vector3(guiJi.instant().guiJiDict[f.runPoint][0].x, guiJi.instant().guiJiDict[f.runPoint][0].y, 90);//赋予出生点,不设置有一个闪的过程 f.judgeSpot = 0; f.initialX = 0; f.initialY = 0; f.Send20010One = true; fishStartMove(_id);//发送给服务器征求鱼的游动} //FishMaker.fishTarget[_id].GetComponent<FishAttr>().isSend = true; // ClientSocket.instant().send("20010", _id); }
private void Update() { //if (issecondTimeStart) //{ // if (fishGroupIsOver)//前一波产生完了 // { // if (listGroup.Count >= fishGroupNum) // { // StartCoroutine(ie(fishGroupNum - 1)); // issecondTimeStart = false; // } // } //} if (do20004Order.Count != 0) //不考虑20004和20012的先后顺序,概率几乎为零 { if (fishGroupIsOver) //前一波产生完了 { StartCoroutine(ie(listGroupOrder)); listGroupOrder++; do20004Order.RemoveAt(0); } } if (moveFish.Count != 0) { int j = moveFish.Count; for (int i = 0; i < j; i++) { if (!contrall.instant().isZhuJi) { iTween.Pause(fishTarget[moveFish[i]]); FishAttr f = fishTarget[moveFish[i]].GetComponent <FishAttr>(); f.nextDian = 0; fishTarget[moveFish[i]].transform.localPosition = new Vector3(guiJi.instant().guiJiDict[f.runPoint][0].x, guiJi.instant().guiJiDict[f.runPoint][0].y, 90); //赋予出生点,不设置有一个闪的过程 // Debug.Log("重赋予的值" + FishMaker.fishTarget[moveFish[i]].transform.localPosition); f.judgeSpot = 0; f.initialX = 0; f.initialY = 0; f.Send20010One = true; } GameObject transformID = fishTarget[moveFish[i]]; guiJi.instant().startMove(transformID.GetComponent <FishAttr>().runPoint, transformID.GetComponent <FishAttr>().nextDian); //传入所需要的轨迹 //速度改变 iTween.MoveTo(transformID.gameObject, iTween.Hash("path", guiJi.instant().waypoints, "speed", transformID.GetComponent <FishAttr>().Speed, "movetopath", false, "orienttopath", true, "looktime", 0.6, "easetype", "linear")); } for (int k = 0; k < j; k++) { moveFish.RemoveAt(0); } } if (deadFish.Count != 0) { int j = deadFish.Count; for (int i = 0; i < j; i++) { if (FishMaker.fishTarget.ContainsKey(deadFish[i])) { Destroy(FishMaker.fishTarget[deadFish[i]].gameObject); contrall.instant().fishTargetRemove(deadFish[i]); } } for (int k = 0; k < j; k++) { deadFish.RemoveAt(0); } } }
/// <summary> /// 进入房间用户信息.只发给自己 /// </summary> /// <param name="o"></param> public void do20001(object o) { //Debug.Log("收到20001"); FishMaker.listGroup.Clear(); //Debug.Log(1); addFileGoldNum = ((JsonData)o)["fireNum"].ToString(); for (int i = 0; i < ((JsonData)o)["userList"].Count; i++)//判断在四个里面的哪一个位置 { if (((JsonData)o)["userList"][i] == null) { continue; } //Debug.Log("用户" + ((JsonData)o)["userList"][i].ToString()); userDict.Add(i, ((JsonData)o)["userList"][i].ToString()); //把用户ID跟位置对应起来 if (httpView.id == (((JsonData)o)["userList"][i].ToString())) //自己 { Debug.Log("自己的位置" + i); meiRenYuThreadDeal.gosWeiZhi = i; GunFollow.posWeizhi = i; GameController.gosWeiZhi = i; } } //Debug.Log("2"); if ((httpView.id == ((JsonData)o)["userId"].ToString()))//如果自己是主机ID,做个记录 { Debug.Log("我是主机"); isZhuJi = true; } // Debug.Log("3"); for (int i = 0; i < userDict.Count; i++) { if (((JsonData)o)["userGoldMap"].Keys.Contains(userDict[i])) { everyOnegoldDict.Add(userDict[i], (int)(((JsonData)o)["userGoldMap"][userDict[i]]));//添加每个人的金币 } } //Debug.Log("4"); for (int i = 0; i < userDict.Count; i++)//返回的子弹的级别为1-9 { if (((JsonData)o)["userFireLevelMap"].Keys.Contains(userDict[i])) { GameController.bulletLevel.Add(userDict[i], (int)(((JsonData)o)["userFireLevelMap"][userDict[i]]));//添加每个人子弹的级别 if ((int)(((JsonData)o)["userFireLevelMap"][userDict[i]]) >= 0 && (int)(((JsonData)o)["userFireLevelMap"][userDict[i]]) <= 2) { Debug.Log(1); GameController.gunShapes.Add(userDict[i], 0); } else if ((int)(((JsonData)o)["userFireLevelMap"][userDict[i]]) >= 3 && (int)(((JsonData)o)["userFireLevelMap"][userDict[i]]) <= 5) { Debug.Log(2); GameController.gunShapes.Add(userDict[i], 1); } else { Debug.Log(3); GameController.gunShapes.Add(userDict[i], 2); } } } //Debug.Log("5"); if (((JsonData)o)["fishList"].Count != 0) //代表我是中途进来的 { List <string> listID = new List <string>(); //代表一波鱼 for (int i = 0; i < ((JsonData)o)["fishList"].Count; i++) { FishAttr f = new FishAttr(); f.fishType = ((JsonData)o)["fishList"][i]["level"].ToString(); f.id = ((JsonData)o)["fishList"][i]["id"].ToString(); f.runPoint = ((JsonData)o)["fishList"][i]["runPoint"].ToString(); f.Speed = float.Parse(((JsonData)o)["fishList"][i]["speed"].ToString()); f.initialX = guiJi.instant().guiJiDict[f.runPoint][0].x; f.initialY = guiJi.instant().guiJiDict[f.runPoint][0].y; listID.Add(f.id); FishMaker.fish.Add(f.id, f);//把鱼保存到字典里 } FishMaker.listGroup.Add(listID); FishMaker.isHalfGoGame = true; } //Debug.Log("进行场景跳转的操作"); Mosframe.DynamicScrollView.instant.loadMeiRenYu();//场景跳转 meiRenYuThreadDeal.is20001 = true; }