コード例 #1
0
    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
    }
コード例 #2
0
    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;
    }