コード例 #1
0
    void SetWorkShopGridItemInfo(SteamPreFileAndVoteDetail del, UIWorkShopGridItem item)
    {
        if (item == null)
        {
            return;
        }
        item.gameObject.SetActive(true);

        if (del != null)
        {
            item.SetIsoName(del.m_rgchTitle);
            item.SetDownloaded(UIWorkShopCtrl.CheckDownloadExist(del.m_rgchTitle + VCConfig.s_IsoFileExt));
            if (del.m_aPreFileData != null)
            {
                VCIsoHeadData headData = new VCIsoHeadData();
                headData.SteamPreview = del.m_aPreFileData;
                item.SetAuthor(PELocalization.GetString(8000696));
                Texture2D texture = new Texture2D(4, 4);
                texture.LoadImage(headData.IconTex);
                item.SetIco(texture);
            }
            else
            {
                item.SetIco(null);
            }
        }
        else
        {
            item.SetIco(null);
            item.SetIsoName(PELocalization.GetString(8000695));
            item.SetAuthor(PELocalization.GetString(8000695));
        }

        item.ActiveLoadingItem(false);
    }
コード例 #2
0
    void  GetItemDetailCallBack(PublishedFileId_t p_id, SteamPreFileAndVoteDetail detail, bool bOK)
    {
        if (isActve == false)
        {
            return;
        }

        if (bOK)
        {
            mItemsMap[p_id] = detail;
        }
        else
        {
            if (!mGetCountMap.ContainsKey(p_id))
            {
                mGetCountMap[p_id] = 0;
            }

            if (mGetCountMap[p_id] <= 3)
            {
                GetItemDetail(p_id);
                return;
            }
            mItemsMap[p_id] = null;
        }

        if (e_GetItemDetail != null)
        {
            e_GetItemDetail(p_id, detail);
        }
    }
コード例 #3
0
 void Finish(PublishedFileId_t publishedFileId, SteamPreFileAndVoteDetail detail, bool bOK)
 {
     if (CallBackGetPreFileResult != null)
     {
         CallBackGetPreFileResult(publishedFileId, detail, bOK);
     }
     ProcessList.Remove(this);
 }
コード例 #4
0
 public bool DeleteMyIsoFile(SteamPreFileAndVoteDetail detail)
 {
     if (null == detail || !mItemsMap.ContainsKey(detail.m_nPublishedFileId))
     {
         return(false);
     }
     SteamProcessMgr.Instance.DeleteFile(DeleteMyIsoFileCallBack, detail.m_pchFileName, detail.m_nPublishedFileId);
     return(true);
 }
コード例 #5
0
    void UpdateDownLoadState()
    {
        int starIndex = Convert.ToInt32(mWorkShopMgr.mGetIdStarIndex);

        for (int i = 0; i < mWorkShopGridCtrl.mUIItems.Count; i++)
        {
            if (mWorkShopGridCtrl.mUIItems[i].gameObject.activeSelf == false)
            {
                continue;
            }

            if (mWorkShopMgr.mIndexMap.ContainsKey(starIndex + i))
            {
                PublishedFileId_t p_id = mWorkShopMgr.mIndexMap[starIndex + i];
                if (mWorkShopMgr.mItemsMap.ContainsKey(p_id))
                {
                    SteamPreFileAndVoteDetail detail = mWorkShopMgr.mItemsMap[p_id];
                    if (detail != null && mWorkShopGridCtrl.mUIItems[i].gameObject.activeSelf)
                    {
                        int loadByte, totleByte;
                        if (SteamProcessMgr.Instance.GetDownProgress(detail.m_hFile, out loadByte, out totleByte))
                        {
                            int value = 0;
                            if (totleByte != 0)
                            {
                                value = Convert.ToInt32((loadByte * 100) / totleByte);
                            }
                            if (value > 0)
                            {
                                mWorkShopGridCtrl.mUIItems[i].UpdteUpDownInfo(value.ToString() + "%");
                                mWorkShopMgr.mDownMap[p_id] = value;
                            }
                        }
                        else
                        {
                            if (mWorkShopMgr.mDownMap.ContainsKey(p_id))
                            {
                                if (mWorkShopMgr.mDownMap[p_id] <= 0)
                                {
                                    mWorkShopGridCtrl.mUIItems[i].UpdteUpDownInfo(PELocalization.GetString(8000911)); // "Failed!"
                                }
                                else if (mWorkShopMgr.mDownMap[p_id] >= 100)
                                {
                                    mWorkShopGridCtrl.mUIItems[i].SetDownloaded(true);
                                }
                                else
                                {
                                    mWorkShopGridCtrl.mUIItems[i].UpdteUpDownInfo(mWorkShopMgr.mDownMap[p_id].ToString() + "%");
                                }
                                this.UpdateDownloadBtnState();
                            }
                        }
                    }
                }
            }
        }
    }
