示例#1
0
        // 自定义服务广播
        private void OnRecvFromGameSvr(DecodeBstResult bst, string seq)
        {
            var body = new RecvFromGameSvrBst();

            body.MergeFrom(bst.Body);
            var eve = new BroadcastEvent(bst.Body, seq);

            this._responses.OnRecvFromGameSvr(body.RoomId, eve);
        }
示例#2
0
 /**
  * 自定义服务广播
  */
 public void OnRecvFromGameSvr(string id, BroadcastEvent eve)
 {
     if (!this.MatchId(id))
     {
         return;
     }
     try {
         var bst = new RecvFromGameSvrBst();
         bst.MergeFrom((ByteString)eve.Data);
         eve.Data = bst;
         _room.OnRecvFromGameSvr?.Invoke(eve);
     } catch (Exception e) {
         Debugger.Log(e.ToString());
     }
 }
示例#3
0
    void InitBroadcast()
    {
        // 设置收帧广播回调函数
        Global.Room.OnRecvFrame = eve =>
        {
            RecvFrameBst bst = (RecvFrameBst)eve.Data;
            AddAction(() => this.OnFrame(bst.Frame));
        };

        // 设置消息接收广播回调函数
        Global.Room.OnRecvFromClient = eve =>
        {
            RecvFromClientBst bst = (RecvFromClientBst)eve.Data;
        };

        // 设置服务器接收广播回调函数
        Global.Room.OnRecvFromGameSvr = eve =>
        {
            RecvFromGameSvrBst bst = (RecvFromGameSvrBst)eve.Data;
        };

        // 设置房间改变广播回调函数
        Global.Room.OnChangeRoom = eve =>
        {
            this.OnChangeRoom();
        };

        /* //no match for now
         * Room.OnMatch = eve =>
         * {
         *  RefreshRoomList();
         *  Debugger.Log("on match!");
         * };
         *
         * Room.OnCancelMatch = eve =>
         * {
         *  RefreshRoomList();
         *  Debugger.Log("on cancel match! ");
         * };
         */
    }