public void Test01() { var prof_list = GetProfession(); foreach (var prof in prof_list) { var dir = $"{SAVE_DIR}/image/{prof}"; if (Directory.Exists(dir)) { Directory.Delete(dir, true); } Directory.CreateDirectory(dir); foreach (var part in part_array) { var file = $"{GAME_DIR}/ImagePacks2/sprite_character_{prof}{(prof.EndsWith("_at") ? "" : "_")}equipment_avatar_{part}.NPK"; var avatars = GetAvatar(prof, part); var list = Npks.Load(file); var arr = new List <Album>(); list = list.Where(item => { var name = item.Name; if (name.Contains("(tn)") || name.Contains("_mask")) { return(false); } var regex = new Regex("\\d+"); var match = regex.Match(name); if (match.Success) { var codeStr = match.Value; var code = int.Parse(codeStr); var rs = false; for (var i = 0; i < item.Tables.Count; i++) { rs = rs || !avatars.Contains((code + i).ToString()); } return(rs); } return(false); }).ToList(); var target = $"{dir}/{part}/"; if (!Directory.Exists(target)) { Directory.CreateDirectory(target); } Npks.SaveToDirectory($"{dir}/{part}/", list); } } }
public void Action(params Album[] array) { switch (Type) { case SAVE_TO_DIR: Npks.SaveToDirectory(Path, array); break; case SAVE_TO_IMG: if (array.Length > 0) { array[0].Save(Path); } break; case SAVE_TO_NPK: Npks.Save(Path, new List <Album>(array)); break; } }