private void OnTssCollected() { IntPtr intPtr = TssSdk.tss_get_report_data(); if (intPtr != IntPtr.Zero) { TssSdk.AntiDataInfo antiDataInfo = new TssSdk.AntiDataInfo(); if (TssSdk.Is64bit()) { short num = Marshal.ReadInt16(intPtr, 0); long num2 = Marshal.ReadInt64(intPtr, 2); antiDataInfo.anti_data_len = (ushort)num; antiDataInfo.anti_data = new IntPtr(num2); } else if (TssSdk.Is32bit()) { short num3 = Marshal.ReadInt16(intPtr, 0); long num4 = (long)Marshal.ReadInt32(intPtr, 2); antiDataInfo.anti_data_len = (ushort)num3; antiDataInfo.anti_data = new IntPtr(num4); } if (antiDataInfo.anti_data == IntPtr.Zero) { ADebug.Log("OnTssCollected aniti data is null"); return; } ApolloTSS apolloTSS = new ApolloTSS(); apolloTSS.wLen = antiDataInfo.anti_data_len; apolloTSS.szData = new byte[(int)apolloTSS.wLen]; Marshal.Copy(antiDataInfo.anti_data, apolloTSS.szData, 0, (int)apolloTSS.wLen); ADebug.Log("begin send tss data len:" + apolloTSS.wLen); if (this.talker != null) { this.talker.Send(TalkerCommand.CommandDomain.TSS, apolloTSS); } else if (this.transfer != null) { this.transfer.OnTssDataCollected(apolloTSS.szData); } TssSdk.tss_del_report_data(intPtr); } else { ADebug.Log("tss tss_get_report_data addr is null"); } }