Ejemplo n.º 1
0
    /// <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();//产生鱼
    }
Ejemplo n.º 2
0
    /// <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();
    }
Ejemplo n.º 3
0
    /// <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);
    }
Ejemplo n.º 4
0
    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);
            }
        }
    }
Ejemplo n.º 5
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;
    }