SamplingTime GetOutputPlayTime(DebugMemory debugMemory, SamplingTime samplingTime, SamplingTime closestMatch, DebugIdentifier outputTimeIdentifier) { if (!closestMatch.IsValid) { return(samplingTime); } int playAtTimeTypeCode = BurstRuntime.GetHashCode32 <PlayAtTimeDebug>(); for (DebugReference reference = debugMemory.FirstOrDefault; reference.IsValid; reference = debugMemory.Next(reference)) { if (reference.identifier.typeHashCode != playAtTimeTypeCode) { continue; } PlayAtTimeDebug playAtTime = debugMemory.ReadObject <PlayAtTimeDebug>(reference); if (playAtTime.playTime.Equals(outputTimeIdentifier)) { return(closestMatch); } } return(samplingTime); }
Nullable <TrajectoryHeuristicDebug> FindTrajectoryHeuristic(DebugMemory debugMemory) { if (!trajectory.IsValid) { return(null); } int heuristicTypeCode = BurstRuntime.GetHashCode32 <TrajectoryHeuristicDebug>(); for (DebugReference reference = debugMemory.FirstOrDefault; reference.IsValid; reference = debugMemory.Next(reference)) { if (reference.identifier.typeHashCode != heuristicTypeCode) { continue; } TrajectoryHeuristicDebug heuristicDebug = debugMemory.ReadObject <TrajectoryHeuristicDebug>(reference); if (heuristicDebug.closestMatch.Equals(closestMatch)) { return(heuristicDebug); } } return(null); }