/// <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); }
/// <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(); }
/// <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)); } } }
/// <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.暂停; //播放->暂停 }
/// <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); }