Я думал как создавать комнаты своей новой для игры, думал данные хранить в txt а потом при загрузке сцены все ставить на свои места по тем типам и координатам что в txt доке...
но возникли некоторые трудности, особенно настраивать сцену с навмешами, спрайт шейперами, в общем такое в txt сложновато будет загнать...
Поэтому мне посоветовали делать сцены с полным набором всего, то есть поместить все префабы, спайт шейперы порастягивать как нужно, сделать сетку для навмеша и потом эту сцену прямо так сохранить и загружать когда она понадобится...
Вопрос - а можно ли будет по мере игры каким-то образом потом сохранять в этих сценах какие-то действия, например этот префаб уничтожили или тут новый создали во время игры, а во время следующей загрузки сцены оно все уже так и будет с изменениями?
Зачем нужны сцены для игры? Одна сцена для одной игры и все. Все комнаты хранятся в префабах. Добавляешь и удаляешь их со сцены. В txt ничего кроме текста (напр. локализация) хранить не нужно. Есть сериализация (напр. бинарная) - так сохраняй все на диск
так стоп, получается все что находится на сцене (включая все префабы) нужно созранять в еще один префаб и грузить его на сцене при нужной комнате?
Чет я запутался....
можно поподробнее описать конструкцию как должна строится комната? С учетом что в нем могут быть изменения во время игры и они должны сохраниться...
Zefirot, ни знаю что такое комнаты у тебя, но делаешь в редакторе комнату, перекидываешь у себя в папку - теперь это префаб, теперь можешь инстантиировать у себя в игре. как сохранять изменения? ни знаю какие у тебя там изменения будут, но тебе нужно написать логику, что ты будешь сохранять, а плюс главное, загрузку со всеми изменениями. так и есть. хочешь сохранять изменения в txt сохраняй туда, сам придумай, что там будешь писать, а потом как это читать и вносить изменения в стандартную комнату во время загрузки. прояви фантазию это именно так тупо делается, как и кажется
Что-то ты намудрил с префабами. Если надо перезагрузить уровень, придется удалять объект, создавать новый префаб.. Гораздо проще сделать это через сцены. Да, сцены менять можно. https://docs.unity3d.com/ScriptReference/SceneMana...
SceneManager.LoadScene(SceneName); // Загрузка сцены
SceneManager.LoadScene(SceneManager.GetActiveScene().name); // Загрузка текущей сцены
P.S.: А вот изменения в любом случае придется хранить в файле, ведь сохранять изменения в сцене во время игры нельзя.