Помощь с загрузкой объектов

Делаю LevelEditor для игры скриптом. Сделал всё, осталось лишь только сохранение и загрузку созданных объектов. И вот тут возникла проблема. Я совсем не знаю, как мне это реализовать. Я пробовал создавать массивы с координатами объектов и сохранять в файл, но это слишком муторно и долго(при чтении файла, нужно учитывать каждую строчку). Хотел объединить все объекты в префаб, но не нашёл, как это сделать. Подскажите, как можно реализовать сохранение и загрузку?


Ответы (1 шт):

Автор решения: Mr.AntonDer

Самый простой, но плохой способ, это сохранять координаты каждого объекта в PlayerPrefs.

Достаточно создать такой скрипт:

public string key;
private string[] keys = new string[3];
Vector3 pos;

void Start(){
keys[0]=key+"1";
keys[1]=key+"2";
keys[2]=key+"3";
this.gameObject.transform.position.x = PlayerPrefs.GetFloat(keys[0]);
this.gameObject.transform.position.y = PlayerPrefs.GetFloat(keys[1]);
this.gameObject.transform.position.z = PlayerPrefs.GetFloat(keys[2]);
}
void Update(){
PlayerPrefs.SetFloat(keys[0], this.gameObject.transform.position.x);
PlayerPrefs.SetFloat(keys[1], this.gameObject.transform.position.y);
PlayerPrefs.SetFloat(keys[2], this.gameObject.transform.position.z);
}

Кидайте его на объект, который хотите сохранить, далее введите любой ключ (Уникальный для каждого объекта)

→ Ссылка