浏览代码

Enforce underscore in overriden property names and allow rest by supplying empty string

/main
Jens Holm 6 年前
当前提交
82435f05
共有 1 个文件被更改,包括 28 次插入6 次删除
  1. 34
      com.unity.shadergraph/Editor/Drawing/Blackboard/BlackboardFieldPropertyView.cs

34
com.unity.shadergraph/Editor/Drawing/Blackboard/BlackboardFieldPropertyView.cs


static Type s_ContextualMenuManipulator = AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => x.GetTypesOrNothing()).FirstOrDefault(t => t.FullName == "UnityEngine.Experimental.UIElements.ContextualMenuManipulator");
IManipulator m_ResetReferenceMenu;
public BlackboardFieldPropertyView(AbstractMaterialGraph graph, IShaderProperty property)
{
m_Graph = graph;

AddRow("Reference name", m_ReferenceNameField);
AddRow("Reference", m_ReferenceNameField);
string newReferenceName = m_Graph.SanitizePropertyReferenceName(newName.newValue);
string newReferenceName = m_Graph.SanitizePropertyReferenceName(newName.newValue, property.guid);
m_ReferenceNameField.value = newReferenceName;
m_ReferenceNameField.style.fontStyle = StyleValue<FontStyle>.Create(FontStyle.Bold);
m_ReferenceNameField.value = property.referenceName;
if (string.IsNullOrEmpty(property.overrideReferenceName))
m_ReferenceNameField.style.fontStyle = StyleValue<FontStyle>.Create(FontStyle.Normal);
else
m_ReferenceNameField.style.fontStyle = StyleValue<FontStyle>.Create(FontStyle.Bold);
UpdateReferenceNameResetMenu();
});
if (!string.IsNullOrEmpty(property.overrideReferenceName))

AddToClassList("sgblackboardFieldPropertyView");
this.AddManipulator((IManipulator)Activator.CreateInstance(s_ContextualMenuManipulator, (Action<ContextualMenuPopulateEvent>)BuildContextualMenu));
UpdateReferenceNameResetMenu();
}
void UpdateReferenceNameResetMenu()
{
if (string.IsNullOrEmpty(m_Property.overrideReferenceName))
{
this.RemoveManipulator(m_ResetReferenceMenu);
m_ResetReferenceMenu = null;
}
else
{
m_ResetReferenceMenu = (IManipulator)Activator.CreateInstance(s_ContextualMenuManipulator, (Action<ContextualMenuPopulateEvent>)BuildContextualMenu);
this.AddManipulator(m_ResetReferenceMenu);
}
evt.menu.AppendAction("Reset reference name", e =>
evt.menu.AppendAction("Reset reference", e =>
{
m_Property.overrideReferenceName = null;
m_ReferenceNameField.value = m_Property.referenceName;

正在加载...
取消
保存