You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.3 KiB
53 lines
1.3 KiB
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
[CreateAssetMenu]
|
|
public class RsProcessingProfile : ScriptableObject, IEnumerable<RsProcessingBlock>
|
|
{
|
|
// [HideInInspector]
|
|
[SerializeField]
|
|
public List<RsProcessingBlock> _processingBlocks;
|
|
|
|
public IEnumerator<RsProcessingBlock> GetEnumerator()
|
|
{
|
|
return _processingBlocks.GetEnumerator() as IEnumerator<RsProcessingBlock>;
|
|
}
|
|
|
|
IEnumerator IEnumerable.GetEnumerator()
|
|
{
|
|
return _processingBlocks.GetEnumerator();
|
|
}
|
|
|
|
|
|
#if UNITY_EDITOR
|
|
void Reset()
|
|
{
|
|
|
|
var obj = new UnityEditor.SerializedObject(this);
|
|
obj.Update();
|
|
|
|
var blocks = obj.FindProperty("_processingBlocks");
|
|
blocks.ClearArray();
|
|
|
|
var p = UnityEditor.AssetDatabase.GetAssetPath(this);
|
|
var bl = UnityEditor.AssetDatabase.LoadAllAssetsAtPath(p);
|
|
foreach (var a in bl)
|
|
{
|
|
if (a == this)
|
|
continue;
|
|
// Debug.Log(a, a);
|
|
// DestroyImmediate(a, true);
|
|
int i = blocks.arraySize++;
|
|
var e = blocks.GetArrayElementAtIndex(i);
|
|
e.objectReferenceValue = a;
|
|
}
|
|
|
|
obj.ApplyModifiedProperties();
|
|
// UnityEditor.EditorUtility.SetDirty(this);
|
|
UnityEditor.AssetDatabase.SaveAssets();
|
|
|
|
}
|
|
#endif
|
|
}
|