void SetLocalGridItemInfo(VCEAssetMgr.IsoFileInfo _isoFileInfo, UIWorkShopGridItem item) { string isoName = _isoFileInfo.m_Name; if (_isoFileInfo.m_IsFolder) { item.InitItem(WorkGridItemType.mLocalFloder, isoName); item.SetIco(null); } else { VCIsoHeadData headData; VCIsoData.ExtractHeader(_isoFileInfo.m_Path, out headData); item.InitItem(WorkGridItemType.mLocalIcon, isoName); Texture2D texture = new Texture2D(256, 256); texture.LoadImage(headData.IconTex); item.SetIco(texture); item.SetAuthor(headData.Author); } }
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; }