Updated PropertyDrawer;

Updated MaterialUIScope;
This commit is contained in:
2025-03-30 12:24:36 +09:00
parent b12794270f
commit 86f0bf639c
3 changed files with 19 additions and 5 deletions

View File

@@ -72,11 +72,22 @@ namespace Misaki.ShaderGUI
public class PopupDrawer : PopupUIDrawer
{
private const string Keyword_Suffix = "_ON";
private const string _KEYWORD_SUFFIX = "_ON";
private string _keyword;
public PopupDrawer()
{
}
public PopupDrawer(string keyword)
{
_keyword = keyword;
}
protected override void OnPropertyChanged(MaterialProperty prop)
{
var keywordName = prop.name.ToUpper() + Keyword_Suffix;
_keyword ??= prop.name.ToUpper() + _KEYWORD_SUFFIX;
foreach (var target in prop.targets)
{
if (target is not Material material)
@@ -90,11 +101,11 @@ namespace Misaki.ShaderGUI
if (prop.type != MaterialProperty.PropType.Int)
#endif
{
material.SetKeyword(new LocalKeyword(material.shader, keywordName), prop.floatValue != 0);
material.SetKeyword(new LocalKeyword(material.shader, _keyword), prop.floatValue != 0);
}
else
{
material.SetKeyword(new LocalKeyword(material.shader, keywordName), prop.intValue != 0);
material.SetKeyword(new LocalKeyword(material.shader, _keyword), prop.intValue != 0);
}
}
}