コード例 #1
0
    /// <summary>
    /// 依据出现时间排序
    /// </summary>
    /// <param name="obj">另一个元素</param>
    /// <returns></returns>
    public int CompareTo(object obj)
    {
        ElementBaseClass other = obj as ElementBaseClass;

        if (other == null)
        {
            return(1);
        }
        return(other.appearTime.CompareTo(appearTime) * -1);
    }
コード例 #2
0
ファイル: BaseController.cs プロジェクト: RelinkaKing/UnityPC
 /// <summary>
 /// 深拷贝一个元素屏幕位置信息(操作后不改变原元素信息)
 /// </summary>
 /// <param name="target"></param>
 /// <returns></returns>
 public ElementBaseClass copy(ElementBaseClass target)
 {
     return(new ElementBaseClass
     {
         x = target.x,
         y = target.y,
         w = target.w,
         h = target.h
     });
 }
コード例 #3
0
ファイル: BaseController.cs プロジェクト: RelinkaKing/UnityPC
    //public void runAni(ElementBaseclass ebc, float slidetime, Action<PPTAnimation> act)
    //{
    //    if (ebc.aniList.Count != 0)
    //    {
    //        while (AniIndex < ebc.aniList.Count && ebc.aniList[AniIndex].slideTime < slidetime)
    //        {
    //            act(ebc.aniList[AniIndex]);
    //            AniIndex++;
    //        }
    //    }

    //}
    /// <summary>
    /// 执行动画
    /// </summary>
    /// <param name="ebc">自身元素文档信息</param>
    /// <param name="slidetime">当前幻灯片播放时间</param>
    public void runAni(ElementBaseClass ebc, float slidetime)
    {
        if (ebc.aniList.Count != 0)
        {
            while (AniIndex < ebc.aniList.Count && ebc.aniList[AniIndex].slideTime < slidetime)
            {
                DoAnimation(ebc.aniList[AniIndex]);
                AniIndex++;
            }
        }
    }
コード例 #4
0
    //按页初始化幻灯片
    public void initSlide(GameObject slideObj, Slide slide)
    {
        if (PPTGlobal.PPTEnv == PPTGlobal.PPTEnvironment.PPTPlayer)
        {
            Debug.Log(slide.pageNum);
            String datapath = PPTGlobal.PPTPath + "data/vesal.dat";
#if UNITY_EDITOR
            // datapath = "C:\\VesalDigital\\PPT\\Data\\vesal.dat";
#endif
            //判断vesal.dat存在,则解析出所有PPTAnimation2D需要的视频,添加VideoElement
            if (File.Exists(datapath) && slide.me != null)
            {
                string result = VesalOldLitdbTools.readLiteDbNoInfo(datapath, slide.me.modelId);
                if (result == "PPTAnimation2D")
                {
                    List <VideoElement> videos = new List <VideoElement>();
                    videos.AddRange(slide.videos);
                    ElementBaseClass bc = slide.me;
                    VideoElement     ve = new VideoElement();
                    ve.appearTime  = bc.appearTime;
                    ve.endTime     = bc.endTime;
                    ve.shapeId     = bc.shapeId;
                    ve.fileName    = slide.me.modelId + ".mp4";
                    ve.w           = bc.w;
                    ve.h           = bc.h;
                    ve.x           = bc.x;
                    ve.y           = bc.y;
                    ve.isLoop      = true;
                    ve.isPlayAudio = true;
                    ve.id          = slide.videos.Length;
                    VesalOldLitdbTools.get2d(datapath, VesalOldLitdbTools.loadKeyDat(PPTGlobal.PPTPath + "data/key.dat"), slide.me.modelId, PPTGlobal.PPTPath + slide.pageNum);
                    loadMp4s.Add(PPTGlobal.PPTPath + slide.pageNum + "/" + slide.me.modelId + ".mp4");
                    videos.Add(ve);
                    videos.Sort();
                    slide.videos = videos.ToArray();
                    slide.me     = null;
                }
            }
        }

        if (slide.bgs != null && slide.bgs.Length != 0)
        {
            //初始化背景元素
            initBg(slideObj, slide.bgs);
        }
        if (slide.ies != null && slide.ies.Length != 0)
        {
            //初始化图片元素
            initImages(slideObj, slide.ies);
        }
        if (slide.videos != null && slide.videos.Length != 0)
        {
            //初始化视频元素
            initVideo(slideObj, slide.videos);
        }
        if (slide.audios != null && slide.audios.Length != 0)
        {
            //初始化音频元素
            initAudio(slideObj, slide.audios);
        }


        ////if (slide.qas != null && slide.qas.Length != 0)
        ////{
        ////    initQas(slideObj, slide.qas);
        ////}
        if (slide.vqas != null && slide.vqas.Length != 0)
        {
            //初始化问答元素
            initVqas(slideObj, slide.vqas);
        }
        if (slide.me != null)
        {
            //初始化模型元素
            initModel(slideObj, slide.me);
        }

        //if (slide.ppes != null && slide.ppes.Length != 0) {
        //    initPpes(slideObj,slide.ppes);
        //}
    }