浏览代码

Fixed a bug causing frequent, unneeded serialization of the entire graph in the graph inspector

/main
Peter Bay Bastian 8 年前
当前提交
fc03abf6
共有 2 个文件被更改,包括 7 次插入5 次删除
  1. 10
      MaterialGraphProject/Assets/GraphFramework/SerializableGraph/Editor/Drawing/AbstractGraphInspector.cs
  2. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/GraphInspectors/MaterialGraphInspector.cs

10
MaterialGraphProject/Assets/GraphFramework/SerializableGraph/Editor/Drawing/AbstractGraphInspector.cs


protected List<AbstractNodeInspector> m_Inspectors = new List<AbstractNodeInspector>();
protected IGraphAsset m_GraphAsset;
protected IGraphAsset graphAsset
{
get { return target as IGraphAsset; }
}
protected abstract void AddTypeMappings(Action<Type, Type> map);

private void UpdateSelection()
{
if (m_GraphAsset == null)
if (graphAsset == null)
selectedNodes.value.AddRange(m_GraphAsset.drawingData.selection.Select(m_GraphAsset.graph.GetNodeFromGuid));
selectedNodes.value.AddRange(graphAsset.drawingData.selection.Select(graphAsset.graph.GetNodeFromGuid));
if (m_SelectedNodes == null || m_Inspectors.Any(i => i.node == null) || !selectedNodes.value.SequenceEqual(m_SelectedNodes))
OnSelectionChanged(selectedNodes.value);
}

public virtual void OnEnable()
{
m_GraphAsset = target as IGraphAsset;
m_DataMapper.Clear();
AddTypeMappings(m_DataMapper.AddMapping);
UpdateSelection();

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/GraphInspectors/MaterialGraphInspector.cs


{
private UnityEngine.MaterialGraph.MaterialGraph materialGraph
{
get { return m_GraphAsset.graph as UnityEngine.MaterialGraph.MaterialGraph; }
get { return graphAsset.graph as UnityEngine.MaterialGraph.MaterialGraph; }
}
public override void OnEnable()

正在加载...
取消
保存