private static SheetData[] LoadSheetData(FileLoader.Format fileFormat, string recordDirectory) { var extension = FileLoader.GetFileExtension(fileFormat); if (!Directory.Exists(recordDirectory)) { Debug.LogErrorFormat("Directory {0} not found.", recordDirectory); return(null); } var sheetFiles = Directory.EnumerateFiles(recordDirectory, "*.*", SearchOption.TopDirectoryOnly) .Where(x => Path.GetExtension(x) == extension) .Select(x => PathUtility.ConvertPathSeparator(x)) .ToArray(); var list = new List <SheetData>(); foreach (var sheetFile in sheetFiles) { var sheetData = FileLoader.LoadFile <SheetData>(sheetFile, fileFormat); if (sheetData != null) { list.Add(sheetData); } } return(list.OrderBy(x => x.index).ToArray()); }
private Dictionary <string, ImportData> LoadImportData(BehaviorControlSetting setting, FileLoader.Format fileFormat) { var extension = FileLoader.GetFileExtension(fileFormat); if (!Directory.Exists(selectionDirectory)) { return(null); } var files = Directory.EnumerateFiles(selectionDirectory, "*.*", SearchOption.AllDirectories) .Where(x => Path.GetExtension(x) == extension) .Select(x => PathUtility.ConvertPathSeparator(x)) .ToArray(); var dictionary = new Dictionary <string, ImportData>(); foreach (var file in files) { var assetPath = ConvertDataPathToAssetPath(setting, file); var behaviorControlAsset = AssetDatabase.LoadMainAssetAtPath(assetPath) as BehaviorControlAsset; if (behaviorControlAsset != null && behaviorControlAsset.LastUpdate.HasValue) { var fileLastUpdate = File.GetLastWriteTimeUtc(file); var assetLastUpdate = behaviorControlAsset.LastUpdate.Value; if (fileLastUpdate <= assetLastUpdate) { continue; } } var data = FileLoader.LoadFile <ImportData>(file, fileFormat); if (data != null) { dictionary.Add(file, data); } } return(dictionary); }