浏览代码

Remove unused variables and classes and rework how master preview resizing is handled

/main
Peter Bay Bastian 6 年前
当前提交
e7218ad7
共有 15 个文件被更改,包括 61 次插入493 次删除
  1. 7
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Blackboard/BlackboardField.cs
  2. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Blackboard/BlackboardProvider.cs
  3. 9
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Controls/SliderControl.cs
  4. 40
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Inspector/MasterPreviewView.cs
  5. 18
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/PreviewManager.cs
  6. 26
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Views/GraphEditorView.cs
  7. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Resources/Styles/MasterPreviewView.uss
  8. 3
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Inspector/GraphInspectorView.cs.meta
  9. 3
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Inspector/ShaderPropertyView.cs.meta
  10. 127
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Inspector/GraphInspectorView.cs
  11. 190
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Inspector/ShaderPropertyView.cs
  12. 3
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Views/PreviewTextureView.cs.meta
  13. 28
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Views/PreviewTextureView.cs
  14. 89
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Resources/Styles/GraphInspectorView.uss
  15. 7
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Resources/Styles/GraphInspectorView.uss.meta

7
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Blackboard/BlackboardField.cs


if (dropTarget == null || !dropTarget.CanAcceptDrop(selection))
return;
var propagation = EventPropagation.Continue;
propagation = dropTarget.DragUpdated(evt, selection, dropTarget);
dropTarget.DragUpdated(evt, selection, dropTarget);
propagation = dropTarget.DragPerform(evt, selection, dropTarget);
dropTarget.DragPerform(evt, selection, dropTarget);
propagation = dropTarget.DragExited();
dropTarget.DragExited();
// if (propagation == EventPropagation.Stop)
// evt.StopPropagation();

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Blackboard/BlackboardProvider.cs


