void DeleteRequestedParam()
 {
     if (_paramToDelete != null)
     {
         DeleteParameterViaEditor(_parameterList, _paramToDelete);
         _paramToDelete = null;
     }
 }
    static void GenericObjectField(AnyParameter param)
    {
        Object currentValue = param.ObjectValue;
        var    edited       = EditorGUILayout.ObjectField("Value", currentValue, param.MinorType, true);

        if (currentValue != edited)
        {
            Undo.RecordObject(param, "Change " + param.MinorType + " Value");
            param.ObjectValue = edited;
        }
    }
 Editor EditorForParameter(AnyParameter paramToFind)
 {
     foreach (var editor in _editors)
     {
         if (Object.ReferenceEquals(editor.target, paramToFind))
         {
             return(editor);
         }
     }
     return(null);
 }
    // delete method, conforms to Undo
    public void DeleteParameterViaEditor(AnyParameterList paramList, AnyParameter param)
    {
        Undo.RecordObject(_parameterList, "Delete Parameter");
        var index = paramList.Parameters.IndexOf(param);

        if (index < 0)
        {
            Debug.LogError("DeleteParameter(): param<" + param.Id + "> not found in AnyParameterList.");
            return;
        }
        paramList.Parameters.Remove(param);
        Undo.DestroyObjectImmediate(param);
    }
    Editor CreateParameterEditor(AnyParameter param)
    {
        Editor previousEditor = null;

        Editor.CreateCachedEditor(param, typeof(AnyParameterEditor), ref previousEditor);
        var newEditor = (AnyParameterEditor)previousEditor;

        if (newEditor == null)
        {
            newEditor = (AnyParameterEditor)Editor.CreateEditor(param, typeof(AnyParameterEditor));
        }
        newEditor.OnParameterEvent += OnParameterAction;
        return(newEditor);
    }
Ejemplo n.º 6
0
        public void AnyParameter001()
        {
            // Arrange
            var container = new List <string>();
            var parameter = new AnyParameter <TestDocument>();

            parameter.Configure("x", "y");

            // Act
            parameter.Execute(container);

            // Assert
            Assert.Equal(1, container.Count);
            Assert.Equal("x=y", container[0]);
        }
    void OnParameterAction(AnyParameter param, AnyParameterEditor.Action action)
    {
        switch (action)
        {
        case AnyParameterEditor.Action.Delete:
            _paramToDelete = param;
            break;

        case AnyParameterEditor.Action.MoveUp:
            _paramToMoveUp = param;
            break;

        case AnyParameterEditor.Action.MoveDown:
            _paramToMoveDown = param;
            break;
        }
    }
        public void AnyParameter001()
        {
            // Arrange
            var container = new List <string>();
            var parameter = new AnyParameter
            {
                Name  = "x",
                Value = "y"
            };

            // Act
            parameter.Execute();
            parameter.AddResultInContainer(container);

            // Assert
            Assert.Single(container);
            Assert.Equal("x=y", container[0]);
        }
 void MoveDownRequestedParam()
 {
     if (_paramToMoveDown != null)
     {
         int index = _parameterList.Parameters.IndexOf(_paramToMoveDown);
         if (index >= 0 && index < _parameterList.Parameters.Count - 1)
         {
             Undo.RecordObject(_parameterList, "MoveDown Parameter");
             _parameterList.Parameters.Remove(_paramToMoveDown);
             _parameterList.Parameters.Insert(index + 1, _paramToMoveDown);
         }
         else
         {
             Debug.Log("MoveDown not executable.");
         }
         _paramToMoveDown = null;
     }
 }
 void MoveUpRequestedParam()
 {
     if (_paramToMoveUp != null)
     {
         int index = _parameterList.Parameters.IndexOf(_paramToMoveUp);
         if (index > 0)
         {
             Undo.RecordObject(_parameterList, "MoveUp Parameter");
             _parameterList.Parameters.Remove(_paramToMoveUp);
             _parameterList.Parameters.Insert(index - 1, _paramToMoveUp);
         }
         else
         {
             Debug.Log("MoveUp not executable.");
         }
         _paramToMoveUp = null;
     }
 }
    public override void OnInspectorGUI()
    {
        // start modifying
        serializedObject.Update();
        // comment GUI
        EditorGUILayout.PropertyField(serializedObject.FindProperty("_comment"));
        // apply to object
        serializedObject.ApplyModifiedProperties();

        // parameters GUI
        DrawParametersInspectorGUI();

        if (GUILayout.Button("Add New Parameter"))
        {
            Undo.RecordObject(_parameterList, "Add New Parameter");
            AnyParameter newParam = _parameterList.AddParameter();
            Undo.RegisterCreatedObjectUndo(newParam, "Add New Parameter");
        }
    }
Ejemplo n.º 12
0
        public void AnyParameter001()
        {
            // Arrange
            var    expected = JObject.Parse(@"
            {
                ""params"":{
                    ""x"": ""y""
                }
            }");
            string actual;
            var    jObject   = new JObject();
            var    parameter = new AnyParameter <TestDocument>();

            parameter.Configure("x", "y");

            // Act
            parameter.Execute(jObject);
            actual = jObject.ToString();

            // Assert
            Assert.Equal(expected.ToString(), actual);
        }
 void OnEnable()
 {
     _style           = new GUIStyle(EditorStyles.foldout);
     _style.fontStyle = FontStyle.Bold;
     _param           = (AnyParameter)target;
 }