Skip to content

Commit c73699b

Browse files
author
András Kurai
committed
Allow multiple file extensions
1 parent 4fcdda4 commit c73699b

File tree

4 files changed

+23
-17
lines changed

4 files changed

+23
-17
lines changed
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
namespace AutSoft.UnityResourceGenerator.Editor.Generation
1+
using System.Collections.Generic;
2+
3+
namespace AutSoft.UnityResourceGenerator.Editor.Generation
24
{
35
public interface IResourceData
46
{
57
string ClassName { get; }
6-
string FileExtension { get; }
8+
IReadOnlyList<string> FileExtensions { get; }
79
bool IsResource { get; }
810
}
911
}

UnityResourceGenerator/Assets/AutSoft.UnityResourceGenerator/Editor/Generation/Modules/AllResources.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@ public static partial class {data.ClassName}
2727
// ReSharper disable once MissingIndent
2828
const string classEnd = " }";
2929

30-
var values = Directory
31-
.EnumerateFiles(context.AssetsFolder, data.FileExtension, SearchOption.AllDirectories)
30+
var values = data
31+
.FileExtensions
32+
.SelectMany(ext => Directory.EnumerateFiles(context.AssetsFolder, ext, SearchOption.AllDirectories))
3233
.Select(filePath =>
3334
{
3435
var (canLoad, baseFolder) = GetBaseFolder(filePath, data.IsResource, context);

UnityResourceGenerator/Assets/AutSoft.UnityResourceGenerator/Editor/ResourceGeneratorSettings.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,22 @@ public sealed class ResourceGeneratorSettings : ScriptableObject
1212
public sealed class ResourceData : IResourceData
1313
{
1414
[SerializeField] private string _className = default;
15-
[SerializeField] private string _fileExtension = default;
15+
[SerializeField] private string[] _fileExtensions = default;
1616
[SerializeField] private bool _isResource = default;
1717

1818
public ResourceData()
1919
{
2020
}
2121

22-
public ResourceData(string className, string fileExtension, bool isResource)
22+
public ResourceData(string className, string[] fileExtensions, bool isResource)
2323
{
2424
_className = className;
25-
_fileExtension = fileExtension;
25+
_fileExtensions = fileExtensions;
2626
_isResource = isResource;
2727
}
2828

2929
public string ClassName => _className;
30-
public string FileExtension => _fileExtension;
30+
public IReadOnlyList<string> FileExtensions => _fileExtensions;
3131
public bool IsResource => _isResource;
3232
}
3333

@@ -42,14 +42,14 @@ public ResourceData(string className, string fileExtension, bool isResource)
4242

4343
[SerializeField] private bool _logInfo;
4444
[SerializeField] private bool _logError;
45-
[SerializeField] private ResourceData[] _data;
45+
[SerializeField] private List<ResourceData> _data;
4646

4747
public string FolderPath => _folderPath;
4848
public string BaseNamespace => _baseNamespace;
4949
public string ClassName => _className;
5050
public bool LogInfo => _logInfo;
5151
public bool LogError => _logError;
52-
public ResourceData[] Data => _data;
52+
public IReadOnlyList<ResourceData> Data => _data;
5353

5454
public static ResourceGeneratorSettings GetOrCreateSettings
5555
(
@@ -71,11 +71,11 @@ public static ResourceGeneratorSettings GetOrCreateSettings
7171
settings._logInfo = logInfo ?? false;
7272
settings._logError = logError ?? true;
7373

74-
settings._data = new[]
74+
settings._data = new List<ResourceData>
7575
{
76-
new ResourceData("Scenes", "*.unity", false),
77-
new ResourceData("Prefabs", "*.prefab", true),
78-
new ResourceData("Materials", "*.mat", true),
76+
new ResourceData("Scenes", new[]{"*.unity"}, false),
77+
new ResourceData("Prefabs", new[]{"*.prefab"}, true),
78+
new ResourceData("Materials", new[]{"*.mat"}, true),
7979
};
8080

8181
AssetDatabase.CreateAsset(settings, SettingsPath);

UnityResourceGenerator/Assets/ResourceGenerator.asset

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,14 @@ MonoBehaviour:
1919
_logError: 1
2020
_data:
2121
- _className: Scenes
22-
_fileExtension: '*.unity'
22+
_fileExtensions:
23+
- '*.unity'
2324
_isResource: 0
2425
- _className: Prefabs
25-
_fileExtension: '*.prefab'
26+
_fileExtensions:
27+
- '*.prefab'
2628
_isResource: 1
2729
- _className: Materials
28-
_fileExtension: '*.mat'
30+
_fileExtensions:
31+
- '*.mat'
2932
_isResource: 1

0 commit comments

Comments
 (0)