/// <summary> /// Loads all designs from the requested <see cref="path"/>. /// </summary> /// <param name="patterns">Patterns to load</param> /// <param name="path">Path to load from</param> public static void Load(this DesignPattern[] patterns, string path) { if (patterns.Length == 0) { return; } var files = Directory.GetFiles(path, "*.nhd", SearchOption.TopDirectoryOnly); int ctr = 0; foreach (var f in files) { var fi = new FileInfo(f); if (fi.Length != DesignPattern.SIZE) { continue; } var data = File.ReadAllBytes(f); var p = new DesignPattern(data); p.ChangeOrigins(patterns[ctr], data); patterns[ctr] = p; if (++ctr >= patterns.Length) { break; } } }
private static void Dump(this DesignPattern dp, string path) { var name = dp.DesignName; var fn = StringUtil.CleanFileName($"{name}.nhd"); var dest = Path.Combine(path, fn); File.WriteAllBytes(dest, dp.Data); }
private static void Dump(this DesignPattern dp, string path, int index, bool indexed) { var name = dp.DesignName; string fn = indexed ? $"{index:00} - {name}.nhd" : $"{name}.nhd"; fn = StringUtil.CleanFileName(fn); var dest = Path.Combine(path, fn); File.WriteAllBytes(dest, dp.Data); }
private static void Dump(this DesignPattern dp, string path, int index) { // Dump without index var name = dp.DesignName; var fn = StringUtil.CleanFileName($"{name}.nhd"); var dest = Path.Combine(path, fn); File.WriteAllBytes(dest, dp.Data); // Dump with index fn = StringUtil.CleanFileName($"{index:00} - {name}.nhd"); dest = Path.Combine(path, fn); File.WriteAllBytes(dest, dp.Data); }