Esempio n. 1
0
    public void SendArtAssets()
    {
        HashSet <string> assetPaths = new HashSet <string>();

        DirectoryBytesData dirData = FileSaver.sFT[FileSaverTypes.PLAYER_GENERATED_DATA].ReturnAllMainFiles(3);

        for (int i = 0; i < dirData.filesData.Length; i++)
        {
            string   jsonFile   = Encoding.Default.GetString(dirData.filesData[i][0]);
            string[] imagePaths = JsonConvert.DeserializeObject <string[]>(jsonFile);

            for (int j = 0; j < imagePaths.Length; j++)
            {
                if (!assetPaths.Contains(imagePaths[j]))
                {
                    assetPaths.Add(imagePaths[j]);
                }
            }
        }

        string folderPath = FileSaver.PathGenerator(new string[] { LoadedData.gameDataPath, "UsrCreatedArt" });

        expectedFiles = assetPaths.Count;

        foreach (string path in assetPaths)
        {
            byte[] image = File.ReadAllBytes(Path.Combine(folderPath, path));
            SetBytesToSend(Encoding.Default.GetBytes(path));
            SetBytesToSend(image);
        }
    }
    public void SendFiles()
    {
        DirectoryBytesData dData = FileSaver.sFT[FileSaverTypes.PLAYER_GENERATED_DATA].ReturnAllMainFiles(datafilesToSend);

        HashSet <string> manifestFiles = new HashSet <string>();

        expectedFiles += dData.filesData.Length * GetDataBundleLength();
        SetBytesToSend(BitConverter.GetBytes(dData.filesData.Length));

        for (int i = 0; i < dData.filesData.Length; i++)
        {
            SetBytesToSend(Encoding.Default.GetBytes(dData.dirName[i]));

            for (int j = 0; j < dData.filesData[i].Length; j++)
            {
                SetBytesToSend(dData.filesData[i][j]);
            }
        }

        ManifestEncoder mEncoder = encoders[(int)NetworkEncoderTypes.MANIFEST] as ManifestEncoder;

        mEncoder.SendManifest();
    }