コード例 #6
0
    void OnClickWorkShopItem(int index)
    {
        mSelectedDetail = null;

        if (!mMyWorkShopMgr.mIndexMap.ContainsKey(index))
        {
            mVCERightPanel.SetActive(false);
            return;
        }

        PublishedFileId_t p_id = mMyWorkShopMgr.mIndexMap[index];

        if (p_id.m_PublishedFileId == 0)
        {
            mVCERightPanel.SetActive(false);
            return;
        }

        SteamPreFileAndVoteDetail del;

        if (mMyWorkShopMgr.mItemsMap.ContainsKey(p_id))
        {
            del = mMyWorkShopMgr.mItemsMap[p_id];
        }
        else
        {
            del = null;
        }

        mSelectedDetail = del;

        if (del == null)
        {
            mVCERightPanel.SetActive(false);
            return;
        }

        mVCERightPanel.SetActive(true);

        VCIsoHeadData headData = new VCIsoHeadData();

        headData.SteamPreview = del.m_aPreFileData;

        Texture2D texture = new Texture2D(4, 4);

        texture.LoadImage(headData.IconTex);

        mRinghtPanelCtrl.m_NonEditorIcon       = headData.IconTex;
        mRinghtPanelCtrl.m_NonEditorISODesc    = del.m_rgchDescription;
        mRinghtPanelCtrl.m_NonEditorISOName    = del.m_rgchTitle;
        mRinghtPanelCtrl.m_NonEditorRemark     = headData.Remarks;
        mRinghtPanelCtrl.m_NonEditorISOVersion = del.m_rgchTags;//Log: lz-2016.05.13 Add version field
        mRinghtPanelCtrl.SetIsoIcon();
        mRinghtPanelCtrl.OnCreationInfoRefresh();
        this.UpdateDeleteBtnState();
        this.UpdateDownloadBtnState();
    }
コード例 #7
0
    void OnDownLoadFileCallBack(byte[] fileData, PublishedFileId_t p_id, bool bOK, int index = -1, int dungeonId = -1)
    {
        if (isActve == false)
        {
            return;
        }

        //bool DonLoadSucess = false;
        if (bOK)
        {
            if (mItemsMap.ContainsKey(p_id))
            {
                if (mItemsMap[p_id] != null)
                {
                    SteamPreFileAndVoteDetail detail = mItemsMap[p_id];

                    VCIsoHeadData headData;

                    string creation = "Object";
                    if (VCIsoData.ExtractHeader(fileData, out headData) > 0)
                    {
                        creation = headData.Category.ToString();
                        creation = creation.Substring(2, creation.Length - 2);
                    }

                    string downLoadFilePath = VCConfig.s_IsoPath + string.Format("/Download/{0}/", creation);
                    string netCacheFilePath = VCConfig.s_CreationNetCachePath;

                    string downLoadFileName = detail.m_rgchTitle;
                    string netCacheFileName = CRC64.Compute(fileData).ToString();

                    if (SaveToFile(fileData, downLoadFileName, downLoadFilePath, VCConfig.s_IsoFileExt))
                    {
                        UIWorkShopCtrl.AddDownloadFileName(mItemsMap[p_id].m_rgchTitle + VCConfig.s_IsoFileExt, mIsPrivate);
                        mDownMap[p_id] = 100;
                    }

                    //lz-2016.05.30 保存一份到NetCache路径下,避免NetCache重复下载
                    SaveToFile(fileData, netCacheFileName, netCacheFilePath, VCConfig.s_CreationNetCacheFileExt);
                }
            }
        }
        else
        {
            mDownMap[p_id] = -1;
            MessageBox_N.ShowOkBox(PELocalization.GetString(8000493));
        }

//		if (e_DownLoadFile != null)
//			e_DownLoadFile(filePath,DonLoadSucess);
    }
