Exemplo n.º 1
0
        /// <summary>
        /// 从文件中上传
        /// </summary>
        /// <param name="filePath"></param>
        /// <param name="fileName"></param>
        private void ToUploadAnchorFile(string filePath, string fileName)
        {
            try
            {
                uploadApi = new UploadProgressAnchorApi(
                    "http://" + serverHost,
                    appId,
                    roomId,
                    anchorFilePath,
                    anchorFileName
                    );

                worker.SubmitWork(uploadApi);
            }
            catch (Exception e)
            {
                uploadApi         = null;
                uploadFinish      = true;
                uploadErrorString = e.ToString();
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 导出anchor资料并上传
        /// 注意,上传期间应当阻止应用活动,以避免上传完成之前再次调用
        /// </summary>
        /// <param name="anchors"></param>
        /// <param name="cbFinish"></param>
        public void ExportGameRootAnchor(List <AnchorObjectInfo> anchors, System.Action <bool, string> cbFinish)
        {
            cbExportFinish    = cbFinish;
            uploadFinish      = false;
            uploadErrorString = null;
            uploadApi         = null;

            WorldAnchorTransferBatch transferBatch = new WorldAnchorTransferBatch();

            for (int i = 0; i < anchors.Count; i++)
            {
                AnchorObjectInfo info = anchors[i];
                if (info.anchor != null)
                {
                    bool flag = transferBatch.AddWorldAnchor(info.anchorName, info.anchor);
                    Debug.Log(flag);
                }
            }

            Buffer = new byte[0];
            WorldAnchorTransferBatch.ExportAsync(transferBatch, OnExportDataAvailable, OnExportComplete);
        }
Exemplo n.º 3
0
 void Update()
 {
     if (cbExportFinish != null)
     {
         if (uploadApi != null)
         {
             try
             {
                 double progress = worker.GetProgress(uploadApi);
                 if (progress >= 1)
                 {
                     uploadFinish = true;
                     uploadApi    = null;
                 }
             }
             catch (Exception e)
             {
                 Debug.Log(e);
             }
         }
         if (uploadFinish)
         {
             cbExportFinish(uploadErrorString == null ? true : false, uploadErrorString);
             uploadFinish   = false;
             cbExportFinish = null;
             if (File.Exists(anchorFilePath + "/" + anchorFileName))
             {
                 File.Delete(anchorFilePath + "/" + anchorFileName);
             }
         }
     }
     if (cbImportFinish != null)
     {
         if (downloadApi != null)
         {
             try
             {
                 double progress = worker.GetProgress(downloadApi);
                 if (progress >= 1)
                 {
                     downloadFinish = true;
                     downloadApi    = null;
                 }
             }
             catch (Exception e)
             {
                 Debug.Log(e);
             }
         }
         if (downloadFinish)
         {
             if (downloadErrorString != null)
             {
                 cbImportFinish(false, downloadErrorString, null);
                 cbImportFinish = null;
             }
             else
             {
                 ContinueDownload();
             }
             downloadFinish = false;
         }
     }
 }