您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 

74 行
2.1 KiB

using System;
using UnityEditor.Experimental.UIElements.GraphView;
using UnityEditor.MaterialGraph.Drawing;
using UnityEditor.MaterialGraph.Drawing.Inspector;
using UnityEngine.Experimental.UIElements;
using Object = UnityEngine.Object;
namespace UnityEditor.MaterialGraph.Drawing
{
public class GraphEditorView : DataWatchContainer, IDisposable
{
GraphView m_GraphView;
GraphInspectorView m_GraphInspectorView;
public GraphView graphView
{
get { return m_GraphView; }
}
TitleBarView m_TitleBarView;
public GraphEditorView()
{
AddStyleSheetPath("Styles/MaterialGraph");
m_TitleBarView = new TitleBarView { name = "TitleBar" };
Add(m_TitleBarView);
var content = new VisualElement();
content.name = "content";
{
m_GraphView = new MaterialGraphView { name = "GraphView" };
m_GraphInspectorView = new GraphInspectorView() { name = "inspector" };
content.Add(m_GraphView);
content.Add(m_GraphInspectorView);
}
Add(content);
}
public override void OnDataChanged()
{
m_GraphView.presenter = m_Presenter.graphPresenter;
m_TitleBarView.dataProvider = m_Presenter.titleBarPresenter;
m_GraphInspectorView.presenter = m_Presenter.graphInspectorPresenter;
}
GraphEditorPresenter m_Presenter;
public GraphEditorPresenter presenter
{
get { return m_Presenter; }
set
{
if (m_Presenter == value)
return;
RemoveWatch();
m_Presenter = value;
OnDataChanged();
AddWatch();
}
}
protected override Object[] toWatch
{
get { return new Object[] { m_Presenter }; }
}
public void Dispose()
{
if (m_GraphInspectorView != null) m_GraphInspectorView.Dispose();
}
}
}