Skip to content

Commit

Permalink
fix Tex() default value descriptions
Browse files Browse the repository at this point in the history
  • Loading branch information
JasonMa0012 committed Dec 10, 2023
1 parent d0fbd0f commit 3b0c3bc
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 24 deletions.
4 changes: 2 additions & 2 deletions Editor/MetaDataHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -458,13 +458,13 @@ public void BuildPerFrameData(Shader shader, Material material, MaterialProperty
foreach (var decoratorDrawer in decoratorDrawers)
{
if (decoratorDrawer is IBaseDrawer)
(decoratorDrawer as IBaseDrawer).GetDefaultValueDescription(shader, prop, perShaderData, this);
(decoratorDrawer as IBaseDrawer).GetDefaultValueDescription(shader, prop, propDynamicData.defualtProperty, perShaderData, this);
}
}
if (drawer != null)
{
if (drawer is IBaseDrawer)
(drawer as IBaseDrawer).GetDefaultValueDescription(shader, prop, perShaderData, this);
(drawer as IBaseDrawer).GetDefaultValueDescription(shader, prop, propDynamicData.defualtProperty, perShaderData, this);
}
if (string.IsNullOrEmpty(propDynamicData.defaultValueDescription))
propDynamicData.defaultValueDescription =
Expand Down
50 changes: 29 additions & 21 deletions Editor/ShaderDrawer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public interface IBaseDrawer
{
void BuildStaticMetaData(Shader inShader, MaterialProperty inProp, MaterialProperty[] inProps, PropertyStaticData inoutPropertyStaticData);

void GetDefaultValueDescription(Shader inShader, MaterialProperty inProp, PerShaderData inPerShaderData, PerFrameData inoutPerFrameData);
void GetDefaultValueDescription(Shader inShader, MaterialProperty inProp, MaterialProperty inDefaultProp, PerShaderData inPerShaderData, PerFrameData inoutPerFrameData);
}

public interface IBasePresetDrawer
Expand Down Expand Up @@ -67,12 +67,12 @@ public virtual void BuildStaticMetaData(Shader inShader, MaterialProperty inProp
}

public virtual void GetDefaultValueDescription(Shader inShader,
MaterialProperty inProp,
PerShaderData inPerShaderData,
PerFrameData inoutPerFrameData)
MaterialProperty inProp,
MaterialProperty inDefaultProp,
PerShaderData inPerShaderData,
PerFrameData inoutPerFrameData)
{
inoutPerFrameData.propertyDatas[inProp.name].defaultValueDescription =
inoutPerFrameData.propertyDatas[inProp.name].defualtProperty.floatValue > 0 ? "On" : "Off";
inoutPerFrameData.propertyDatas[inProp.name].defaultValueDescription = inDefaultProp.floatValue > 0 ? "On" : "Off";
}

public override void OnGUI(Rect position, MaterialProperty prop, GUIContent label, MaterialEditor editor)
Expand Down Expand Up @@ -148,7 +148,11 @@ public virtual void BuildStaticMetaData(Shader inShader, MaterialProperty inProp
inoutPropertyStaticData.groupName = group;
}

public virtual void GetDefaultValueDescription(Shader inShader, MaterialProperty inProp, PerShaderData inPerShaderData, PerFrameData inoutPerFrameData) { }
public virtual void GetDefaultValueDescription(Shader inShader,
MaterialProperty inProp,
MaterialProperty inDefaultProp,
PerShaderData inPerShaderData,
PerFrameData inoutPerFrameData) { }

