public void RemoveRuntimePrefab(int vegetationCellIndex, int vegetationCellItemIndex, VegetationItemPool vegetationItemPool) { for (int i = RuntimePrefabInfoList.Count - 1; i >= 0; i--) { RuntimePrefabInfo runtimePrefabInfo = RuntimePrefabInfoList[i]; if (runtimePrefabInfo.VegetationCellIndex == vegetationCellIndex && runtimePrefabInfo.VegetationCellItemIndex == vegetationCellItemIndex) { if (vegetationItemPool != null) { vegetationItemPool.ReturnObject(runtimePrefabInfo.RuntimeObject); } else { DestroyRuntimePrefab(runtimePrefabInfo); } RuntimePrefabInfoList.RemoveAtSwapBack(i); } } }
public RuntimePrefabStorage(VegetationItemPool vegetationItemPool) { _vegetationItemPool = vegetationItemPool; }