public void ReloadContents() { var bodyWatch = new Stopwatch(); var stringWatch = new Stopwatch(); bodyWatch.Start(); Body = new DBCBody(); Reader = new DBCReader(_filePath); var name = Path.GetFileNameWithoutExtension(_filePath); var binding = BindingManager.GetInstance().FindBinding(name); if (binding == null) { throw new Exception($"Binding not found: {name}.txt"); } Header = Reader.ReadDBCHeader(); Reader.ReadDBCRecords(Body, name); bodyWatch.Stop(); stringWatch.Start(); Reader.ReadStringBlock(); stringWatch.Stop(); var totalElapsed = stringWatch.ElapsedMilliseconds + bodyWatch.ElapsedMilliseconds; Console.WriteLine( $"Loaded {name}.dbc into memory in {totalElapsed}ms. Records: {bodyWatch.ElapsedMilliseconds}ms, strings: {stringWatch.ElapsedMilliseconds}ms"); }
protected void ReadDBCFile <RecordType>(string filePath) { Reader = new DBCReader(filePath); Header = Reader.ReadDBCHeader(); Reader.ReadDBCRecords <RecordType>(Body, Marshal.SizeOf(typeof(RecordType))); Reader.ReadStringBlock(); }
public void ReloadContents() { Body = new DBCBody(); Reader = new DBCReader(_filePath); var name = Path.GetFileNameWithoutExtension(_filePath); var binding = BindingManager.GetInstance().FindBinding(name); if (binding == null) { throw new Exception($"Binding not found: {name}.txt"); } Header = Reader.ReadDBCHeader(); Reader.ReadDBCRecords(Body, name); Reader.ReadStringBlock(); }