{
class BlackboardProvider
{
readonly string m_AssetName;
readonly AbstractMaterialGraph m_Graph;
readonly Texture2D m_ExposedIcon;
readonly Dictionary<Guid, BlackboardRow> m_PropertyRows;

public BlackboardProvider(string assetName, AbstractMaterialGraph graph)
{
m_AssetName = assetName;
m_Graph = graph;
m_ExposedIcon = Resources.Load("GraphView/Nodes/BlackboardFieldExposed") as Texture2D;
m_PropertyRows = new Dictionary<Guid, BlackboardRow>();

9
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Controls/SliderControl.cs


public class SliderControlView : VisualElement, INodeModificationListener
{
GUIContent m_Label;
AbstractMaterialNode m_Node;
PropertyInfo m_PropertyInfo;
bool m_DisplayMinMax;

VisualElement m_SliderPanel;
Slider m_Slider;
FloatField m_SliderInput;
FloatField m_MinField;
FloatField m_MaxField;
public SliderControlView(string label, bool displayMinMax, AbstractMaterialNode node, PropertyInfo propertyInfo)
{

if (propertyInfo.PropertyType != typeof(Vector3))
throw new ArgumentException("Property must be of type Vector3.", "propertyInfo");
m_Label = new GUIContent(label ?? ObjectNames.NicifyVariableName(propertyInfo.Name));
new GUIContent(label ?? ObjectNames.NicifyVariableName(propertyInfo.Name));
m_Value = (Vector3)m_PropertyInfo.GetValue(m_Node, null);
m_SliderPanel = new VisualElement { name = "SliderPanel" };

if(m_DisplayMinMax)
{
var fieldsPanel = new VisualElement { name = "FieldsPanel" };
m_MinField = AddField(fieldsPanel, "Min", 1, m_Value);
m_MaxField = AddField(fieldsPanel, "Max", 2, m_Value);
AddField(fieldsPanel, "Min", 1, m_Value);
AddField(fieldsPanel, "Max", 2, m_Value);
Add(fieldsPanel);
}
}

40
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Inspector/MasterPreviewView.cs


using UnityEditor.Experimental.UIElements;
using UnityEngine.Experimental.UIElements;
using UnityEditor.Graphing;
using UnityEngine.Experimental.UIElements.StyleSheets;
using Object = UnityEngine.Object;
namespace UnityEditor.ShaderGraph.Drawing.Inspector

PreviewManager m_PreviewManager;
PreviewTextureView m_PreviewTextureView;
Image m_PreviewTextureView;
Vector2 m_PreviewScrollPosition;
ObjectField m_PreviewMeshPicker;

public MasterPreviewView(string assetName, PreviewManager previewManager, AbstractMaterialGraph graph)
{
this.clippingOptions = ClippingOptions.ClipAndCacheContents;
m_PreviewManager = previewManager;
m_PreviewRenderHandle.onPreviewChanged += OnPreviewChanged;
var topContainer = new VisualElement() { name = "top" };
{

var middleContainer = new VisualElement {name = "middle"};
{
m_PreviewTextureView = new PreviewTextureView { name = "preview", image = Texture2D.blackTexture };
m_PreviewTextureView.AddManipulator(new Draggable(OnMouseDragPreviewMesh, true));
m_PreviewTextureView.AddManipulator((IManipulator)Activator.CreateInstance(s_ContextualMenuManipulator, (Action<ContextualMenuPopulateEvent>)BuildContextualMenu));
middleContainer.Add(m_PreviewTextureView);
m_PreviewTextureView = CreatePreview(Texture2D.blackTexture);
m_PreviewRenderHandle.onPreviewChanged += OnPreviewChanged;
Image CreatePreview(Texture texture)
{
var image = new Image { name = "preview", image = StyleValue<Texture>.Create(m_PreviewRenderHandle.texture ?? texture) };
image.AddManipulator(new Draggable(OnMouseDragPreviewMesh, true));
image.AddManipulator((IManipulator)Activator.CreateInstance(s_ContextualMenuManipulator, (Action<ContextualMenuPopulateEvent>)BuildContextualMenu));
return image;
}
void OnScroll(float scrollValue)
{
float rescaleAmount = -scrollValue * .03f;

void OnPreviewChanged()
{
m_PreviewTextureView.image = m_PreviewRenderHandle.texture ?? Texture2D.blackTexture;
m_PreviewTextureView.image = StyleValue<Texture>.Create(m_PreviewRenderHandle.texture ?? Texture2D.blackTexture);
m_PreviewTextureView.Dirty(ChangeType.Repaint);
}

public void RefreshRenderTextureSize()
{
RenderTextureDescriptor descriptor = m_PreviewRenderHandle.renderTexture.descriptor;
var currentWidth = m_PreviewRenderHandle.texture != null ? m_PreviewRenderHandle.texture.width : -1;
var currentHeight = m_PreviewRenderHandle.texture != null ? m_PreviewRenderHandle.texture.height : -1;
if (Mathf.Approximately(descriptor.width, targetHeight) && Mathf.Approximately(descriptor.height, targetWidth))
{
if (Mathf.Approximately(currentWidth, targetHeight) && Mathf.Approximately(currentHeight, targetWidth))
}
descriptor.width = (int)m_PreviewTextureView.contentRect.width;
descriptor.height = (int)m_PreviewTextureView.contentRect.height;
m_PreviewRenderHandle.renderTexture.Release();
Object.DestroyImmediate(m_PreviewRenderHandle.renderTexture);
m_PreviewRenderHandle.renderTexture = new RenderTexture(descriptor);
m_PreviewManager.ResizeMasterPreview(m_PreviewTextureView.contentRect.size);
}
public void UpdateRenderTextureOnNextLayoutChange()

18
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/PreviewManager.cs


Texture2D m_ErrorTexture;
Shader m_UberShader;
string m_OutputIdName;
Vector2? m_NewMasterPreviewSize;
public PreviewRenderData masterRenderData
{

{
renderTexture = new RenderTexture(400, 400, 16, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Default) { hideFlags = HideFlags.HideAndDontSave }
};
m_MasterRenderData.renderTexture.Create();
public void ResizeMasterPreview(Vector2 newSize)
{
m_NewMasterPreviewSize = newSize;
m_DirtyPreviews.Add(masterRenderData.shaderData.node.tempId.index);
}
public PreviewRenderData GetPreview(AbstractMaterialNode node)
{
return m_RenderDatas[node.tempId.index];

shaderData = shaderData,
renderTexture = new RenderTexture(200, 200, 16, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Default) { hideFlags = HideFlags.HideAndDontSave }
};
renderData.renderTexture.Create();
Set(m_Identifiers, node.tempId, node.tempId);
Set(m_RenderDatas, node.tempId, renderData);
m_DirtyShaders.Add(node.tempId.index);

var renderMasterPreview = masterRenderData.shaderData != null && m_DirtyPreviews.Contains(masterRenderData.shaderData.node.tempId.index);
if (renderMasterPreview)
{
if (m_NewMasterPreviewSize.HasValue)
{
if (masterRenderData.renderTexture != null)
Object.DestroyImmediate(masterRenderData.renderTexture, true);
masterRenderData.renderTexture = new RenderTexture((int)m_NewMasterPreviewSize.Value.x, (int)m_NewMasterPreviewSize.Value.y, 16, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Default) { hideFlags = HideFlags.HideAndDontSave };
masterRenderData.renderTexture.Create();
masterRenderData.texture = masterRenderData.renderTexture;
m_NewMasterPreviewSize = null;
}
var mesh = m_Graph.previewData.serializedMesh.mesh ? m_Graph.previewData.serializedMesh.mesh : m_SceneResources.sphere;
var previewTransform = Matrix4x4.Rotate(m_Graph.previewData.rotation);
var scale = m_Graph.previewData.scale;

26
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Views/GraphEditorView.cs


using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography.X509Certificates;
using UnityEditor.Experimental.UIElements.GraphView;
using UnityEngine;
using UnityEngine.Experimental.UIElements;

{
public WindowDockingLayout previewLayout = new WindowDockingLayout();
public WindowDockingLayout blackboardLayout = new WindowDockingLayout();
public Vector2 masterPreviewSize = new Vector2(400, 400);
}
public class GraphEditorView : VisualElement, IDisposable

EdgeConnectorListener m_EdgeConnectorListener;
BlackboardProvider m_BlackboardProvider;
string m_FloatingWindowsLayoutKey;
const string k_FloatingWindowsLayoutKey = "UnityEditor.ShaderGraph.FloatingWindowsLayout";
FloatingWindowsLayout m_FloatingWindowsLayout;
public Action saveRequested { get; set; }

AddStyleSheetPath("Styles/GraphEditorView");
m_EditorWindow = editorWindow;
previewManager = new PreviewManager(graph);
string serializedWindowLayout = EditorUserSettings.GetConfigValue(k_FloatingWindowsLayoutKey);
if (!string.IsNullOrEmpty(serializedWindowLayout))
{
m_FloatingWindowsLayout = JsonUtility.FromJson<FloatingWindowsLayout>(serializedWindowLayout);
if (m_FloatingWindowsLayout.masterPreviewSize.x > 0f && m_FloatingWindowsLayout.masterPreviewSize.y > 0f)
previewManager.ResizeMasterPreview(m_FloatingWindowsLayout.masterPreviewSize);
}
previewManager.RenderPreviews();
var toolbar = new IMGUIContainer(() =>
{

{
UnregisterCallback<PostLayoutEvent>(ApplySerializewindowLayouts);
m_FloatingWindowsLayoutKey = "UnityEditor.ShaderGraph.FloatingWindowsLayout";
string serializedWindowLayout = EditorUserSettings.GetConfigValue(m_FloatingWindowsLayoutKey);
if (!String.IsNullOrEmpty(serializedWindowLayout))
if (m_FloatingWindowsLayout != null)
m_FloatingWindowsLayout = JsonUtility.FromJson<FloatingWindowsLayout>(serializedWindowLayout);
m_MasterPreviewView.UpdateRenderTextureOnNextLayoutChange();
previewManager.ResizeMasterPreview(m_FloatingWindowsLayout.masterPreviewSize);
}
else
{

void UpdateSerializedWindowLayout()
{
if (m_FloatingWindowsLayout == null)
m_FloatingWindowsLayout = new FloatingWindowsLayout();
m_FloatingWindowsLayout.masterPreviewSize = m_MasterPreviewView.Q("preview").layout.size;
EditorUserSettings.SetConfigValue(m_FloatingWindowsLayoutKey, serializedWindowLayout);
EditorUserSettings.SetConfigValue(k_FloatingWindowsLayoutKey, serializedWindowLayout);
m_MasterPreviewView.RefreshRenderTextureSize();
}

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Resources/Styles/MasterPreviewView.uss


flex-grow: 1;
border-width: 10;
border-color: rgb(200,10,190);
}
}

3
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Inspector/GraphInspectorView.cs.meta


fileFormatVersion: 2
guid: d80d2409e2484dbea449768bbdd267b9
timeCreated: 1502956197

3
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Inspector/ShaderPropertyView.cs.meta


fileFormatVersion: 2
guid: a7487f4dc0fc4cf6a84bde37e66b60cb
timeCreated: 1507035849

127
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Inspector/GraphInspectorView.cs


using System;
using System.Linq;
using UnityEditor.Experimental.UIElements;
using UnityEngine;
using UnityEngine.Experimental.UIElements;
namespace UnityEditor.ShaderGraph.Drawing.Inspector
{
public class GraphInspectorView : VisualElement, IDisposable
{
int m_SelectionHash;
VisualElement m_PropertyItems;
VisualElement m_LayerItems;
ObjectField m_PreviewMeshPicker;
PreviewTextureView m_PreviewTextureView;
AbstractMaterialGraph m_Graph;
PreviewRenderData m_PreviewRenderHandle;
Vector2 m_PreviewScrollPosition;
public Action onUpdateAssetClick { get; set; }
public Action onShowInProjectClick { get; set; }
public GraphInspectorView(string assetName, PreviewManager previewManager, AbstractMaterialGraph graph)
{
m_Graph = graph;
AddStyleSheetPath("Styles/GraphInspectorView");
var topContainer = new VisualElement {name = "top"};
{
var headerContainer = new VisualElement {name = "header"};
{
var title = new Label(assetName) {name = "title"};
title.AddManipulator(new Clickable(() =>
{
if (onShowInProjectClick != null)
onShowInProjectClick();
}));
headerContainer.Add(title);
headerContainer.Add(new Button(() =>
{
if (onUpdateAssetClick != null)
onUpdateAssetClick();
}) { name = "save", text = "Save" });
}
topContainer.Add(headerContainer);
var propertiesContainer = new VisualElement {name = "properties"};
{
var header = new VisualElement {name = "header"};
{
var title = new Label("Properties") {name = "title"};
header.Add(title);
var addPropertyButton = new Button(OnAddProperty) {text = "Add", name = "addButton"};
header.Add(addPropertyButton);
}
propertiesContainer.Add(header);
m_PropertyItems = new VisualContainer {name = "items"};
propertiesContainer.Add(m_PropertyItems);
}
topContainer.Add(propertiesContainer);
}
Add(topContainer);
foreach (var property in m_Graph.properties)
m_PropertyItems.Add(new ShaderPropertyView(m_Graph, property));
Add(new ResizeBorderFrame(this) { name = "resizeBorderFrame" });
this.AddManipulator(new WindowDraggable());
}
void OnAddProperty()
{
var gm = new GenericMenu();
gm.AddItem(new GUIContent("Vector1"), false, () => AddProperty(new Vector1ShaderProperty()));
gm.AddItem(new GUIContent("Vector2"), false, () => AddProperty(new Vector2ShaderProperty()));
gm.AddItem(new GUIContent("Vector3"), false, () => AddProperty(new Vector3ShaderProperty()));
gm.AddItem(new GUIContent("Vector4"), false, () => AddProperty(new Vector4ShaderProperty()));
gm.AddItem(new GUIContent("Color"), false, () => AddProperty(new ColorShaderProperty()));
gm.AddItem(new GUIContent("HDR Color"), false, () => AddProperty(new ColorShaderProperty() {colorMode = ColorMode.HDR}));
gm.AddItem(new GUIContent("Boolean"), false, () => AddProperty(new BooleanShaderProperty()));
gm.AddItem(new GUIContent("Texture"), false, () => AddProperty(new TextureShaderProperty()));
gm.AddItem(new GUIContent("Cubemap"), false, () => AddProperty(new CubemapShaderProperty()));
gm.ShowAsContext();
}
void AddProperty(IShaderProperty property)
{
m_Graph.owner.RegisterCompleteObjectUndo("Add Property");
m_Graph.AddShaderProperty(property);
}
void OnPreviewChanged()
{
m_PreviewTextureView.image = m_PreviewRenderHandle.texture ?? Texture2D.blackTexture;
m_PreviewTextureView.Dirty(ChangeType.Repaint);
}
public void HandleGraphChanges()
{
foreach (var propertyGuid in m_Graph.removedProperties)
{
var propertyView = m_PropertyItems.OfType<ShaderPropertyView>().FirstOrDefault(v => v.property.guid == propertyGuid); if (propertyView != null)
m_PropertyItems.Remove(propertyView);
}
foreach (var property in m_Graph.addedProperties)
m_PropertyItems.Add(new ShaderPropertyView(m_Graph, property));
}
public void Dispose()
{
if (m_PreviewRenderHandle != null)
{
m_PreviewRenderHandle.onPreviewChanged -= OnPreviewChanged;
m_PreviewRenderHandle = null;
}
}
}
}

190
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Inspector/ShaderPropertyView.cs


using System;
using UnityEditor.Experimental.UIElements;
using UnityEngine;
using UnityEngine.Experimental.UIElements;
using UnityEditor.Graphing;
using Object = UnityEngine.Object;
namespace UnityEditor.ShaderGraph.Drawing.Inspector
{
public class ShaderPropertyView : VisualElement
{
Action m_ValueAction;
public AbstractMaterialGraph graph { get; private set; }
public IShaderProperty property { get; private set; }
public ShaderPropertyView(AbstractMaterialGraph graph, IShaderProperty property)
{
this.graph = graph;
this.property = property;
AddStyleSheetPath("Styles/ShaderPropertyView");
var displayNameField = new TextField { name = "displayName", value = property.displayName };
displayNameField.OnValueChanged(OnDisplayNameChanged);
Add(displayNameField);
m_ValueAction = null;
if (property is Vector1ShaderProperty)
m_ValueAction = FloatField;
else if (property is Vector2ShaderProperty)
m_ValueAction = Vector2Field;
else if (property is Vector3ShaderProperty)
m_ValueAction = Vector3Field;
else if (property is Vector4ShaderProperty)
m_ValueAction = Vector4Field;
else if (property is BooleanShaderProperty)
m_ValueAction = BooleanField;
if (m_ValueAction != null)
{
Add(new IMGUIContainer(ValueField) { name = "value" });
}
else if (property is ColorShaderProperty)
{
var fProp = (ColorShaderProperty)property;
ColorField colorField;
if(fProp.colorMode == ColorMode.HDR)
colorField = new ColorField { name = "value", value = fProp.value, hdr = true };
else
colorField = new ColorField { name = "value", value = fProp.value };
colorField.OnValueChanged(OnColorChanged);
Add(colorField);
}
else if (property is TextureShaderProperty)
{
var fProp = (TextureShaderProperty)property;
var objectField = new ObjectField { name = "value", objectType = typeof(Texture), value = fProp.value.texture };
objectField.OnValueChanged(OnTextureChanged);
Add(objectField);
}
else if (property is CubemapShaderProperty)
{
var fProp = (CubemapShaderProperty)property;
var objectField = new ObjectField { name = "value", objectType = typeof(Cubemap), value = fProp.value.cubemap };
objectField.OnValueChanged(OnCubemapChanged);
Add(objectField);
}
Add(new Button(OnClickRemove) { name = "remove", text = "Remove" });
}
void OnColorChanged(ChangeEvent<Color> evt)
{
var fProp = (ColorShaderProperty)property;
if (evt.newValue != fProp.value)
{
fProp.value = evt.newValue;
NotifyNodes();
}
}
void OnTextureChanged(ChangeEvent<Object> evt)
{
var fProp = (TextureShaderProperty)property;
var newValue = (Texture)evt.newValue;
if (newValue != fProp.value.texture)
{
fProp.value.texture = newValue;
NotifyNodes();
}
}
void OnCubemapChanged(ChangeEvent<Object> evt)
{
var fProp = (CubemapShaderProperty)property;
var newValue = (Cubemap)evt.newValue;
if (newValue != fProp.value.cubemap)
{
fProp.value.cubemap = newValue;
NotifyNodes();
}
}
void OnDisplayNameChanged(ChangeEvent<string> evt)
{
if (evt.newValue != property.displayName)
{
property.displayName = evt.newValue;
NotifyNodes();
}
}
void OnClickRemove()
{
graph.owner.RegisterCompleteObjectUndo("Remove Property");
graph.RemoveShaderProperty(property.guid);
NotifyNodes();
}
void ValueField()
{
EditorGUI.BeginChangeCheck();
m_ValueAction();
if (EditorGUI.EndChangeCheck())
NotifyNodes();
}
void NotifyNodes()
{
foreach (var node in graph.GetNodes<PropertyNode>())
node.Dirty(ModificationScope.Node);
}
void FloatField()
{
var fProp = (Vector1ShaderProperty)property;
fProp.value = EditorGUILayout.FloatField(fProp.value);
}
void Vector2Field()
{
var fProp = (Vector2ShaderProperty)property;
fProp.value = EditorGUILayout.Vector2Field("", fProp.value);
}
void Vector3Field()
{
var fProp = (Vector3ShaderProperty)property;
fProp.value = EditorGUILayout.Vector3Field("", fProp.value);
}
void Vector4Field()
{
var fProp = (Vector4ShaderProperty)property;
fProp.value = EditorGUILayout.Vector4Field("", fProp.value);
}
/*void IntegerField()
{
var fProp = (IntegerShaderProperty)property;
fProp.value = EditorGUILayout.IntField(fProp.value);
}
void SliderField()
{
var fProp = (SliderShaderProperty)property;
var value = fProp.value;
GUILayoutOption[] sliderOptions = { GUILayout.ExpandWidth(true) };
GUILayoutOption[] options = { GUILayout.MaxWidth(30.0f) };
value.x = EditorGUILayout.Slider(fProp.value.x, fProp.value.y, fProp.value.z, sliderOptions);
EditorGUILayout.BeginHorizontal();
float previousLabelWidth = EditorGUIUtility.labelWidth;
EditorGUIUtility.labelWidth = 30f;
Rect minMaxRect = EditorGUILayout.GetControlRect(new GUILayoutOption[]{ GUILayout.ExpandWidth(true) } );
Rect minRect = new Rect(minMaxRect.x, minMaxRect.y, minMaxRect.width / 2, minMaxRect.height);
Rect maxRect = new Rect(minMaxRect.x + minMaxRect.width / 2, minMaxRect.y, minMaxRect.width / 2, minMaxRect.height);
value.y = EditorGUI.FloatField(minRect, "Min", fProp.value.y);
value.z = EditorGUI.FloatField(maxRect, "Max", fProp.value.z);
EditorGUIUtility.labelWidth = previousLabelWidth;
EditorGUILayout.EndHorizontal();
fProp.value = value;
}*/
void BooleanField()
{
var fProp = (BooleanShaderProperty)property;
fProp.value = EditorGUILayout.Toggle(fProp.value);
}
}
}

3
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Views/PreviewTextureView.cs.meta


fileFormatVersion: 2
guid: 524b1aa8d68043cd81a6514d805eb50d
timeCreated: 1508917442

28
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Views/PreviewTextureView.cs


using UnityEngine;
using UnityEngine.Experimental.UIElements;
using UnityEngine.Rendering;
namespace UnityEditor.ShaderGraph.Drawing
{
public sealed class PreviewTextureView : Image
{
// Texture m_Image;
//
// public Texture image
// {
// get { return m_Image; }
// set
// {
// if (value == m_Image)
// return;
// m_Image = value;
// Dirty(ChangeType.Repaint);
// }
// }
// public override void DoRepaint()
// {
// EditorGUI.DrawPreviewTexture(contentRect, image);
// }
}
}

89
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Resources/Styles/GraphInspectorView.uss


GraphInspectorView {
background-color: rgb(56, 56, 56);
flex-direction: column;
justify-content: space-between;
position-type: absolute;
position-right: 0;
position-top: 0;
width: 400;
min-width: 300;
}
GraphInspectorView * {
font-size: 11;
}
GraphInspectorView > #top > #header {
background-color: rgb(64, 64, 64);
border-color: rgb(79, 79, 79);
border-bottom-width: 1;
flex-direction: row;
justify-content: space-between;
}
GraphInspectorView > #top > #header > #title {
text-color: rgb(180, 180, 180);
font-style: bold;
padding-left: 16;
padding-right: 16;
padding-top: 10;
padding-bottom: 10;
}
GraphInspectorView > #top > #content > #selectionCount {
text-color: rgb(180, 180, 180);
padding-left: 16;
padding-right: 16;
padding-top: 10;
padding-bottom: 10;
}
GraphInspectorView > #bottom {
margin-bottom: 20;
}
GraphInspectorView > #bottom > #preview {
max-height: 400;
background-color: rgb(79, 79, 79);
}
GraphInspectorView > #top > #properties {
border-color: rgb(41, 41, 41);
border-top-width: 1;
border-bottom-width: 1;
border-left-width: 1;
border-right-width: 1;
margin-top: 8;
margin-bottom: 8;
margin-left: 8;
margin-right: 8;
}
GraphInspectorView > #top > #properties > #header {
border-color: rgb(41, 41, 41);
border-bottom-width: 1;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
GraphInspectorView > #top > #properties > #header > #title {
text-color: rgb(180, 180, 180);
font-style: bold;
padding-top: 8;
padding-bottom: 8;
padding-left: 8;
padding-right: 8;
}
GraphInspectorView > #top > #properties > #header > #addButton {
height: 24;
margin-top: 0;
margin-bottom: 0;
margin-left: 0;
margin-right: 8;
}
GraphInspectorView > #top > #properties > #items {
padding-bottom: 4;
}

7
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Resources/Styles/GraphInspectorView.uss.meta


fileFormatVersion: 2
guid: 15ae31264ebcd2b4ebde7b4d0ca5d5f4
ScriptedImporter:
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
正在加载...
取消
保存