Пример #1
0
    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);
        }
    }
Пример #2
0
    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();
    }