コード例 #1
0
        public static SerializedProperty GetChildNameProperty(NestedAsset child, out SerializedObject serializedObject)
        {
            var childObject = new SerializedObject(child);

            serializedObject = childObject;
            return(childObject.FindProperty("_name"));
        }
コード例 #2
0
        private void SetChildName(NestedAsset child, string name)
        {
            child.name = GetProperChildName(name);
            SerializedProperty _name = GetChildNameProperty(child, out var serializedObj);

            _name.stringValue = name;
            serializedObj.ApplyModifiedProperties();
        }
コード例 #3
0
        private void DrawElementCallback(Rect rect, int index, bool isactive, bool isfocused)
        {
            SerializedProperty element = _childs.GetArrayElementAtIndex(index);

            rect.height -= (EditorGUIUtility.standardVerticalSpacing * 2);
            rect.y      += EditorGUIUtility.standardVerticalSpacing;
            NestedAsset        identifier = (NestedAsset)element.objectReferenceValue;
            SerializedProperty _name      = GetChildNameProperty(identifier, out var child);

            child.Update();
            EditorGUI.PropertyField(rect, _name);
            if (child.ApplyModifiedProperties())
            {
                if (identifier.name != GetProperChildName(_name.stringValue))
                {
                    identifier.name = GetProperChildName(_name.stringValue);
                    AssetDatabase.SaveAssets();
                }
            }
        }