33 lines
740 B
C#
33 lines
740 B
C#
using UnityEngine;
|
|
|
|
namespace AllIn13DShader
|
|
{
|
|
public class EffectEnumOverride : AbstractEffectOverride
|
|
{
|
|
public string[] enumOptions;
|
|
|
|
public int index;
|
|
|
|
public EffectEnumOverride(AllIn13DEffectConfig effectConfig) : base(effectConfig)
|
|
{
|
|
enumOptions = new string[effectConfig.keywords.Count];
|
|
for(int i = 0; i < enumOptions.Length; i++)
|
|
{
|
|
enumOptions[i] = effectConfig.keywords[i].displayName;
|
|
}
|
|
}
|
|
|
|
protected override void ApplyMainPropertyChanges(Material mat)
|
|
{
|
|
for(int i = 0; i < keywords.Count; i++)
|
|
{
|
|
mat.DisableKeyword(keywords[i].keyword);
|
|
}
|
|
|
|
mat.EnableKeyword(keywords[index].keyword);
|
|
mat.SetFloat(propertyName, (float)index);
|
|
|
|
MaterialUtils.CheckMaterialShader(mat);
|
|
}
|
|
}
|
|
} |