Чтобы сохранить и загрузить массив объектов в Unity, вам понадобится использовать механизм сериализации. Сериализация - это процесс преобразования объектов в формат, который можно сохранить или передать, и восстановления объектов из этого формата.
Для начала, вам нужно убедиться, что ваш класс объекта подлежит сериализации. Для этого добавьте атрибут [Serializable] к определению класса. Например:
[Serializable] public class MyObject { public string name; public int value; }
Затем, чтобы сохранить массив объектов, вам нужно преобразовать его в байтовый массив, который можно записать в файл. Для этого вы можете использовать класс BinaryFormatter из пространства имен System.Runtime.Serialization.Formatters.Binary. Вот пример кода для сохранения массива объектов:
using System.IO; using System.Runtime.Serialization.Formatters.Binary; public class SaveManager { public static void SaveObjects(MyObject[] objects, string filePath) { BinaryFormatter formatter = new BinaryFormatter(); FileStream file = File.Create(filePath); formatter.Serialize(file, objects); file.Close(); } }
Параметр objects
- это массив объектов, который вы хотите сохранить, и filePath
- путь к файлу, в который нужно сохранить данные.
Чтобы загрузить массив объектов обратно, просто выполните обратную операцию. Вот пример кода для загрузки массива объектов:
public class LoadManager { public static MyObject[] LoadObjects(string filePath) { BinaryFormatter formatter = new BinaryFormatter(); FileStream file = File.Open(filePath, FileMode.Open); MyObject[] objects = (MyObject[])formatter.Deserialize(file); file.Close(); return objects; } }
Параметр filePath
- это путь к файлу, из которого нужно загрузить данные. Метод Deserialize
преобразует байтовый массив обратно в массив объектов.
Использование этих примеров может выглядеть следующим образом:
MyObject[] objects = new MyObject[5]; // заполнение массива объектами string filePath = "save.dat"; SaveManager.SaveObjects(objects, filePath); MyObject[] loadedObjects = LoadManager.LoadObjects(filePath); // использование загруженных объектов
Таким образом, ваш массив объектов будет сохранен в файле с помощью сериализации и восстановлен при необходимости.