Пример #1
0
        /// <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;
                }
            }
        }
Пример #2
0
        private static void Dump(this DesignPatternPRO dp, string path)
        {
            var name = dp.DesignName;
            var fn   = StringUtil.CleanFileName($"{name}.nhpd");
            var dest = Path.Combine(path, fn);

            File.WriteAllBytes(dest, dp.Data);
        }
Пример #3
0
        private static void Dump(this DesignPatternPRO 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);
        }
Пример #4
0
        private static void Dump(this DesignPatternPRO dp, string path, int index)
        {
            // Dump without index
            var name = dp.DesignName;
            var fn   = StringUtil.CleanFileName($"{name}.nhpd");
            var dest = Path.Combine(path, fn);

            File.WriteAllBytes(dest, dp.Data);

            // Dump with index
            fn   = StringUtil.CleanFileName($"{index:00} - {name}.nhpd");
            dest = Path.Combine(path, fn);
            File.WriteAllBytes(dest, dp.Data);
        }