public static void SendIsoDataToServer(string name, string desc, byte[] preIso, byte[] isoData, string[] tags, bool sendToServer = true, ulong fileId = 0, bool free = false) { #if PLANET_EXPLORERS //ulong hash_code = CRC64.Compute(isodata); //FileTransManager.RegisterISO(hash_code, isodata); #endif #if SteamVersion SteamWorkShop.SendFile(null, name, desc, preIso, isoData, tags, sendToServer, -1, fileId, free); #else ulong hash_code = CRC64.Compute(isoData); //FileTransManager.RegisterISO(hash_code, isoData); #endif }
void BtnUploadOnClick() { if (this.m_ImportIsoing) { return; } this.m_ImportIsoing = true; if (mSelectedIsoIndex == -1 || mSelectedIsoIndex >= mLocalIsoInfo.Count) { SetInfoMsg(UIMsgBoxInfo.mCZ_WorkShopUpNeedSeletedIso.GetString()); this.m_ImportIsoing = false; return; } int i = mSelectedIsoIndex % mLocalGridCtrl.mMaxGridCount; if (i < 0 || i >= mLocalGridCtrl.mMaxGridCount) { this.m_ImportIsoing = false; return; } VCEAssetMgr.IsoFileInfo fileInfo = mLocalIsoInfo[mSelectedIsoIndex]; VCIsoData iso = new VCIsoData(); try { string fullpath = fileInfo.m_Path; using (FileStream fs = new FileStream(fullpath, FileMode.Open, FileAccess.Read)) { byte[] iso_buffer = new byte [(int)(fs.Length)]; fs.Read(iso_buffer, 0, (int)(fs.Length)); fs.Close(); iso.Import(iso_buffer, new VCIsoOption(true)); //VCGameMediator.SendIsoDataToServer(); if (iso.m_HeadInfo.Version < 0x02030001) { MessageBox_N.ShowOkBox(PELocalization.GetString(8000487)); this.m_ImportIsoing = false; return; } string isoPath = fullpath.Replace('\\', '/'); isoPath = isoPath.Replace(mDefoutIcoPath, "[ISO]/"); mUpLoadIndex++; //lz-2016.05.17 存储上传中Iso 的 hash ulong hash = CRC64.Compute(iso_buffer); if (null != this.m_UploadingIsoHashList && this.m_UploadingIsoHashList.Contains(hash)) { MessageBox_N.ShowOkBox(PELocalization.GetString(8000488)); this.m_ImportIsoing = false; return; } this.m_UploadingIsoHashList.Add(hash); mUpLoadMap[mUpLoadIndex] = isoPath; mUpLoadStateMap[mUpLoadMap[mUpLoadIndex]] = 0; mLocalGridCtrl.mUIItems[i].ActiveUpDown(true); mLocalGridCtrl.mUIItems[i].UpdteUpDownInfo(PELocalization.GetString(8000908)); //"Uploading" SteamWorkShop.SendFile(UpLoadFileCallBack, iso.m_HeadInfo.Name, iso.m_HeadInfo.SteamDesc, iso.m_HeadInfo.SteamPreview, iso_buffer, SteamWorkShop.AddNewVersionTag(iso.m_HeadInfo.ScenePaths()), false, mUpLoadIndex); } } catch (Exception e) { mLocalGridCtrl.mUIItems[i].ActiveUpDown(false); mLocalGridCtrl.mUIItems[i].UpdteUpDownInfo(""); Debug.Log(" WorkShop Loading ISO Error : " + e.ToString()); MessageBox_N.ShowOkBox(PELocalization.GetString(8000489)); } this.m_ImportIsoing = false; }