Beispiel #1
0
        /// <summary>
        /// BUFF开始起效果;
        /// </summary>
        public void StartPlay()
        {
            this.CurState  = PlayConst.BUFF_STATE.RUNNING;
            _startPlayTime = ServerTime.Instance.Timestamp;
            //播放特效;
            GameObject findHostObject = PlayUtils.GetPartBonesByHostAndTag(this.HostId, this.PosTag);

            if (findHostObject == null)
            {
                findHostObject = AppMap.Instance.GetPlayer(this.HostId.ToString()).Controller.gameObject;
            }
            if (findHostObject == null)
            {
                return;
            }
            //创建特效播放;
            Effect effectVo = new Effect();

            effectVo.URL          = UrlUtils.GetBuffEffectUrl(this.BuffVo.effect.ToString());
            effectVo.Direction    = HostDisplay.CurFaceDire;
            effectVo.BasePosition = findHostObject.transform.position;
            effectVo.Offset       = Vector3.zero;
            effectVo.NeedCache    = true;
            effectVo.Target       = findHostObject.gameObject;
            EffectMgr.Instance.CreateBuffEffect(effectVo);
        }
Beispiel #2
0
        /// <summary>
        /// 打开和播放视频
        /// </summary>
        private void OpenAndPlay()
        {
            //返回选中的视频实体
            VideoItem myitem = PlayUtils.OpenFile();

            //没有,退出
            if (myitem == null)
            {
                return;
            }
            myitem.IsPlaying = true;   //设置播放标志位为true
            this.playingItem = myitem; //设置播放item
            bool isEqual = false;      //不存在一样的

            //搜索一遍视频列表
            foreach (var item in this.videoList)
            {
                //如果在列表中找到重复的
                if (item.Name == myitem.Name)
                {
                    isEqual        = true;//存在一样的
                    item.IsPlaying = true;
                }
                else
                {
                    item.IsPlaying = false;
                }
            }
            //不存在一样的
            if (!isEqual)
            {
                this.videoList.Add(myitem);     //加入视频列表
            }
            this.InitPlayListView(playingItem); //重绘播放列表
            video = playingItem.Url;
            if (player.GetState() == 5)
            {
                player.Close();
            }
            Thread.Sleep(100);
            if (FileUtil.readSrtFile(video) && Constant.isCache)
            {
                label2.Visible = false;
                isTran         = false;
                player.SetConfig(503, FileUtil.getSrtPath(video));
                player.SetConfig(504, "1");
            }
            else
            {
                label2.Visible = true;
                isTran         = true;
                WaitingForm waitingForm = new WaitingForm(label2, player, video);
                waitingForm.StartPosition = FormStartPosition.CenterParent;
                waitingForm.ShowDialog();
            }
            captionDic.Clear();
            open();
        }
Beispiel #3
0
 /// <summary>
 /// 添加抓取投掷;
 /// </summary>
 /// <param name="grapDisplay">被抓取者</param>
 /// <param name="hostController">抓取者</param>
 /// <param name="setTag">PlayConstant中的部位字符串</param>
 /// <param name="autoIfNoTag">如果setTag的部位为null,那么使用display的位置</param>
 public void AddGrapDispaly(BaseDisplay grapDisplay, BaseControler hostController, string setTag, bool autoIfNoTag = true, bool autoThrow = true, Action throwComplete = null)
 {
     if (grapDisplay != null)
     {
         GameObject partGo = PlayUtils.GetPartBonesByHostAndTag(hostController.Me.GetVo().Id.ToString(), setTag);
         Vector3    tmpPos;
         //判断部件位置;
         if (partGo != null)
         {
             tmpPos = partGo.transform.position;
         }
         else
         {
             tmpPos = hostController.Me.Controller.transform.position;
         }
         PlayUtils.MakeAFaceToB(hostController.Me, grapDisplay);
         grapDisplay.Pos(tmpPos);
         if (autoThrow)
         {
             StartCoroutine(ThrowDisplay(grapDisplay, hostController, Directions.GetOpposite(hostController.Me.CurFaceDire), throwComplete));
         }
     }
 }
Beispiel #4
0
        /// <summary>
        /// 打开和播放视频
        /// </summary>
        private void OpenAndPlay()
        {
            //返回选中的视频实体
            VideoItem myitem = PlayUtils.OpenFile();

            //没有,退出
            if (myitem == null)
            {
                return;
            }
            myitem.IsPlaying = true;   //设置播放标志位为true
            this.playingItem = myitem; //设置播放item
            bool isEqual = false;      //不存在一样的

            //搜索一遍视频列表
            foreach (var item in this.videoList)
            {
                //如果在列表中找到重复的
                if (item.Name == myitem.Name)
                {
                    isEqual        = true;//存在一样的
                    item.IsPlaying = true;
                }
                else
                {
                    item.IsPlaying = false;
                }
            }
            //不存在一样的
            if (!isEqual)
            {
                this.videoList.Add(myitem);                      //加入视频列表
            }
            this.InitPlayListView(playingItem);                  //重绘播放列表
            this.player.Open(playingItem.Url);                   //播放视频
            this.lb_play.DM_Key = DMSkin.Controls.DMLabelKey.暂停; //播放->暂停
        }
Beispiel #5
0
        /// <summary>
        /// 通过tag获取对应部件;
        /// </summary>
        /// <param name="_boneTag"></param>
        /// <returns></returns>
        public GameObject GetPartBonesByTag(string _boneTag)
        {
            GameObject rtnGo = PlayUtils.GetPartBonesByHostAndTag(this.GetVo().Id.ToString(), _boneTag);

            return(rtnGo);
        }