Exemple #1
0
    public void JoinRoom(byte roomid)
    {
        TableError pError = PlayerRole.Instance.TableManager.IsCanJoinTable(roomid, false);

        if (pError != TableError.TE_Sucess)
        {
            //进入房间失败了 我们进行处理
            tagJoinTableEvent pEvent = new tagJoinTableEvent(roomid, pError);
            MsgEventHandle.HandleMsg(pEvent);//无法进入房间的事件
            return;
        }
        GlobalEffectMgr.Instance.ShowLoadingMessage();

        //发送进入房间的命令到服务端去
        if (SceneMain.IsUserOldServer)
        {
            NetCmdJoinRoom ncr = new NetCmdJoinRoom();
            ncr.SetCmdType(NetCmdType.CMD_JOIN_ROOM);
            ncr.RoomType = roomid;
            NetServices.Instance.Send <NetCmdJoinRoom>(ncr);
        }
        else
        {
            CL_Cmd_JoinTable ncb = new CL_Cmd_JoinTable();
            ncb.SetCmdType(NetCmdType.CMD_CL_JoinTable);
            ncb.bTableType = roomid;
            NetServices.Instance.Send <CL_Cmd_JoinTable>(ncb);
        }
        State = HallState.HALL_JOIN_ROOM;
    }
Exemple #2
0
        IEnumerator LoadRes()
        {
            yield return(StartCoroutine(ServerSetting.OnNewInit(null)));

            UIManager.Instance.ShowView <GameView>(); yield return(new WaitForEndOfFrame());

            NetManager.Instance.CanProcessCmd = true; yield return(new WaitForEndOfFrame());

            CL_Cmd_JoinTable ncb = new CL_Cmd_JoinTable();

            ncb.SetCmdType(NetCmdType.CMD_CL_JoinTable);
            ncb.bTableType = ModelManager.Instance.Get <RoomModel>().GetCurRoomId();
            NetManager.Instance.Send <CL_Cmd_JoinTable>(ncb);

            yield return(StartCoroutine(sceneModel.MainInitProcedure()));

            yield return(StartCoroutine(skillModel.MainInitProcedure()));

            FishManager.Instance.Init(); yield return(new WaitForEndOfFrame());

            BulletManager.Instance.Init(); yield return(new WaitForEndOfFrame());

            SkillManager.Instance.Init(); yield return(new WaitForEndOfFrame());

            PlayerManager.Instance.Init(); yield return(new WaitForEndOfFrame());


            sceneModel.ResetScene(true); yield return(new WaitForEndOfFrame());


            print("资源加载完成");
            ProgressBar.fillAmount = 1;
        }