Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
        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;
            }
        }