mirror of
https://github.com/kwsch/NHSE.git
synced 2026-08-28 13:54:24 -05:00
Add pattern bulk import
#443 Pattern names don't update on the left side (even for single-imports), don't bother for now. Just save & reopen the editor.
This commit is contained in:
@@ -164,6 +164,33 @@ private static void Dump(this DesignPattern dp, string path)
|
||||
File.WriteAllBytes(dest, dp.Data);
|
||||
}
|
||||
|
||||
/// <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;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Dumps all designs to the requested <see cref="path"/>.
|
||||
/// </summary>
|
||||
@@ -186,6 +213,33 @@ public static void Dump(this IEnumerable<DesignPatternPRO> patterns, string path
|
||||
dp.Dump(path);
|
||||
}
|
||||
|
||||
/// <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 DesignPatternPRO[] patterns, string path)
|
||||
{
|
||||
if (patterns.Length == 0)
|
||||
return;
|
||||
|
||||
var files = Directory.GetFiles(path, "*.nhpd", SearchOption.TopDirectoryOnly);
|
||||
int ctr = 0;
|
||||
foreach (var f in files)
|
||||
{
|
||||
var fi = new FileInfo(f);
|
||||
if (fi.Length != DesignPatternPRO.SIZE)
|
||||
continue;
|
||||
|
||||
var data = File.ReadAllBytes(f);
|
||||
var p = new DesignPatternPRO(data);
|
||||
p.ChangeOrigins(patterns[ctr], data);
|
||||
patterns[ctr] = p;
|
||||
if (++ctr >= patterns.Length)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private static void Dump(this DesignPatternPRO dp, string path)
|
||||
{
|
||||
var name = dp.DesignName;
|
||||
|
||||
Reference in New Issue
Block a user