public void translate(CoordinatorSerializable cs) { nbPlayers = cs.nbPlayer; playerSprites = new Sprite[nbPlayers]; playerPositions = new Vector3[nbPlayers]; savedStartPosition = new List<Vector3>[nbPlayers]; savedEndPosition = new List<Vector3>[nbPlayers]; for (int i = 0; i < nbPlayers; i++) { savedStartPosition[i] = new List<Vector3>(); savedEndPosition[i] = new List<Vector3>(); } for (int i = 0; i < nbPlayers; i++) { playerSprites[i] = chars.characters[cs.playerSpritesNumber[i]].GetComponent<SpriteRenderer>().sprite; playerPositions[i] = cs.playerPos[i].toVector3(); if (cs.savedStartPosition[i].Count == 0) savedStartPosition[i].Add(playerPositions[i]); else { for (int j = 0; j < cs.savedStartPosition[i].Count; j++) savedStartPosition[i].Add(cs.savedStartPosition[i][j].toVector3()); } for (int j = 0; j < cs.savedEndPosition[i].Count; j++) savedEndPosition[i].Add(cs.savedEndPosition[i][j].toVector3()); Debug.Log(savedStartPosition[i].Count); } }
public static void Save() { BinaryFormatter bf = new BinaryFormatter(); FileStream file = File.Open(Application.persistentDataPath + "/playerInfo.dat", FileMode.Create); CoordinatorSerializable data = new CoordinatorSerializable(Coordinator.nbPlayer, Coordinator.nbBonus); //a faire en plus propre, genre peut etre avec un construteur data.playerSpritesNumber = playerSpritesNumber; for (int i = 0; i < data.nbPlayer; i++) { data.playerPos[i] = new Vector3Serializer(Coordinator.Players[i].transform.position); //data.playerCurrentStep[i] = Coordinator.Players[i].GetComponent<Move>(). Debug.Log(Coordinator.Players[i].GetComponent<Move>().startPosition.Count); if (Coordinator.Players[i].GetComponent<Move>().startPosition.Count != 0) { for (int j = 0; j < Coordinator.Players[i].GetComponent<Move>().startPosition.Count; j++) data.savedStartPosition[i].Add(new Vector3Serializer(Coordinator.Players[i].GetComponent<Move>().startPosition[j])); } for (int j = 0; j < Coordinator.Players[i].GetComponent<Move>().endPosition.Count; j++) data.savedEndPosition[i].Add(new Vector3Serializer(Coordinator.Players[i].GetComponent<Move>().endPosition[j])); } bf.Serialize(file, data); file.Close(); }