BindChildPrefabsTo() destroys transform instead of gameobject
Last8Exile opened this issue · comments
GameObjectExtensions.BindChildPrefabsTo()
should destroy instantiated prefabs during element removal from ReactiveCollection.
But GameObjectExtensions.onElementRemoved()
destorys transform of instantiated prefab instead of gameobject.
This is not working if instance has RectTransfom.
There are 2 cases:
- RectTransfom destoryed and replaced with Transform.
- RectTransform not destroyed because there is another component depending on it.
In both cases actual gameobject not destroyed.
I suggest replcaing impelmentation of GameObjectExtensions.onElementRemoved()
to:
void onElementRemoved(CollectionRemoveEvent<T> data)
{
var existingChild = input.transform.GetChild(data.Index).gameObject;
onChildRemoving?.Invoke(data.Value, existingChild);
GameObject.Destroy(existingChild);
}
Oh right, by all means push a PR through for that then as you say it should be destroying the GO not just the Transform
component, I assumed it would delete the whole GO with the existing code.