コード例 #8
0
    public bool DownLoadFile(SteamPreFileAndVoteDetail detail)
    {
        if (mDownMap.ContainsKey(detail.m_nPublishedFileId))
        {
            if (mDownMap[detail.m_nPublishedFileId] >= 0)
            {
                return(false);
            }
        }
        mDownMap[detail.m_nPublishedFileId] = 0;         // 已经下载过的

        SteamProcessMgr.Instance.GetPrimaryFile(OnDownLoadFileCallBack, detail.m_hFile, detail.m_nPublishedFileId);
        return(true);
    }
コード例 #9
0
    void GetGridItemDetail(PublishedFileId_t p_id, SteamPreFileAndVoteDetail detail)
    {
        int findIndex = FindIndexInGrid(p_id);

        if (findIndex == -1)
        {
            return;
        }

        int i = findIndex % mWorkShopGridCtrl.mMaxGridCount;

        if (i > mWorkShopGridCtrl.mMaxGridCount || i < 0)
        {
            return;
        }
        SetWorkShopGridItemInfo(detail, mWorkShopGridCtrl.mUIItems[i]);
    }
コード例 #10
0
    void OnVoteCallBack(PublishedFileId_t p_id, bool bFor)
    {
        int findIndex = FindIndexInGrid(p_id);

        if (findIndex == -1)
        {
            return;
        }

        int i = findIndex % mWorkShopGridCtrl.mMaxGridCount;

        if (i > mWorkShopGridCtrl.mMaxGridCount || i < 0)
        {
            return;
        }

        if (mWorkShopMgr.mItemsMap.ContainsKey(p_id))
        {
            SteamPreFileAndVoteDetail detail = mWorkShopMgr.mItemsMap[p_id];
            if (bFor)
            {
                detail.m_VoteDetail.m_nVotesFor++;
            }
            else
            {
                detail.m_VoteDetail.m_nVotesAgainst++;
            }

            if (mWorkShopGridCtrl.mUIItems[i] == null)
            {
                return;
            }

            mWorkShopGridCtrl.mUIItems[i].SetDingText(detail.m_VoteDetail.m_nVotesFor.ToString());
            mWorkShopGridCtrl.mUIItems[i].SetCaiText(detail.m_VoteDetail.m_nVotesAgainst.ToString());
        }
    }
コード例 #11
0
    // event 回调
    void  UpdateWorkShopGrid(int index_0)
    {
        if (index_0 < 0)
        {
            index_0 = 0;
        }

        mSelectedDetail = null;
        mVCERightPanel.SetActive(false);

        mWorkShopMgr.mGetIdStarIndex = Convert.ToUInt32(index_0);

        if (!mWorkShopMgr.mIndexMap.ContainsKey(index_0))
        {
            for (int i = 0; i < mWorkShopGridCtrl.mUIItems.Count; i++)
            {
                mWorkShopGridCtrl.mUIItems[i].gameObject.SetActive(false);
                mWorkShopGridCtrl.mUIItems[i].ActiveUpDown(false);
            }
            this.GetPageGrid();
        }
        else
        {
            for (int i = 0; i < mWorkShopGridCtrl.mUIItems.Count; i++)
            {
                if (mWorkShopMgr.mIndexMap.ContainsKey(index_0 + i))
                {
                    PublishedFileId_t p_id = mWorkShopMgr.mIndexMap[index_0 + i];
                    mWorkShopGridCtrl.mUIItems[i].gameObject.SetActive(true);
                    if (mWorkShopMgr.mItemsMap.ContainsKey(p_id))
                    {
                        SteamPreFileAndVoteDetail del = mWorkShopMgr.mItemsMap[p_id];
                        if (mWorkShopMgr.mDownMap.ContainsKey(p_id))
                        {
                            if (mWorkShopMgr.mDownMap[p_id] > 0)
                            {
                                mWorkShopGridCtrl.mUIItems[i].ActiveUpDown(true);
                            }
                            else
                            {
                                mWorkShopGridCtrl.mUIItems[i].ActiveUpDown(false);
                            }
                        }
                        else
                        {
                            mWorkShopGridCtrl.mUIItems[i].ActiveUpDown(false);
                        }
                        SetWorkShopGridItemInfo(del, mWorkShopGridCtrl.mUIItems[i]);
                    }
                    else
                    {
                        SetWorkShopGridItemInfo(null, mWorkShopGridCtrl.mUIItems[i]);
                        continue;
                    }
                }
                else
                {
                    mWorkShopGridCtrl.mUIItems[i].gameObject.SetActive(false);
                }
                mWorkShopGridCtrl.mUIItems[i].SetSelected(false);
            }
        }
    }