public static bool CutDemoByTime(udtParserContextRef context, ref udtParseArg parseArg, string filePath, int startTimeSec, int endTimeSec) { if(context == IntPtr.Zero) { return false; } parseArg.PlugInCount = 0; parseArg.PlugIns = IntPtr.Zero; var cut = new udtCut(); cut.GameStateIndex = parseArg.GameStateIndex; cut.StartTimeMs = startTimeSec * 1000; cut.EndTimeMs = endTimeSec * 1000; var pinnedCut = new PinnedObject(cut); var cutInfo = new udtCutByTimeArg(); cutInfo.Cuts = pinnedCut.Address; cutInfo.CutCount = 1; var success = udtCutDemoFileByTime(context, ref parseArg, ref cutInfo, filePath) == udtErrorCode.None; pinnedCut.Free(); return success; }
private static extern udtErrorCode udtCutDemoFileByTime(udtParserContextRef context, ref udtParseArg info, ref udtCutByTimeArg cutInfo, string demoFilePath);