public override void DoInspectorGUI() { if (serializedObject.isEditingMultipleObjects) { GUI.enabled = false; // no sense to change the name in multiple selection because the name must be unique EditorGUI.showMixedValue = true; EditorGUILayout.TextField("Exposed Name", "-"); EditorGUI.showMixedValue = false; GUI.enabled = true; } else { VFXParameter parameter = (VFXParameter)target; GUI.enabled = controller != null; string newName = EditorGUILayout.DelayedTextField("Exposed Name", parameter.exposedName); GUI.enabled = true; if (GUI.changed) { VFXParameterController parameterController = controller.GetParameterController(parameter); if (parameterController != null) { parameterController.exposedName = newName; } } } base.DoInspectorGUI(); }
public void ConvertParameterToInline() { VFXParameter newParameter = m_ViewController.AddVFXParameter(Vector2.zero, VFXLibrary.GetParameters().First(t => t.model.type == typeof(AABox))); m_ViewController.LightApplyChanges(); VFXParameterController parameterController = m_ViewController.GetParameterController(newParameter); parameterController.model.AddNode(new Vector2(123, 456)); AABox value = new AABox { center = new Vector3(1, 2, 3), size = new Vector3(4, 5, 6) }; parameterController.value = value; m_ViewController.LightApplyChanges(); VFXParameterNodeController parameterNode = parameterController.nodes.First(); parameterNode.ConvertToInline(); VFXInlineOperator op = m_ViewController.graph.children.OfType <VFXInlineOperator>().First(); Assert.AreEqual(new Vector2(123, 456), op.position); Assert.AreEqual(typeof(AABox), op.type); Assert.AreEqual(value, op.inputSlots[0].value); }
public override SerializedProperty DoInspectorGUI() { var saveEnabled = GUI.enabled; var referenceModel = serializedObject.targetObject as VFXModel; var resource = referenceModel.GetResource(); if (resource != null && !resource.IsAssetEditable()) { GUI.enabled = false; saveEnabled = false; } if (serializedObject.isEditingMultipleObjects) { GUI.enabled = false; // no sense to change the name in multiple selection because the name must be unique EditorGUI.showMixedValue = true; EditorGUILayout.TextField("Exposed Name", "-"); EditorGUI.showMixedValue = false; GUI.enabled = saveEnabled; } else { VFXParameter parameter = (VFXParameter)target; GUI.enabled = controller != null && saveEnabled; string newName = EditorGUILayout.DelayedTextField("Exposed Name", parameter.exposedName); GUI.enabled = saveEnabled; if (GUI.changed) { VFXParameterController parameterController = controller.GetParameterController(parameter); if (parameterController != null) { parameterController.exposedName = newName; } } } return(base.DoInspectorGUI()); }