public override void OnGUI(Rect position, MaterialProperty prop, GUIContent label, MaterialEditor editor)
{
Expand Down Expand Up @@ -204,11 +208,11 @@ public SubToggleDrawer(string group, string keyWord)

public override void GetDefaultValueDescription(Shader inShader,
MaterialProperty inProp,
MaterialProperty inDefaultProp,
PerShaderData inPerShaderData,
PerFrameData inoutPerFrameData)
{
inoutPerFrameData.propertyDatas[inProp.name].defaultValueDescription =
inoutPerFrameData.propertyDatas[inProp.name].defualtProperty.floatValue > 0 ? "On" : "Off";
inoutPerFrameData.propertyDatas[inProp.name].defaultValueDescription = inDefaultProp.floatValue > 0 ? "On" : "Off";
}

public override void DrawProp(Rect position, MaterialProperty prop, GUIContent label, MaterialEditor editor)
Expand Down Expand Up @@ -334,6 +338,7 @@ public override void BuildStaticMetaData(Shader inShader, MaterialProperty inPro

public override void GetDefaultValueDescription(Shader inShader,
MaterialProperty inProp,
MaterialProperty inDefaultProp,
PerShaderData inPerShaderData,
PerFrameData inoutPerFrameData)
{
Expand All @@ -348,8 +353,8 @@ public override void BuildStaticMetaData(Shader inShader, MaterialProperty inPro
}

inoutPerFrameData.propertyDatas[inProp.name].defaultValueDescription =
inoutPerFrameData.propertyDatas[_minPropName].defualtProperty.floatValue + " - " +
inoutPerFrameData.propertyDatas[_maxPropName].defualtProperty.floatValue;
inoutPerFrameData.GetDefaultProperty(_minPropName).floatValue + " - " +
inoutPerFrameData.GetDefaultProperty(_maxPropName).floatValue;
}

public override void DrawProp(Rect position, MaterialProperty prop, GUIContent label, MaterialEditor editor)
Expand Down Expand Up @@ -498,10 +503,11 @@ protected void Init(string group, string[] names, string[] keyWords, float[] val

public override void GetDefaultValueDescription(Shader inShader,
MaterialProperty inProp,
MaterialProperty inDefaultProp,
PerShaderData inPerShaderData,
PerFrameData inoutPerFrameData)
{
var index = Array.IndexOf(_values, (int)inoutPerFrameData.propertyDatas[inProp.name].defualtProperty.floatValue);
var index = Array.IndexOf(_values, (int)inDefaultProp.floatValue);
if (index < _names.Length && index >= 0)
inoutPerFrameData.propertyDatas[inProp.name].defaultValueDescription = _names[index].text;
}
Expand Down Expand Up @@ -645,20 +651,21 @@ public override void BuildStaticMetaData(Shader inShader, MaterialProperty inPro

public override void GetDefaultValueDescription(Shader inShader,
MaterialProperty inProp,
MaterialProperty inDefaultProp,
PerShaderData inPerShaderData,
PerFrameData inoutPerFrameData)
{
var extraProp = inoutPerFrameData.GetProperty(_extraPropName);
if (extraProp != null)
var defaultExtraProp = inoutPerFrameData.GetDefaultProperty(_extraPropName);
if (defaultExtraProp != null)
{
var text = string.Empty;
if (extraProp.type == MaterialProperty.PropType.Vector)
text = ChannelDrawer.GetChannelName(extraProp);
if (defaultExtraProp.type == MaterialProperty.PropType.Vector)
text = ChannelDrawer.GetChannelName(defaultExtraProp);
else
text = RevertableHelper.GetPropertyDefaultValueText(extraProp);
text = RevertableHelper.GetPropertyDefaultValueText(defaultExtraProp);

inoutPerFrameData.propertyDatas[inProp.name].defaultValueDescription =
RevertableHelper.GetPropertyDefaultValueText(inProp) + ", " + text;
RevertableHelper.GetPropertyDefaultValueText(inDefaultProp) + ", " + text;
}
}

Expand Down Expand Up @@ -844,11 +851,11 @@ public static string GetChannelName(MaterialProperty prop)

public override void GetDefaultValueDescription(Shader inShader,
MaterialProperty inProp,
MaterialProperty inDefaultProp,
PerShaderData inPerShaderData,
PerFrameData inoutPerFrameData)
{
inoutPerFrameData.propertyDatas[inProp.name].defaultValueDescription =
GetChannelName(inoutPerFrameData.propertyDatas[inProp.name].defualtProperty);
inoutPerFrameData.propertyDatas[inProp.name].defaultValueDescription = GetChannelName(inDefaultProp);
}

public override void DrawProp(Rect position, MaterialProperty prop, GUIContent label, MaterialEditor editor)
Expand Down Expand Up @@ -1060,10 +1067,11 @@ public override void BuildStaticMetaData(Shader inShader, MaterialProperty inPro

public override void GetDefaultValueDescription(Shader inShader,
MaterialProperty inProp,
MaterialProperty inDefaultProp,
PerShaderData inPerShaderData,
PerFrameData inoutPerFrameData)
{
var index = (int)inoutPerFrameData.propertyDatas[inProp.name].defualtProperty.floatValue;
var index = (int)inDefaultProp.floatValue;
var propertyPreset = inPerShaderData.propertyDatas[inProp.name].propertyPresetAsset;

if (propertyPreset && index < propertyPreset.presets.Count && index >= 0)
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "com.jasonma.lwgui",
"version": "1.14.2",
"version": "1.14.3",
"displayName": "LWGUI",
"description": "A Lightweight, Flexible, Powerful Shader GUI System for Unity.",
"keywords": [
Expand Down

0 comments on commit 3b0c3bc

Please sign in to comment.