private static void Show(DetailNode obj, Action beforeProperties = null) { //General NodeEditorGUILayout.PortField(obj.GetInputPort("Constraint")); NodeEditorGUILayout.PortField(obj.GetInputPort("Modifier")); obj.DistributionType = (DetailNode.Distribution)EditorGUILayout.EnumPopup("Distribution", obj.DistributionType); if (obj.DistributionType == DetailNode.Distribution.PoissonDisc) { obj.Spread = EditorGUIExtension.MinMaxFloatField("Spread", obj.Spread, 1f, 50f); } else { obj.UniformResolution = EditorGUIExtension.MinMaxIntField("Resolution", obj.UniformResolution, 2, 1024); } obj.MaxObjects = EditorGUILayout.IntField("Max Objects", obj.MaxObjects); if (beforeProperties != null) { beforeProperties(); } EditorGUIExtension.DrawMinMax("Width Scale", ref obj.WidthScale.x, ref obj.WidthScale.y); EditorGUIExtension.DrawMinMax("Height Scale", ref obj.HeightScale.x, ref obj.HeightScale.y); if (obj.MaxObjects < 1) { obj.MaxObjects = 1; } }
public override void OnBodyGUI() { NodeEditorGUILayout.PortField(_scatter.GetOutputPort("Output")); NodeEditorGUILayout.PortField(_scatter.GetInputPort("DetailNode")); //Object count min max EditorGUI.BeginChangeCheck(); EditorGUIExtension.DrawMinMax("Distance", ref _scatter.DistanceMin, ref _scatter.DistanceMax); if (EditorGUI.EndChangeCheck()) { serializedObject.ApplyModifiedProperties(); } }