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