Код
foreach (var obj in GameObject.FindGameObjectsWithTag("Cube1"))
{
ObjectsPositions.Add(obj);
}
Тут нужно бы добавлять новый экземпляр myVector3
Код
foreach (var obj in GameObject.FindGameObjectsWithTag("Cube1"))
{
myVector3 i = new myVector3()
i.x = obj.transform.position.x;
i.y = obj.transform.position.y;
i.z = obj.transform.position.z;
ObjectsPositions.Add(i);
}
Код
void List<myVector3>Load()
Во первых, Void означает, что функция ничего не возвращает, но тут тебе нужно вернуть лист. Да и тип возвращаемого значения нужно писать через пробел:
Код
public List<myVector3> Load()
Насчет сериализации - я тебе писал в соседней теме (и почему стоило новую создавать?), там все предельно просто. На твоем примере будет как-то так:
Код
void Save(List<myVector3> positions)
{
BinaryFormatter formatter = new BinaryFormatter();
using (FileStream stream = new FileStream(Application.persistentDataPath + "/save.sav", FileMode.Create))
{
formatter.Serialize(Application.persistentDataPath + "/save.sav", positions);
}
}
И загрузка:
Код
public List<myVector3> Load()
{
List<myVector3> objects;
BinaryFormatter formatter = new BinaryFormatter();
using (FileStream stream = new FileStream(Application.persistentDataPath + "/save.sav", FileMode.Open))
{
objects = (List<myVector3>)formatter.Deserialize(stream);
}
return objects;
}