muy buenas a todos , estoy intentando guardar algunos datos de juego en unity como int, float etc , pero no se como guardar un array para despues poder cargarlo al iniciar nuevamente el juego , estoy serializando y usando la clase BinaryFormatter pero e intentado hacer lo mismo que hice con los int con un array solo que no e encontrado la forma no quiero usar Playerprefab ni Json. aqui les paso lo que si me a salido con los int.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
public class GameController : MonoBehaviour
{
public int puntos = 0;
public int EnemigosMuertos = 0;
public static GameController gamecontroller;
[Header("Enemigos y config")]
public GameObject [] Hazards;// ARRAY QUE QUIERO GUARDAR y VOLVER A CARGAR
private void Awake()
{
gamecontroller = GetComponent<GameController>();
RutaDeArchivo = Application.persistentDataPath + "/datos.dat";
}
void Start()
{
Cargar();//llamo al metodo para cargar los puntajes y los enemigos del array al iniciar nuevamente el juego
}
//metodos para guardar y cargar partida
public void Guardar()
{
gamecontroller.puntos = puntos;//update puntos
gamecontroller.EnemigosMuertos = EnemigosMuertos;//update enemydeaths
gamecontroller.Hazards = Hazards;//update array anemy
BinaryFormatter bf = new BinaryFormatter();
FileStream file = new FileStream(RutaDeArchivo, FileMode.Create);
DatosAGuardar datos = new DatosAGuardar();
datos.puntos = puntos; // guardando puntaje
datos.muertes = EnemigosMuertos;//guardando num enemigos muertos
//datos.enemigos = Hazards; //NO SE COMO GUARDARLO NO ME SALE COMO LOS DEMAS VARIABLES
bf.Serialize(file, datos);
file.Close