コード例 #1
0
ファイル: SaveGame.cs プロジェクト: Wackronym/New-Upload
        /// <summary>
        /// Saves the image.
        /// </summary>
        /// <param name="identifier">Identifier.</param>
        /// <param name="texture">Texture.</param>
        /// <param name="settings">Settings.</param>
        public static void SaveImage(string identifier, Texture2D texture, SaveGameSettings settings)
        {
            settings.Identifier = identifier;
            string path = SaveGameFileStorage.GetAbsolutePath(settings.Identifier, settings.BasePath);

            File.WriteAllBytes(path, texture.EncodeToPNG());
        }
コード例 #2
0
        /// <summary>
        /// Upload the specified identifier, uploadIdentifier and settings.
        /// </summary>
        /// <param name="identifier">Identifier.</param>
        /// <param name="uploadIdentifier">Upload identifier.</param>
        /// <param name="settings">Settings.</param>
        public virtual IEnumerator UploadFile(string identifier, string uploadIdentifier, SaveGameSettings settings)
        {
            settings.Identifier = identifier;
            byte[] data = File.ReadAllBytes(SaveGameFileStorage.GetAbsolutePath(settings.Identifier, settings.BasePath));

            // Using WWWForm instead of Multipart form data, because there are some internal issues within Unity
            WWWForm form = new WWWForm();

            form.AddField("action", "uploadfile");
            form.AddField("secret-key", m_SecretKey);
            form.AddField("username", m_Username);
            form.AddField("password", m_Password);
            form.AddField("file-name", uploadIdentifier);
            if (m_CreateAccount)
            {
                form.AddField("create-account", "");
            }
            form.AddBinaryData("file", data, uploadIdentifier);
            //var form = CreateRequestForm("downloadfile", settings);
            //form.Add("file-name", identifier);
            m_Request = UnityWebRequest.Post(m_Url, form);
#if UNITY_2017_2_OR_NEWER
            yield return(m_Request.SendWebRequest());
#else
            yield return(m_Request.Send());
#endif
        }
コード例 #3
0
ファイル: SaveGame.cs プロジェクト: Wackronym/New-Upload
        /// <summary>
        /// Loads the image.
        /// </summary>
        /// <returns>The image.</returns>
        /// <param name="identifier">Identifier.</param>
        /// <param name="settings">Settings.</param>
        public static Texture2D LoadImage(string identifier, SaveGameSettings settings)
        {
            settings.Identifier = identifier;
            string path = SaveGameFileStorage.GetAbsolutePath(settings.Identifier, settings.BasePath);

            byte[]    data    = File.ReadAllBytes(path);
            Texture2D texture = new Texture2D(0, 0);

            texture.LoadImage(data);
            return(texture);
        }
コード例 #4
0
        /// <summary>
        /// Downloads the file.
        /// </summary>
        /// <returns>The file.</returns>
        /// <param name="identifier">Identifier.</param>
        /// <param name="downloadIdentifier">Download identifier.</param>
        /// <param name="settings">Settings.</param>
        public virtual IEnumerator DownloadFile(string identifier, string downloadIdentifier, SaveGameSettings settings)
        {
            settings.Identifier = identifier;
            var form = CreateRequestForm("downloadfile", settings);

            form.Add("file-name", identifier);
            m_Request = UnityWebRequest.Post(m_Url, form);
#if UNITY_2017_2_OR_NEWER
            yield return(m_Request.SendWebRequest());
#else
            yield return(m_Request.Send());
#endif
#if UNITY_2017_1_OR_NEWER
            if (m_Request.isHttpError || m_Request.isNetworkError)
            {
                Debug.LogError("Download Failed");
                Debug.LogError(m_Request.error);
                Debug.LogError(m_Request.downloadHandler.text);
            }
            else
            {
                File.WriteAllBytes(
                    SaveGameFileStorage.GetAbsolutePath(downloadIdentifier, settings.BasePath),
                    m_Request.downloadHandler.data);
            }
#else
            if (m_Request.isError)
            {
                Debug.LogError("Download Failed");
                Debug.LogError(m_Request.error);
                Debug.LogError(m_Request.downloadHandler.text);
            }
            else
            {
                File.WriteAllBytes(
                    SaveGameFileStorage.GetAbsolutePath(downloadIdentifier, settings.BasePath),
                    m_Request.downloadHandler.data);
            }
#endif
        }
コード例 #5
0
ファイル: SaveGame.cs プロジェクト: Wackronym/New-Upload
 /// <summary>
 /// Gets the absolute path to the identifier.
 /// This method only works on platforms that support file storage.
 /// </summary>
 /// <param name="identifier"></param>
 /// <returns></returns>
 public static string GetAbsolutePath(string identifier, SaveGameSettings settings)
 {
     settings.Identifier = identifier;
     return(SaveGameFileStorage.GetAbsolutePath(settings.Identifier, settings.BasePath));
 }