public List <BlackLogEntry> Read(int startOffset, int logEntryStartIndex, int count) { var logEntryList = new List <BlackLogEntry>(); var dummyLogEntryBytes = BlackLogManager.GetLogEntryBytes(BlackLogEntry.Type.GameLoaded, 0, 0); readLogStream.Seek(startOffset + logEntryStartIndex * dummyLogEntryBytes.Length, SeekOrigin.Begin); var bytes = new byte[count * dummyLogEntryBytes.Length]; var readByteCount = readLogStream.Read(bytes, 0, bytes.Length); var offset = 0; for (var i = 0; i < readByteCount / dummyLogEntryBytes.Length; i++) { logEntryList.Add(new BlackLogEntry { ticks = BitConverter.ToInt64(bytes, offset + 0), type = BitConverter.ToInt32(bytes, offset + 0 + 8), arg1 = BitConverter.ToInt32(bytes, offset + 0 + 8 + 4), arg2 = BitConverter.ToInt64(bytes, offset + 0 + 8 + 4 + 4) }); offset += dummyLogEntryBytes.Length; } return(logEntryList); }
public long Count() { var dummyLogEntryBytes = BlackLogManager.GetLogEntryBytes(BlackLogEntry.Type.GameLoaded, 0, 0); return(readLogStream.Length / dummyLogEntryBytes.Length); }