예제 #1
0
    public static void Save(SaveTag saveTag, string name, string json)
    {
        var filename = saveTag.ToString() + "_" + name + ".json";
        var path     = Path.Combine(Application.persistentDataPath, filename);

        File.WriteAllText(path, json);
    }
예제 #2
0
    public static string Load(SaveTag saveTag, string name)
    {
        var filename = saveTag.ToString() + "_" + name + ".json";
        var path     = Path.Combine(Application.persistentDataPath, filename);

        if (File.Exists(path))
        {
            var readText = File.ReadAllText(path);
            return(readText);
        }
        else
        {
            return("");
        }
    }
예제 #3
0
    public static string[] ListByTag(SaveTag saveTag)
    {
        DirectoryInfo taskDirectory = new DirectoryInfo(Application.persistentDataPath);
        var           pattern       = saveTag.ToString() + "_*.json";

        FileInfo[]    matchFiles = taskDirectory.GetFiles(pattern);
        List <string> names      = new List <string>();

        for (var i = 0; i < matchFiles.Length; i++)
        {
            var      fn     = Path.GetFileNameWithoutExtension(matchFiles[i].Name);
            string[] tokens = fn.Split('_');
            var      final  = string.Join("_", tokens.Skip(1).ToArray());
            names.Add(final);
        }
        return(names.ToArray());
    }
예제 #4
0
    static void saveToExcel(string path, AssetsCheckSettings _settings)
    {
        File.Delete(path);
        FileInfo file = new FileInfo(path);

        using (ExcelPackage myExcelPackage = new ExcelPackage(file))
        {
            int filterIndex = 1;
            foreach (var filter in _settings.filters)
            {
                if (!filter.valid)
                {
                    filterIndex++;
                    continue;
                }

                ExcelWorksheet worksheet = null;
                worksheet = myExcelPackage.Workbook.Worksheets.Add(filter.CheckTagString + filterIndex);
                if (mDictionaryCheck.ContainsKey(filter.CheckTagString))
                {
                    Type        type       = Type.GetType(filter.CheckTagString);
                    FieldInfo[] fieldInfos = type.GetFields();
                    int         index      = 0;
                    foreach (var info in fieldInfos)
                    {
                        object[] attrs = info.GetCustomAttributes(typeof(SaveTag), true);
                        if (attrs.Length > 0)
                        {
                            foreach (Attribute attr in attrs)
                            {
                                if (attr is SaveTag)
                                {
                                    SaveTag a = (SaveTag)attr;
                                    Debug.Log(a.Title);
                                    worksheet.Cells[1, 1 + index].Value = a.Title;
                                    int index1 = 1;

                                    foreach (var check in mDictionaryCheck[filter.CheckTagString])
                                    {
                                        worksheet.Cells[1 + index1, 1 + index].Value = info.GetValue(check);
                                        index1++;
                                    }
                                    index++;
                                }
                            }
                        }
                    }
                }

                filterIndex++;
            }
            // //创建ExcelWorkSheet对象,这个对象就是面对表的,是工作簿中单个表
            //
            // //坐标1,1赋值A1就是相当于在Excel中的A1位置赋值了一个A1字符串。
            // worksheet.Cells[1, 1].Value = "A1";
            // worksheet.Cells[1, 2].Value = "B1";
            // worksheet.Cells[1, 3].Value = "C1";
            // //save方法就保存我们这个对象,他就会去执行我们刚刚赋值的那些东西
            myExcelPackage.Save();
        }
    }