Example #1
0
    List <GameObject> friends = new List <GameObject>(); //好友列表

    void Start()                                         //是函数,启动时我们只执行一次,里面的循环体不受影响
    {
        //Debug.Log("到主界面:");
        friendPrefb   = (GameObject)Resources.Load("Prefabs/MMenu/FriendProb"); //动态加载好友预制件
        msgCount_preb = (GameObject)Resources.Load("Prefabs/MMenu/msgCount");   //msgCount_preb预制件
        rank_preb     = (GameObject)Resources.Load("Prefabs/MMenu/Rank_item");  //排行榜预制件加载
        RankCommand.Rank_Send();                                                //获取排行榜命令
        DisplayMyInfo();

        myInfo_B.onClick.AddListener(() => {
            GameAudio.instance.PlayAudioSourceUI("click_btn");
            InfoPanel infoPanel = InfoPanel.Open();
            infoPanel.Initialize(NetStart.myInfo);
        });//转到个人的详细信息界面

        creatRoom_B.onClick.AddListener(() => {
            GameAudio.instance.PlayAudioSourceUI("click_btn");
            //执行查找房间命令
            RoomCommand.SelectRooms();
            MMunePanel.Close();
            RoomsHallPanel.Open();
        });

        msgCount_B.onClick.AddListener(() => ToChatPanel(null));

        setting_B.onClick.AddListener(() => {
            GameAudio.instance.PlayAudioSourceUI("click_btn");
            SettingPanel.Open();
        });
        store_B.onClick.AddListener(() => {
            GameAudio.instance.PlayAudioSourceUI("click_btn");
            //Close();
        });
        SelectFriendCommand.SelectFriendList();
    }
Example #2
0
 /// <summary>
 /// 心跳包 查好友 查排行 发送
 /// </summary>
 void Refresh_Send()
 {
     if (isLogin)
     {
         if (Time.time - lastTime >= heartBeatTime)
         {
             HeartbeatCommand.Heartbeat_Send();//心跳包发送
             if (MMunePanel.Get())
             {
                 RankCommand.Rank_Send();                //获取查询排行的命令
                 SelectFriendCommand.SelectFriendList(); //查找所有好友
             }
             if (RoomsHallPanel.Get())
             {
                 RoomCommand.SelectRooms();//获取所有房间
             }
             //if (RoomPanel.Get())
             //{
             //    RoomCommand.RefreshThisRoomInfo(myInfo.roomNum);//刷新当前房间信息
             //}
             lastTime = Time.time;
         }
     }
 }
Example #3
0
    public override void DoCommand()
    {
        int command = BitConverter.ToInt32(bytes, 8);

        switch (command)
        {
        case 1:                                                                                                //处理将闲置房间列发反馈给客户端
            rooms = DataDo.Json2Object <Dictionary <string, RoomInfo> >(Decode.DecodSecondContendBtye(bytes)); //查找数据报错,解析成对象时
            if (RoomsHallPanel.Get())
            {
                RoomsHallPanel.Get().OperateRoom();
            }
            Debug.Log("查找成功, 房间数:" + rooms.Count);
            break;

        case 2:
            Debug.Log("开房成功");

            break;

        case 3:
            //返回房间界面
            RoomInfo room = DataDo.Json2Object <RoomInfo>(Decode.DecodSecondContendBtye(bytes));
            RoomPanel.room = room;
            SceneManager.LoadScene("Scenes/MainScence");
            UnityAction <Scene, LoadSceneMode> onLoaded = null;
            onLoaded = (Scene scene, LoadSceneMode mode) =>
            {
                RoomPanel.Open().ForeachPlayerList(room);
                RoomPanel.Get().inPutField.text = room.roomName;
                SceneManager.sceneLoaded -= onLoaded;
            };
            SceneManager.sceneLoaded += onLoaded;


            break;

        case 4:
            Debug.Log("加入房间:");
            RoomsHallPanel.Close();
            RoomInfo roomInfos = DataDo.Json2Object <RoomInfo>(Decode.DecodSecondContendBtye(bytes));
            RoomPanel.room = roomInfos;

            //判断是否是在房间界面
            if (SceneManager.GetActiveScene().name == "MainScence")
            {
                RoomPanel.Open().ForeachPlayerList(roomInfos);
                RoomPanel.Get().inPutField.text = roomInfos.roomName;
                NetStart.myInfo.roomNum = roomInfos.roomID;
            }
            break;

        case 5:
            RoomInfo roomInfo5 = DataDo.Json2Object <RoomInfo>(Decode.DecodSecondContendBtye(bytes));
            RoomPanel.room = roomInfo5;
            RoomPanel roomPanel = RoomPanel.Get();
            if (roomPanel)
            {
                roomPanel.inPutField.text = roomInfo5.roomName;
                roomPanel.ForeachPlayerList(roomInfo5);
            }
            Debug.Log("已退出房间" + roomInfo5.member.Count);
            break;

        case 6:
            Debug.Log("房主转让");
            //被动接受
            break;

        case 8:
            Debug.Log("邀请加入");

            break;

        case 9:
            Debug.Log("踢出房间");

            break;

        case 10:
            Debug.Log("添加好友");

            break;

        case 11:
            Debug.Log("获取可以邀请好友列表");

            break;

        case 12:
            Debug.Log("修改房间名");

            break;
        }
    }