Files
2026-02-23 22:01:07 +07:00

95 lines
1.6 KiB
C#

using System.Collections.Generic;
using UnityEditor;
namespace AllIn13DShader
{
[System.Serializable]
public class EffectGroup
{
public EffectGroupGlobalConfig effectGroupConfig;
public AllIn13DEffectConfig[] effects;
public string GroupID
{
get
{
return effectGroupConfig.groupID;
}
}
public string DisplayName
{
get
{
return effectGroupConfig.displayName;
}
}
public EffectGroup(EffectGroupGlobalConfig effectGroupConfig)
{
this.effectGroupConfig = effectGroupConfig;
this.effects = new AllIn13DEffectConfig[0];
}
public void AddEffect(AllIn13DEffectConfig effect)
{
ArrayUtility.Add(ref effects, effect);
}
public AllIn13DEffectConfig FindEffectByID(string effectID)
{
AllIn13DEffectConfig res = null;
for (int i = 0; i < effects.Length; i++)
{
if (effects[i].effectName == effectID)
{
res = effects[i];
break;
}
}
return res;
}
public List<EffectProperty> GetEffectPropertyFlatList()
{
List<EffectProperty> res = new List<EffectProperty>();
for(int i = 0; i < effects.Length; i++)
{
res.AddRange(effects[i].effectProperties);
}
return res;
}
public int FindEffectIndexByID(string effectID)
{
int res = -1;
for(int i = 0; i < effects.Length; i++)
{
if (effects[i].effectName == effectID)
{
res = i;
break;
}
}
return res;
}
public string[] GetEffectsNames()
{
string[] res = new string[effects.Length];
for(int i = 0; i < effects.Length; i++)
{
res[i] = effects[i].displayName;
}
return res;
}
}
}