Версия Unity:Unity 5.6.6f2 (64-bit)
Не могу понять , что подключить в using чтоб ошибки не было. Добавил :
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
#if UNITY_EDITOR
using UnityEditor;
using UnityEditor.SceneManagement;
#endif
...
public class SceneManagerWindow : MonoBehaviour
{
...
protected NewSceneSetup newSceneSetup = NewSceneSetup.DefaultGameObjects;
protected NewSceneMode newSceneMode = NewSceneMode.Single;
...
}
...
Но всё равно ошибка:
Assets/Scene/SceneManagerWindow.cs(15,12): error CS0246: The type or namespace name `NewSceneSetup' could not be found. Are you missing an assembly reference?
думаю это из-за
#if UNITY_EDITOR
#endif
Даже если убрать #if UNITY_EDITOR
- проект все равно не соберется. Заглянем в документацию к NewSceneSetup
и NewSceneMode
и прочтем описание:
Used when creating a new Scene in the Editor.
Что уже намекает, что данные типы нигде, кроме как в редакторе, использовать нельзя. Если данный класс полностью отвечает за функционал, определенный для редактора - окружайте весь класс #if UNITY_EDITOR
'ом:
#if UNITY_EDITOR
public class SceneManagerWindow : MonoBehaviour
{
...
protected NewSceneSetup newSceneSetup = NewSceneSetup.DefaultGameObjects;
protected NewSceneMode newSceneMode = NewSceneMode.Single;
...
}
#endif
Либо, если данный класс лишь в некоторых местах использует API редактора - оборачивайте вызовы API во все те же #if
:
public class SceneManagerWindow : MonoBehaviour
{
...
#if UNITY_EDITOR
protected NewSceneSetup newSceneSetup = NewSceneSetup.DefaultGameObjects;
protected NewSceneMode newSceneMode = NewSceneMode.Single;
#endif
...
}
Нет, использовать API редактора в Player билдах никак не получится.
Как мне кажется вы засунули подключение библиотеки в платформенно-зависимую компиляцию (PDC), что не есть хорошо. Так как данный метод используется по другому: Например, для разделения кода под платформу IOS и Android, и тд.
А компилятор ругается из-за того что вы не настроили Build Settings в проекте, он как бы не видит данные строки (для него они не существуют на данный момент):
#if UNITY_EDITOR
using UnityEditor;
using UnityEditor.SceneManagement;
#endif
Данная ошибка, это и подтверждает (особенно последние слова):
The type or namespace name `NewSceneSetup' could not be found. Are you missing an assembly reference?
Так-как большинство IDE с плагином Unity не способны определить как вы собираетесь использовать PDC в своем проекте, они не отображают это как ошибку. По этому вы и не смогли определить в чем проблема, так как в IDE все есть и подключено, но во время сборки эти правила были исключены.
Также для более корректной работы необходимо подключить эти библиотеки так:
using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine.SceneManagement;
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Можете подсказать, вот у меня есть 2 монитора и мне нужно по нажатию кнопки перенести окно WPF на другой монитор и при повторном нажатии кнопки...
Разрабатываю игру flappy bird, столкнулся с такой проблемой, что не могу прорисовать трубы(PictureBox)Написал код для прорисовки труб, создал массивы,...
Где её хранить и в каком виде? В базе данных, в отдельной строке в таблице Users?