Beispiel #1
0
        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);
                }
            }
        }
Beispiel #2
0
        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;
            }
        }