Создание нового префаба с использованием префаба после редактирования во время выполнения - PullRequest
1 голос
/ 18 июня 2020

У меня простой скрипт, он отлично работает, но работает только в редакторе Unity. Пытаюсь собрать для мобильных устройств, а не полную и с ошибками. я использую Unity 2019.3.4. Есть ли заменитель «using UnityEditor» для мобильного скрипта.

Мне нужен скрипт для мобильного. Любая идея для запуска на мобильном телефоне.

using UnityEngine;
using UnityEditor;
using UnityEditor.Callbacks;
using System.Collections.Generic;

public class Prefabz : MonoBehaviour
{
    public GameObject selObj;

        void Update()
        {
            if (Input.GetMouseButtonDown(0))
            {
                CreatePrefab();
            }
        }

        void CreatePrefab()
        {
            //GameObject[] selObjs = Selection.gameObjects;

                string charName = selObj.name;

                // duplicate
                GameObject newInstance = Instantiate(selObj);
                newInstance.name = charName;

                // now replace the prefab
                string prefabPath = "Assets/trideeScript/" + charName + ".prefab";
                var existingPrefab = AssetDatabase.LoadAssetAtPath(prefabPath, typeof(GameObject));
                if (existingPrefab != null)
                {
                    PrefabUtility.ReplacePrefab(newInstance, existingPrefab, ReplacePrefabOptions.ReplaceNameBased);
                }
                else
                {
                    PrefabUtility.CreatePrefab(prefabPath, newInstance);
                }

                // delete dupe
                DestroyImmediate(newInstance);

                Debug.Log("Prefab'd " + charName + "! \"" + prefabPath + "\"");
        }   
}

1 Ответ

0 голосов
/ 18 июня 2020

Пространство имен UnityEditor не поддерживается ни на одной платформе, кроме собственно Editor. Вот почему все сценарии редактора должны быть помещены в папку «Editor», и поэтому рекомендуется хранить все связанные с редактором вещи в директивах препроцессора #if UNITY_EDITOR

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...