コード例 #1
0
        public static IEnumerator UploadScreenShot(UploadData data, Action onSuccess = null, Action <string> onError = null)
        {
            yield return(new WaitForSeconds(0.1f));

            List <IMultipartFormSection> formData = new List <IMultipartFormSection>();

            byte[] contents = data.ScreenShot.EncodeToPNG();

            formData.Add(new MultipartFormDataSection("chat_id", data.ChatId));
            formData.Add(new MultipartFormDataSection("caption", data.FileName));
            formData.Add(new MultipartFormFileSection("photo", contents, $"{data.FileName}.png", "image/png"));

            UnityWebRequest www = UnityWebRequest.Post($"{BaseUrl}{data.Token}/sendPhoto", formData);

            yield return(www.SendWebRequest());

            string error = www.error;

            if (!string.IsNullOrEmpty(error))
            {
                if (onError != null)
                {
                    onError(error);
                }
                yield break;
            }

            if (onSuccess != null)
            {
                onSuccess();
            }
        }
コード例 #2
0
        private IEnumerator CaptureToTelegram()
        {
            if (!SettingData.IsCompletedTelegaramData())
            {
                yield break;
            }

            _fileName = DateTime.Now.ToString("yyyyMMddHHmmss");
            filePath  = $"{SettingData.BackupPath}/{_fileName}.png";

            yield return(EditorCoroutines.EditorCoroutines.StartCoroutine(CaptureGameView(filePath), this));

            var uploadData = new TelegramHelper.UploadData {
                Token    = SettingData.TelegramToken,
                FileName = _fileName,
                ChatId   = SettingData.TelegramToken,
            };

            _screenshot = new Texture2D(1, 1);
            byte[] bytes = System.IO.File.ReadAllBytes(filePath);
            _screenshot.LoadImage(bytes);
            uploadData.ScreenShot = _screenshot;

            yield return(EditorCoroutines.EditorCoroutines.StartCoroutine(TelegramHelper.TelegramHelper.UploadScreenShot(uploadData, OnSuccess, OnError), this));
        }