Exemple #1
0
        //打开某一局的精彩时刻截图
        public void OpenWarData(UGloryMomentReqMsgData msgData)
        {
            if (null == msgData)
            {
                return;
            }

            int index = m_timeAxisMap.FindIndex(x => x == msgData.szDataTime);

            if (index < 0)
            {
                return;
            }

            if (m_timeAxisMap.Count <= MaxTimeItemCount)
            {
                JumpToTime(index);
            }
            else
            {
                //跳转时间不在最后一页中
                if (index + MaxTimeItemCount < m_timeAxisMap.Count)
                {
                    m_topNode = index;
                    m_currentTimeAxisIndex = 0;
                    m_endNode = m_topNode + MaxTimeItemCount - 1;
                    for (int i = 0; i < m_timeAxisItemList.Count; i++)
                    {
                        m_timeAxisItemList[i].SetData(m_timeAxisMap[m_topNode + i], i == m_currentTimeAxisIndex);
                    }
                }
                ///要跳转时间在最后一页中
                else
                {
                    m_topNode = m_timeAxisMap.Count - MaxTimeItemCount;
                    m_currentTimeAxisIndex = index - m_topNode;
                    m_endNode = m_timeAxisMap.Count - 1;
                    for (int i = 0; i < m_timeAxisItemList.Count; i++)
                    {
                        m_timeAxisItemList[i].SetData(m_timeAxisMap[m_topNode + i], i == m_currentTimeAxisIndex);
                    }
                }
                RefreshDataList();
            }

            CaptureImgData img = m_ImgDataList.Find(x => x.imgInfo.nDBWarID == msgData.nDBWarID);

            if (img != null)
            {
                USocialShareShowMsgData imgData = new USocialShareShowMsgData();
                imgData.fileIndex = index;
                imgData.nDBWarID  = msgData.nDBWarID;
                imgData.imgPath   = img.fileInfo.Name;
                imgData.imgData   = img.imgByteData;
                OpenImgShareFrame(imgData);

                m_fileIndex = m_ImgDataList.IndexOf(img);
            }
        }
Exemple #2
0
        public void RefreshDataList()
        {
            m_fileIndex = 0;
            GloryMomentList.DataSource.Clear();
            GloryMomentList.DataSource.BeginUpdate();
            if (m_currentPageType == EMGloryMomentPageType.EMPage_Image)
            {
                m_ImgDataList = LogicDataCenter.screenCaptureDataManager.GetImgDataByDateTime(m_currentPageTime);
                if (m_ImgDataList != null)
                {
                    int index = 0;
                    foreach (CaptureImgData data in m_ImgDataList)
                    {
                        int imgType = (int)data.imgInfo.screenShotType;

                        if (imgType < (int)EMScreenShotType.EMSS_TripleKill || imgType > (int)EMScreenShotType.EMSS_Max)
                        {
                            continue;
                        }

                        if (m_currentDataShowType != EMGloryMomentDataShowType.EMType_All && (int)imgType != (int)m_currentDataShowType)
                        {
                            continue;
                        }

                        UListItemGloryMoment item = new UListItemGloryMoment();
                        item.Index     = index;
                        item.TagIconID = imgType - 3;
                        item.heroID    = data.imgInfo.nHeroID;
                        item.dbWarID   = data.imgInfo.nDBWarID;
                        item.date      = m_currentPageTime;
                        item.time      = data.fileInfo.CreationTime.ToString("HH:mm:ss");
                        item.fileName  = data.fileInfo.Name;
                        item.imgData   = data.imgByteData;
                        item.pageType  = EMGloryMomentPageType.EMPage_Image;
                        GloryMomentList.DataSource.Add(item);
                        index++;
                    }
                }
            }
            else if (m_currentPageType == EMGloryMomentPageType.EMPage_Video)
            {
                m_videoDataList = LogicDataCenter.screenCaptureDataManager.GetVideoDataByDateTime(m_currentPageTime);
                if (m_videoDataList != null)
                {
                    int index = 0;
                    foreach (CaptureVideoData data in m_videoDataList)
                    {
                        int imgType = (int)data.fileType;

                        if (imgType < (int)EMScreenRECType.EMSS_TripleKill || imgType > (int)EMScreenRECType.EMSS_Max)
                        {
                            continue;
                        }

                        if (m_currentDataShowType != EMGloryMomentDataShowType.EMType_All && (int)imgType != (int)m_currentDataShowType)
                        {
                            continue;
                        }

                        //string fileTime = data.fileInfo.CreationTime.ToString("yyyy-MM-dd");
                        CaptureImgData matchImg = LogicDataCenter.screenCaptureDataManager.GetMatchImg(data.fileInfo.CreationTime, imgType);

                        UListItemGloryMoment item = new UListItemGloryMoment();
                        item.Index     = index;
                        item.TagIconID = imgType - 3;
                        item.heroID    = data.nHeroID;
                        item.dbWarID   = data.nDBWarID;
                        item.date      = m_currentPageTime;
                        item.time      = data.fileInfo.CreationTime.ToString("HH:mm:ss");
                        item.fileName  = data.fileInfo.FullName;
                        item.imgData   = matchImg == null ? null : matchImg.imgByteData;
                        item.pageType  = EMGloryMomentPageType.EMPage_Video;
                        GloryMomentList.DataSource.Add(item);
                        index++;
                    }
                }
            }
            GloryMomentList.DataSource.EndUpdate();
        }