浏览代码

Fixed some bugs after master merge.

/main
damian 7 年前
当前提交
3db84206
共有 3 个文件被更改,包括 22 次插入74 次删除
  1. 4
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Manipulators/Draggable.cs
  2. 19
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Presenters/MaterialGraphPresenter.cs
  3. 73
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Views/MaterialNodeView.cs

4
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Manipulators/Draggable.cs


void OnMouseDown(MouseDownEvent evt)
{
target.TakeCapture();
target.TakeMouseCapture();
m_Active = true;
evt.StopPropagation();
}

void OnMouseUp(MouseUpEvent evt)
{
m_Active = false;
target.ReleaseCapture();
target.ReleaseMouseCapture();
evt.StopPropagation();
}
}

19
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Presenters/MaterialGraphPresenter.cs


void NodeAdded(NodeAddedGraphChange change)
{
var nodeView = (MaterialNodeView)typeMapper.Create(change.node);
var nodeView = new MaterialNodeView();
change.node.onModified += OnNodeChanged;
nodeView.Initialize(change.node, m_PreviewSystem);
m_GraphView.AddElement(nodeView);

graph.ValidateGraph();
}
public void Connect(GraphAnchorPresenter left, GraphAnchorPresenter right)
{
if (left != null && right != null)
{
graph.owner.RegisterCompleteObjectUndo("Connect Edge");
graph.Connect(left.slot.slotReference, right.slot.slotReference);
}
}
Undo.RecordObject(m_GraphObject, "Connect Edge");
graph.owner.RegisterCompleteObjectUndo("Connect Edge");
var leftSlot = left.userData as ISlot;
var rightSlot = right.userData as ISlot;

graph.Connect(leftSlot.slotReference, rightSlot.slotReference);
RecordState();
}
}

RemoveElements(
m_GraphView.selection.OfType<MaterialNodeView>(),
m_GraphView.selection.OfType<Edge>());
}
public override void AddElement(EdgePresenter edge)
{
Connect(edge.output as GraphAnchorPresenter, edge.input as GraphAnchorPresenter);
}
public delegate void OnSelectionChanged(IEnumerable<INode> nodes);

73
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Views/MaterialNodeView.cs


using UnityEngine.MaterialGraph;
using UnityEngine;
using UnityEngine.Experimental.UIElements;
<<<<<<< HEAD
=======
>>>>>>> master
namespace UnityEditor.MaterialGraph.Drawing
{

UpdateControls();
UpdatePreviewTexture(node.previewExpanded ? previewTexture : null);
m_NodeGuid = node.guid;
if (node is PreviewNode)
{
if (!m_ResizeHandleAdded)
{
m_ResizeHandle = new VisualElement() { name = "resize", text = "" };
m_ResizeHandle.AddManipulator(new Draggable(OnResize));
Add(m_ResizeHandle);
m_ResizeHandleAdded = true;
}
UpdateSize();
}
}
void OnReplaced(INode previous, INode current)

float updatedWidth = Mathf.Min(leftContainer.layout.width + deltaSize.x, 1000f);
float updatedHeight = m_PreviewImage.layout.height + deltaSize.y;
PreviewNode previewNode = GetPresenter<MaterialNodePresenter>().node as PreviewNode;
PreviewNode previewNode = node as PreviewNode;
if (previewNode != null)
{

}
}
if (!nodePresenter.expanded)
if (!expanded)
m_ControlsContainer.Clear();
m_ControlsContainer.Clear();
}
else if (m_ControlsContainer.childCount != m_ControlViews.Count)
{

}
}
/*
public override void SetPosition(Rect newPos)
{
var nodePresenter = GetPresenter<MaterialNodePresenter>();
if (nodePresenter != null)
nodePresenter.position = newPos;
base.SetPosition(newPos);
}
public override void OnDataChanged()
{
base.OnDataChanged();
var nodePresenter = GetPresenter<MaterialNodePresenter>();
if (nodePresenter == null)
{
m_ControlsContainer.Clear();
m_ControlViews.Clear();
UpdatePreviewTexture(null);
return;
}
m_PreviewToggle.text = nodePresenter.node.previewExpanded ? "▲" : "▼";
if (nodePresenter.node.hasPreview)
m_PreviewToggle.RemoveFromClassList("inactive");
else
m_PreviewToggle.AddToClassList("inactive");
UpdateControls(nodePresenter);
UpdatePreviewTexture(nodePresenter.node.previewExpanded ? nodePresenter.previewTexture : null);
m_NodeGuid = nodePresenter.node.guid;
if (GetPresenter<MaterialNodePresenter>().node is PreviewNode)
{
if (!m_ResizeHandleAdded)
{
m_ResizeHandle = new VisualElement() { name = "resize", text = "" };
m_ResizeHandle.AddManipulator(new Draggable(OnResize));
Add(m_ResizeHandle);
m_ResizeHandleAdded = true;
}
UpdateSize();
}
}
*/
void UpdateSize()
{

正在加载...
取消
保存