Skip to content

Commit 9fd0dc7

Browse files
author
Bruno Mikoski
committed
fix: add new create new setup
1 parent 4c9c8fd commit 9fd0dc7

1 file changed

Lines changed: 17 additions & 10 deletions

File tree

Scripts/Editor/ScriptableObjectCollectionCustomEditor.cs

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,9 @@ private void UpdateFilteredItemList()
150150

151151
for (int i = 0; i < filteredItemList.Count; i++)
152152
{
153+
if (filteredItemList[i] == null)
154+
continue;
155+
153156
filteredSerializedList.Add(new SerializedObject(filteredItemList[i]));
154157
}
155158

@@ -214,28 +217,32 @@ private void AddNewItem()
214217
{
215218
List<Type> collectableSubclasses = TypeUtility.GetAllSubclasses(collection.GetCollectionType(), true);
216219

220+
collectableSubclasses.Add(collection.GetCollectionType());
217221
GenericMenu optionsMenu = new GenericMenu();
218-
if (!collection.GetCollectionType().IsAbstract)
219-
{
220-
AddMenuOption(optionsMenu, collection.GetCollectionType().Name, () =>
221-
{
222-
EditorApplication.delayCall += () => { AddNewItemOfType(collection.GetCollectionType()); };
223-
});
224-
}
225222

226223
for (int i = 0; i < collectableSubclasses.Count; i++)
227224
{
228225
Type collectableSubClass = collectableSubclasses[i];
226+
if (collectableSubClass.IsAbstract)
227+
continue;
228+
229229
AddMenuOption(optionsMenu, collectableSubClass.Name, () =>
230230
{
231231
EditorApplication.delayCall += () => { AddNewItemOfType(collectableSubClass); };
232232
});
233233
}
234234

235-
AddMenuOption(optionsMenu, $"Create new Type : {collection.GetCollectionType().Name}", () =>
235+
optionsMenu.AddSeparator("");
236+
237+
for (int i = 0; i < collectableSubclasses.Count; i++)
236238
{
237-
EditorApplication.delayCall += () => { CreateAndAddNewItemOfType(collection.GetCollectionType()); };
238-
});
239+
Type collectableSubClass = collectableSubclasses[i];
240+
241+
AddMenuOption(optionsMenu, $"Create New/class $NEW : {collectableSubClass.Name}", () =>
242+
{
243+
EditorApplication.delayCall += () => { CreateAndAddNewItemOfType(collectableSubClass); };
244+
});
245+
}
239246

240247
optionsMenu.ShowAsContext();
241248
}

0 commit comments

Comments
 (0)