From 6d22b11b9d7a922914acdc398f76ddae1a27f3a0 Mon Sep 17 00:00:00 2001 From: Vladislav Kantaev Date: Fri, 11 Feb 2022 21:26:56 +0300 Subject: [PATCH 1/3] Refactor value replacement in `ListDependencyContainerCustomEditor` [closes #70] --- .../Editor/ListDependencyContainerCustomEditor.cs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Packages/com.deltation.di-framework/Assets/DELTation/DIFramework/Editor/ListDependencyContainerCustomEditor.cs b/Packages/com.deltation.di-framework/Assets/DELTation/DIFramework/Editor/ListDependencyContainerCustomEditor.cs index 4890d52a..32ef5911 100644 --- a/Packages/com.deltation.di-framework/Assets/DELTation/DIFramework/Editor/ListDependencyContainerCustomEditor.cs +++ b/Packages/com.deltation.di-framework/Assets/DELTation/DIFramework/Editor/ListDependencyContainerCustomEditor.cs @@ -85,12 +85,10 @@ private void DrawList(SerializedObject container, SerializedProperty list) if (selectedIndex != 0) { var listDependencyContainer = (ListDependencyContainer) container.targetObject; - listDependencyContainer.Add(components[selectedIndex - 1]); + list.GetArrayElementAtIndex(index).objectReferenceValue = components[selectedIndex - 1]; + container.ApplyModifiedProperties(); container.Update(); EditorUtility.SetDirty(listDependencyContainer); - - list.DeleteArrayElementAtIndex(index); - list.DeleteArrayElementAtIndex(index); } } From 85100dfb57907ce0ac8352614643bd7860819bfc Mon Sep 17 00:00:00 2001 From: Vladislav Kantaev Date: Fri, 11 Feb 2022 21:27:20 +0300 Subject: [PATCH 2/3] Make `ListDependencyContainerCustomEditor` always create new items as null --- .../Editor/ListDependencyContainerCustomEditor.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Packages/com.deltation.di-framework/Assets/DELTation/DIFramework/Editor/ListDependencyContainerCustomEditor.cs b/Packages/com.deltation.di-framework/Assets/DELTation/DIFramework/Editor/ListDependencyContainerCustomEditor.cs index 32ef5911..224c7c1c 100644 --- a/Packages/com.deltation.di-framework/Assets/DELTation/DIFramework/Editor/ListDependencyContainerCustomEditor.cs +++ b/Packages/com.deltation.di-framework/Assets/DELTation/DIFramework/Editor/ListDependencyContainerCustomEditor.cs @@ -69,7 +69,11 @@ private void DrawList(SerializedObject container, SerializedProperty list) if (index == list.arraySize - 1) EditorGUI.EndDisabledGroup(); - if (MiniButton("+")) list.InsertArrayElementAtIndex(index); + if (MiniButton("+")) + { + list.InsertArrayElementAtIndex(index); + list.GetArrayElementAtIndex(index + 1).objectReferenceValue = null; + } if (MiniButton("-")) DeleteArrayElementAtIndex(list, index); From 8d198b70c1b21c8b1e7c5fda003fde4400b490a1 Mon Sep 17 00:00:00 2001 From: Vladislav Kantaev Date: Fri, 11 Feb 2022 21:27:40 +0300 Subject: [PATCH 3/3] Change package.json version to 2.6.2 --- Packages/com.deltation.di-framework/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Packages/com.deltation.di-framework/package.json b/Packages/com.deltation.di-framework/package.json index 296f5bdf..a35473c1 100644 --- a/Packages/com.deltation.di-framework/package.json +++ b/Packages/com.deltation.di-framework/package.json @@ -1,6 +1,6 @@ { "name": "com.deltation.di-framework", - "version": "2.6.1", + "version": "2.6.2", "displayName": "DI Framework", "description": "A simple Unity DI/IoC framework to inject dependencies into your components.", "unity": "2020.3",