public void PersistPrefab(PrefabSettings prefabSettings, PrefabTransform prefabTransform) { // spawn item to vs pro if (editorTarget.brushSettings.spawnToVSPro) { vegetationStudioProIntegration.AddNewPrefab(prefabSettings, prefabTransform.position, prefabTransform.rotation, prefabTransform.scale); } // spawn item to scene else { // new prefab GameObject instance = PrefabUtility.InstantiatePrefab(prefabSettings.prefab) as GameObject; instance.transform.position = prefabTransform.position; instance.transform.rotation = prefabTransform.rotation; instance.transform.localScale = prefabTransform.scale; // attach as child of container instance.transform.parent = editorTarget.container.transform; Undo.RegisterCreatedObjectUndo(instance, "Instantiate Prefab"); if (editorTarget.spawnSettings.autoSimulationType != SpawnSettings.AutoSimulationType.None) { autoPhysicsCollection.Add(instance); } } }
public void PersistPrefab(PrefabSettings prefabSettings, PrefabTransform prefabTransform) { switch (editorTarget.brushSettings.spawnTarget) { case BrushSettings.SpawnTarget.PrefabContainer: // new prefab GameObject instance = PrefabUtility.InstantiatePrefab(prefabSettings.prefab) as GameObject; instance.transform.position = prefabTransform.position; instance.transform.rotation = prefabTransform.rotation; instance.transform.localScale = prefabTransform.scale; // attach as child of container instance.transform.parent = editorTarget.container.transform; Undo.RegisterCreatedObjectUndo(instance, "Instantiate Prefab"); if (editorTarget.spawnSettings.autoSimulationType != SpawnSettings.AutoSimulationType.None) { autoPhysicsCollection.Add(instance); } break; case BrushSettings.SpawnTarget.TerrainTrees: unityTerrainTreesIntegration.AddNewPrefab(prefabSettings, prefabTransform.position, prefabTransform.rotation, prefabTransform.scale); break; case BrushSettings.SpawnTarget.TerrainDetails: Debug.LogError("Not implemented"); break; case BrushSettings.SpawnTarget.VegetationStudioPro: vegetationStudioProIntegration.AddNewPrefab(prefabSettings, prefabTransform.position, prefabTransform.rotation, prefabTransform.scale); break; } }