blob: 4e7f7ed4ac01da4059e027c20164dad7e0c34386 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
using System;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
using UnityEditor.Experimental.AssetImporters;
using UnityEngine;
namespace Poiyomi.ModularShaderSystem
{
[ScriptedImporter(1, MSSConstants.TEMPLATE_EXTENSION)]
public class TemplateAssetImporter : ScriptedImporter
{
public override void OnImportAsset(AssetImportContext ctx)
{
var subAsset = ScriptableObject.CreateInstance<TemplateAsset>();
subAsset.Template = File.ReadAllText(ctx.assetPath);
MatchCollection mk = Regex.Matches(subAsset.Template, @"#K#\w*", RegexOptions.Multiline);
MatchCollection mki = Regex.Matches(subAsset.Template, @"#KI#\w*", RegexOptions.Multiline);
var mkr = new string[mk.Count + mki.Count];
for (var i = 0; i < mk.Count; i++)
mkr[i] = mk[i].Value;
for (var i = 0; i < mki.Count; i++)
mkr[mk.Count + i] = mki[i].Value;
subAsset.Keywords = mkr.Distinct().ToArray();
ctx.AddObjectToAsset("Template", subAsset/*, icon*/);
ctx.SetMainObject(subAsset);
}
public override bool SupportsRemappedAssetType(Type type)
{
return type.IsAssignableFrom(typeof(TemplateAsset));
}
}
}
|