Пример #1
0
        ///////////////////////////////// 广播 //////////////////////////////////
        // 收到帧同步消息
        private void OnRecvFrame(DecodeBstResult bstResult, string seq)
        {
            var bst = (RecvFrameBst)bstResult.Body;

            bst.Frame.RoomId = this.GetFrameRoom().Id;
            var eve = new BroadcastEvent(bst, seq);

            Debugger.Log("OnRecvFrame {0}", eve);

            // 用户数据上传
            FrameBst.Trigger();

            EventUpload.PushFrameRateEvent(Convert.ToInt64(FrameBst.deltaTime));

            this._bstCallbacks.Room.OnRecvFrame(eve);
        }
Пример #2
0
        ///////////////////////////////// 广播 //////////////////////////////////
        // 收到帧同步消息
        private void OnRecvFrame(DecodeBstResult bstResult, string seq)
        {
            var bst = new RecvFrameBst();

            bst.MergeFrom(bstResult.Body);
            bst.Frame.RoomId = this.GetFrameRoom().Id;
            var eve = new BroadcastEvent(bst, seq);

            // 用户数据上传
            FrameBst.Trigger();

            EventUpload.PushFrameRateEvent(Convert.ToInt64(FrameBst.deltaTime));

            // 上报时间间隔
            foreach (var frameItem in bst.Frame.Items)
            {
                if (frameItem.PlayerId == RequestHeader.PlayerId)
                {
                    EventUpload.PushSendRecvEvent(SdkUtil.GetCurrentTimeMilliseconds() - Convert.ToInt64(frameItem.Timestamp));
                }
            }
            this._responses.OnRecvFrame(eve);
        }