コード例 #1
0
ファイル: HallLogic.cs プロジェクト: Pircs/Fishing-1
    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;
    }
コード例 #2
0
ファイル: HallBackground.cs プロジェクト: xinrui5577/roomgame
        /// <summary>
        /// 切换背景
        /// </summary>
        public void Change(HallState state)
        {
            string textureName;

            switch (state)
            {
            case HallState.Gamelist:
                textureName = GamelistTextureName;
                break;

            case HallState.Roomlist:
                textureName = RoomlistTextureName;
                break;

            default:
                textureName = DefaultTextureName;
                break;
            }
            if (MobileBg != null && Application.isMobilePlatform)
            {
                SetHideBg(2);
                StartCoroutine(ChangeBg(textureName));
                return;
            }
            var texture = ResourceManager.LoadAsset <Texture>(App.HallName, "HallBackground", textureName) ??
                          ResourceManager.LoadAsset <Texture>(App.HallName, "HallBackground", DefaultTextureName);

            SetHideBg(1);
            DefaultBg.mainTexture = texture;
#if UNITY_STANDALONE_WIN
            if (texture is MovieTexture)
            {
                var mt = texture as MovieTexture;
                mt.loop = true;
                mt.Play();
            }
#endif
        }
コード例 #3
0
ファイル: HallLogic.cs プロジェクト: Pircs/Fishing-1
    public bool Handle(NetCmdPack pack)
    {
        if (pack.cmd.GetCmdType() == NetCmdType.CMD_JOIN_ROOM_RESULT)
        {
            NetCmdJoinRoomResult ncj = (NetCmdJoinRoomResult)pack.cmd;
            JoinRoomData         ncg = new JoinRoomData();
            ncg.RoomID          = ncj.RoomID;
            ncg.BackgroundImage = ncj.BackgroundImage;
            ncg.LauncherType    = ncj.LauncherType;
            ncg.Seat            = ncj.Seat;
            ncg.RateIndex       = 0;
            if (ncj.Result == 0)
            {
                State = HallState.HALL_JOIN_FAILED;
                GlobalEffectMgr.Instance.CloseLoadingMessage();
            }
            else
            {
                NetServices.Instance.CmdHandler = null;
                LogicManager.Instance.Forward(ncg);
            }
            return(true);
        }
        else if (pack.cmd.GetCmdType() == NetCmdType.CMD_LC_JoinTable)
        {
            LC_Cmd_JoinTableResult ncb = (LC_Cmd_JoinTableResult)pack.cmd;

            tagUserOperationEvent pUOM = new tagUserOperationEvent((ncb.Result ? UserOperateMessage.UOM_Table_JoinTable_Sucess : UserOperateMessage.UOM_Table_JoinTable_Failed_7));
            MsgEventHandle.HandleMsg(pUOM);

            if (ncb.Result)
            {
                //在玩家身上设置玩家桌子ID
                PlayerRole.Instance.RoleInfo.RoleMe.SetTableTypeID(ncb.bTableTypeID);

                NetServices.Instance.CmdHandler = null;

                PlayerRole.Instance.RoleGameData.OnHandleRoleJoinTable();//表示玩家已经进入房间了
                JoinRoomData ncg = new JoinRoomData();
                ncg.RoomID          = ncb.bTableTypeID;
                ncg.BackgroundImage = ncb.BackgroundImage;
                ncg.LauncherType    = ncb.LauncherType;
                ncg.Seat            = ncb.SeatID;
                ncg.RateIndex       = ncb.RateIndex;
                ncg.Energy          = ncb.Energy;
                LogicManager.Instance.Forward(ncg);
            }
            else
            {
                State = HallState.HALL_JOIN_FAILED;
                GlobalEffectMgr.Instance.CloseLoadingMessage();
            }
            return(true);
        }
        else if (pack.cmd.GetCmdType() == NetCmdType.CMD_CHANGE_IMG)
        {
            NetCmdImgChange cmd = (NetCmdImgChange)pack.cmd;
            HeaderManager.Instance.GetPlayerHeader(cmd.PlayerID, cmd.ImgCrcValue, HeaderOptType.HEADER_FRIEND, null);
            return(true);
        }
        return(false);
    }