private void P2C_Packages(MobaMessage msg) { OperationResponse operationResponse = msg.Param as OperationResponse; byte[] buffer = (byte[])operationResponse.Parameters[0]; Packages packages = SerializeHelper.Deserialize <Packages>(buffer); FrameSyncManager.Instance.newNetFrameNum = ((!FrameSyncManager.Instance.UseFrame) ? packages.tick : packages.frameId); if (packages.packages != null) { if (!Singleton <PvpManager> .Instance.IsObserver) { } for (int i = 0; i < packages.packages.Length; i++) { RelpayCmd relpayCmd = packages.packages[i]; MobaMessage message = MobaMessageManager.GetMessage((PvpCode)relpayCmd.code, relpayCmd.paramListBytes, 0f, null); if (MobaMessageManager.IsHandlerExists(message)) { FrameSyncManager.Instance.ReceiveMsg(message); } else if (!Singleton <PvpManager> .Instance.IsObserver) { } } } if (FrameSyncManager.Instance.WaitFrameTime || packages.packages != null) { FrameSyncManager.Instance.ReceiveMsg(MobaMessageManager.GetMessage(PvpCode.P2C_FrameSync, FrameSyncManager.Instance.newNetFrameNum, 0f, null)); } }
private void UnpackPackages(int msgID, object msgParam, MsgType msgType) { OperationResponse operationResponse = msgParam as OperationResponse; byte[] buffer; if (operationResponse == null) { buffer = (byte[])msgParam; } else { buffer = (byte[])operationResponse.Parameters[0]; } Packages packages = SerializeHelper.Deserialize <Packages>(buffer); if (packages.packages != null) { for (int i = 0; i < packages.packages.Length; i++) { RelpayCmd relpayCmd = packages.packages[i]; this.AddMsg((int)relpayCmd.code, relpayCmd.paramListBytes, msgType, packages.svrTime); } } }