public virtual void OnNodeUI(GraphGUI host) { var src_slot = (host.edgeGUI as EdgeGUI).DragSourceSlot; foreach (var slot in this.inputSlots) { if (src_slot != null && src_slot.isOutputSlot && host.graph.CanConnect(src_slot, slot)) { Styles.pinIn.fontStyle = FontStyle.Bold; Styles.pinIn.normal.textColor = Color.green; } else { Styles.pinIn.fontStyle = FontStyle.Normal; Styles.pinIn.fontSize = 10; Styles.pinIn.normal.textColor = Color.black; } host.LayoutSlot(slot, slot.title, false, true, true, Styles.pinIn); } base.NodeUI(host); foreach (var slot in this.outputSlots) { EditorGUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); host.LayoutSlot(slot, slot.title, true, false, true, Styles.pinOut); EditorGUILayout.EndHorizontal(); } }
public virtual void OnNodeUI(GraphGUI host) { var src_slot = (host.edgeGUI as EdgeGUI).DragSourceSlot; EditorGUILayout.BeginHorizontal(); EditorGUILayout.BeginVertical(); foreach (var slot in this.inputSlots) { bool canConvert = false; if (src_slot != null && src_slot.isOutputSlot) { canConvert = host.graph.CanConnect(src_slot, slot); /* * var convertor = TypeDescriptor.GetConverter (src_slot.dataType);//host.graph.CanConnect(src_slot,slot)) { * try{ * if (convertor!=null) * canConvert = convertor.CanConvertTo (slot.dataType); * }catch(Exception e) { * } * canConvert |= slot.dataType.IsAssignableFrom (src_slot.dataType);*/ } if (canConvert) { Styles.pinIn.fontStyle = FontStyle.Bold; Styles.pinIn.onNormal.textColor = Color.green; } else { Styles.pinIn.fontStyle = FontStyle.Normal; Styles.pinIn.fontSize = 10; Styles.pinIn.onNormal.textColor = Color.black; } host.LayoutSlot(slot, slot.title, false, true, true, Styles.pinIn); } EditorGUILayout.EndVertical(); base.NodeUI(host); EditorGUILayout.BeginVertical(); foreach (var slot in this.outputSlots) { EditorGUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); host.LayoutSlot(slot, slot.title, true, false, true, Styles.pinOut); EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndVertical(); EditorGUILayout.EndHorizontal(); }
protected virtual void DrawOutputSlots(GraphGUI host, IEnumerable <Graphs.Slot> slots, bool prefixNodeName = false) { var src_slot = (host.edgeGUI as EdgeGUI).DragSourceSlot; foreach (var slot in slots) { EditorGUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (slot == src_slot) { Styles.pinOut.fontStyle = FontStyle.Bold; Styles.pinOut.normal.textColor = Color.blue; Styles.pinOut.onNormal.textColor = Color.blue; } else { Styles.pinOut.fontStyle = FontStyle.Normal; Styles.pinOut.normal.textColor = Color.black; Styles.pinOut.onNormal.textColor = Color.black; } var n = (slot.node as Block).runtimeInstance; host.LayoutSlot(slot, (prefixNodeName ? n.name + "." :"") + slot.title, true, false, true, Styles.pinOut); EditorGUILayout.EndHorizontal(); } }
protected virtual void DrawInputSlots(GraphGUI host, IEnumerable <Graphs.Slot> slots, bool prefixNodeName = false) { var src_slot = (host.edgeGUI as EdgeGUI).DragSourceSlot; foreach (var slot in slots) { bool canConvert = false; if (src_slot != null && src_slot.isOutputSlot) { canConvert = host.graph.CanConnect(src_slot, slot); /* * var convertor = TypeDescriptor.GetConverter (src_slot.dataType);//host.graph.CanConnect(src_slot,slot)) { * try{ * if (convertor!=null) * canConvert = convertor.CanConvertTo (slot.dataType); * }catch(Exception e) { * } * canConvert |= slot.dataType.IsAssignableFrom (src_slot.dataType);*/ } if (canConvert) { Styles.pinIn.fontStyle = FontStyle.Bold; Styles.pinIn.normal.textColor = Color.blue; Styles.pinIn.onNormal.textColor = Color.blue; } else { Styles.pinIn.fontStyle = FontStyle.Normal; Styles.pinIn.fontSize = 10; Styles.pinIn.normal.textColor = Color.black; Styles.pinIn.onNormal.textColor = Color.black; } var n = (slot.node as Block).runtimeInstance; host.LayoutSlot(slot, (prefixNodeName ? n.name + "." : "") + slot.title, false, true, true, Styles.pinIn); } }