void LsJieka() { CancelInvoke("ClickLsHandJiekaTip"); HighLightCtrl.GetInstance().FlashOff(jshand); ClickDispatcher.Inst.EnableClick = false; LS.Complete += LsJiekaCallback; LS.PlayForward("TY_LS_JTKJD_JG"); LS.timePointEvent = (a) =>//老师借卡时间点 { if (a >= 19 && a <= 21) { //Debug.LogError("event"); LS.timePointEvent = null; XH.OnContinue(); //小华手收回 transform.Find("XH_D_1ST_FBNKT_KA/XH_judaiA").gameObject.SetActive(false); //沟通本图卡隐藏 } }; LegacyAnimationOper ka = ResManager.GetPrefab("Prefabs/AnimationKa/TY_LS_JTKJD_KA").GetLegacyAnimationOper();//跟随老师提示移动卡片 ka.name = "TY_LS_JTKJD_KA"; ka.transform.SetParent(transform); ka.transform.Find("LS_judai_1/ls_judai_1/ls_jd_tuka_1").gameObject.SetActive(false); //隐藏不需要图卡 Material matWy = ka.transform.Find("LS_judai_1/ls_judai_1/ls_jd_tuka_2").GetComponent <MeshRenderer>().materials[1]; //老师我要 Material matObj = ka.transform.Find("LS_judai_1/ls_judai_1/ls_jd_tuka_3").GetComponent <MeshRenderer>().materials[1]; //老师图卡物品 Material matSourceWy = transform.Find("XH_D_1ST_FBNKT_KA/XH_judaiA/XH_judaiA 1/tukaB/tukaB1").GetComponent <MeshRenderer>().materials[1]; //小华我要图卡 Material matSourceObj = transform.Find("XH_D_1ST_FBNKT_KA/XH_judaiA/XH_judaiA 1/tukaB/tukaB 1").GetComponent <MeshRenderer>().materials[1]; //小华递卡物品。 matWy.CopyPropertiesFromMaterial(matSourceWy); matObj.CopyPropertiesFromMaterial(matSourceObj); //给物品 ka.transform.Find("tuka4").gameObject.SetActive(false); // ka.PlayForward("TY_LS_JTKJD_KA"); //播放老师图卡动画 图卡等待一帧隐藏 }
/// <summary> /// 小华贴字卡 /// </summary> void XhTzk() { XH.transform.localPosition = Vector3.zero; XH.transform.localEulerAngles = Vector3.zero; XH.Complete += XhTzkCallback; XH.OnContinue(); Debug.Log("continue"); LegacyAnimationOper ka = transform.Find("XH_E_3RD_FNN_KA").gameObject.GetLegacyAnimationOper(); Transform tk9 = ka.transform.Find("Group1/Main/DeformationSystem/Root_M/Spine1_M/Chest_M/Scapula_L/Shoulder_L/ShoulderPart1_L/ShoulderPart2_L/Elbow_L/Wrist_L/judai1/tuka9"); Material mat = tk9.GetComponent <MeshRenderer>().materials[1]; Reinforcement rfc = AcceptQuestionModel.GetInstance().CurReinforcement; Material matTar = AcceptQuestionModel.GetInstance().GetTuKa("tuka_" + rfc.pData.name).GetComponent <MeshRenderer>().materials[1]; mat.CopyPropertiesFromMaterial(matTar); tk9.localEulerAngles = Vector3.zero; //Material matWy = AcceptQuestionModel.GetInstance().GetTuKa(PropsTag.judai_woyao.ToString()).GetComponent<MeshRenderer>().materials[1]; Material matSource = ka.transform.Find("Group1/Main/DeformationSystem/Root_M/Spine1_M/Chest_M/Scapula_L/Shoulder_L/ShoulderPart1_L/ShoulderPart2_L/Elbow_L/Wrist_L/tuka8").GetComponent <MeshRenderer>().materials[1]; //我要图卡 matSource.CopyPropertiesFromMaterial(matTar); //更换我要图卡物体材质 //bool pass = true; ka.Complete = () => { ka.Complete = null; Vector3 tkeular = new Vector3(0, -90, 0); tk9.localEulerAngles = tkeular; Debug.LogError(tk9.localEulerAngles); }; ka.OnContinue(); }
private void OnClickTeacherHandSecond(ClickedObj cobj) { if (cobj.objname == "shou") { ChooseDo.Instance.Clicked(); CancelInvoke("ClickTeachersPromptSecond"); GlobalEntity.GetInstance().RemoveListener <ClickedObj>(ClickDispatcher.mEvent.DoClick, OnClickTeacherHandSecond); ClickDispatcher.Inst.EnableClick = false; HighLightCtrl.GetInstance().FlashOff(cobj.go); int start = 29; int end = 31; bool passA = false; teacherAnim.timePointEvent = (t) => { if (t >= start && t <= end && !passA) { passA = true; teacherAnim.timePointEvent = null; teacherAnim.OnPause(); xiaohuaAnim.OnContinue(); RndReinforcementB.transform.parent.localPosition = Vector3.zero /*new Vector3(-0.2f, 0f, -0.164f)*/; //6. 播放结束,提醒操作者点击教师的手,点击后触发教师指指B卡的动画。 OnClickTeacherShouThird(); } }; teacherAnim.OnContinue(); teacherAnim.PlayForward("LS_C_2ND_YZ"); } }
/// <summary> /// 点击教师的手回调 /// </summary> /// <param name="cobj"></param> private void OnClickTeacherHandFirst(ClickedObj cobj) { #if UNITY_EDITOR F3DDebug.Log(cobj.objname, new System.Diagnostics.StackTrace(true)); #else Debug.Log("DistinguishPictureCtrlA::OnClickTeacherHandFirst():教师接图卡"); #endif if (cobj.objname == "shou") { ChooseDo.Instance.Clicked(); CancelInvoke("ClickTeachersPromptFirst"); GlobalEntity.GetInstance().RemoveListener <ClickedObj>(ClickDispatcher.mEvent.DoClick, OnClickTeacherHandFirst); ClickDispatcher.Inst.EnableClick = false; HighLightCtrl.GetInstance().OffAllObjs(); //播放老师接图卡动画 int start = 47; int end = 48; bool passA = false; bool passB = false; bool passC = false; teacherAnim.timePointEvent = (t) => { if (t >= start && t <= end && !passA) { passA = true; xhctrl.r_tuka2.SetActive(false); lsCtrl.ls_tuka2.SetActive(true); xiaohuaAnim.OnContinue(); } if (t >= 81 && t <= 83 && !passB) { passB = true; //老师放下图卡 lsCtrl.ls_tuka2.SetActive(false); tukaB.SetActive(true); tukaB.transform.parent.localPosition = new Vector3(2.5f, 0.5466f, 0.388f); tukaB.transform.localPosition = Vector3.zero; } if (t >= 94 && t <= 96 && !passC) { passC = true; //老师接图卡动画结束 teacherAnim.timePointEvent = null; teacherAnim.OnPause(); OnReceiveTuKa(); } }; teacherAnim.PlayForward("TY_LS_JKDW"); } }
/// <summary> /// 点击教师的手回调 /// </summary> /// <param name="cobj"></param> private void OnClickTeacherHandFirst(ClickedObj cobj) { Debug.Log("DistinguishPictureCtrlB.OnClickTeacherHandFirst(): " + cobj.objname); if (cobj.objname == "shou") { ChooseDo.Instance.Clicked(); CancelInvoke("ClickTeachersPromptFirst"); GlobalEntity.GetInstance().RemoveListener <ClickedObj>(ClickDispatcher.mEvent.DoClick, OnClickTeacherHandFirst); ClickDispatcher.Inst.EnableClick = false; HighLightCtrl.GetInstance().FlashOff(cobj.go); //2. 播放结束,提醒操作者点击教师的手,点击后触发接A图卡的动作。 int start = 47; int end = 48; bool passA1 = false; bool passA2 = false; bool passA3 = false; bool passA4 = false; teacherAnim.timePointEvent = (t) => { if (t >= start && t <= end && !passA1) { passA1 = true; xiaohuaAnim.OnContinue(); } if (t >= 50 && t <= 51 && !passA4) { passA4 = true; xhctrl.r_tuka2.SetActive(false); lsCtrl.ls_tuka2.SetActive(true); } if (t >= 81 && t <= 83 && !passA2) { passA2 = true; //老师放下图卡A lsCtrl.ls_tuka2.SetActive(false); xhctrl.r_tuka2.GetComponentInChildren <MeshRenderer>().materials[1].CopyPropertiesFromMaterial(tukaA.GetComponentInChildren <MeshRenderer>().materials[1]); tukaA.SetActive(true); tukaA.transform.parent.localPosition = new Vector3(2.5f, 0.5466f, 0.388f); tukaA.transform.localPosition = Vector3.zero; } if (t >= 94 && t <= 96 && !passA3) { passA3 = true; //老师接图卡A动画结束 teacherAnim.timePointEvent = null; teacherAnim.OnPause(); OnClickHuaTong(); } }; teacherAnim.PlayForward("TY_LS_JKDW"); } }
void ShowSpeakContent() { CancelInvoke("ClickmicroPhoneTip"); MM.Complete += WyXhZka; MM.OnContinue(); transform.Find("MM_F_4TH_DBY_KA").GetComponent <LegacyAnimationOper>().OnContinue(); Dialog dlog = UIManager.Instance.GetUI <Dialog>("Dialog"); dlog.transform.localPosition = new Vector3(403, 420, 0); UIManager.Instance.SetUIDepthTop("Dialog"); string curObjName = SentenceExpressionModel.GetInstance().CurReinforcement.pData.name_cn; dlog.SetDialogMessage("是的,小华看到了" + curObjName + ", 小华表现的很好。"); }
private void OnClickFDTeacherHandFirst(ClickedObj cobj) { Debug.Log("SpeakUpCtrlA.OnClickTeacherHandFirst(): " + cobj.objname); if (cobj.objname == "fdls_shou") { ChooseDo.Instance.Clicked(); CancelInvoke("ClickFDTeachersPromptFirst"); GlobalEntity.GetInstance().RemoveListener <ClickedObj>(ClickDispatcher.mEvent.DoClick, OnClickFDTeacherHandFirst); ClickDispatcher.Inst.EnableClick = false; HighLightCtrl.GetInstance().FlashOff(cobj.go); int start = 180; int end = 182; bool passB = false; xiaohuaAnim.timePointEvent = (t) => { if (t >= start && t <= end && !passB) { passB = true; xiaohuaAnim.timePointEvent = null; xiaohuaAnim.OnPause(); fdlsAnim.OnPause(); FBNKT_KA_AnimOper.OnPause(); GameObject shou = PeopleManager.Instance.GetPeople("LS_BD").transform.Find("LSB_BD/shou").gameObject; HighLightCtrl.GetInstance().FlashOn(shou); GlobalEntity.GetInstance().RemoveListener <ClickedObj>(ClickDispatcher.mEvent.DoClick, OnClickTeacherHandFinal); GlobalEntity.GetInstance().AddListener <ClickedObj>(ClickDispatcher.mEvent.DoClick, OnClickTeacherHandFinal); ClickDispatcher.Inst.EnableClick = true; ChooseDo.Instance.DoWhat(5, RedoClickTeachersHandFinal, null); } }; fdlsAnim.OnContinue(); bool passA = false; fdlsAnim.timePointEvent = (a) => { if (a >= 100 && a <= 102 && !passA) { passA = true; FBNKT_KA_AnimOper.OnContinue(); xiaohuaAnim.OnContinue(); } }; } }
/// <summary> /// 老师收手 /// </summary> void LsBack() { LS.Complete += () => { GlobalEntity.GetInstance().AddListener <ClickedObj>(ClickDispatcher.mEvent.DoClick, ClickLsCallBack); ClickLsHandTip(); }; LS.OnContinue(); }
void LsGiveObj() { CancelInvoke("ClickLsGiveObjTip"); Debug.Log("教师给物品"); HighLightCtrl.GetInstance().FlashOff(jshand); ClickDispatcher.Inst.EnableClick = false; swapUI.SetButtonVisiable(SwapUI.BtnName.microButton, false); LS.OnContinue();//老师给物品。 }
public void Dispose() { //comUI.redoClickEvent -= OnReDo; //comUI.nextClickEvent -= OnNextDo; if (comUI == null) { comUI = UIManager.Instance.GetUI <CommonUI>("CommonUI"); } comUI.redoClickEvent -= OnReDo; comUI.nextClickEvent -= OnNextDo; if (xiaohuaAnim != null) { xiaohuaAnim.timePointEvent = null; xiaohuaAnim.OnContinue(); xiaohuaAnim.ClearCompleteEvent(); } if (fdlsAnim != null) { fdlsAnim.OnContinue(); fdlsAnim.timePointEvent = null; fdlsAnim.ClearCompleteEvent(); } if (LS != null) { LS.timePointEvent = null; LS.OnContinue(); LS.ClearCompleteEvent(); LSCtrl lsctrl = LS.GetComponent <LSCtrl>(); if (lsctrl != null) { lsctrl.DestroyGuadian(); } } XHCtrl xhctrl = xiaohuaAnim.GetComponent <XHCtrl>(); if (xhctrl != null) { xhctrl.DestroyGuadian(); } comUI = null; evtFinished = null; evtRedo = null; if (emptyRoot != null) { Destroy(emptyRoot); emptyRoot = null; } Destroy(gameObject); }
void LsJieka() { CancelInvoke("ClickLsHandJiekaTip"); HighLightCtrl.GetInstance().FlashOff(mmhand); ClickDispatcher.Inst.EnableClick = false; MM.OnContinue(); MM.timePointEvent = (a) => //mama借卡时间点 { if (a >= 41 && a <= 43) //给定一个帧区间范围 { MM.timePointEvent = null; Transform fnnka = transform.Find("XH_E_3RD_FNN_KA"); fnnka.transform.Find("Group1/Main/DeformationSystem/Root_M/Spine1_M/Chest_M/Scapula_L/Shoulder_L/ShoulderPart1_L/ShoulderPart2_L/Elbow_L/Wrist_L/judai1").gameObject.SetActive(false); //沟通本图卡隐藏 XHCtrl xhctrl = XH.GetComponent <XHCtrl>(); Transform xh_r1 = xhctrl.XH_R2.transform.parent.Find("XH_R1"); fnnka.transform.SetParent(xh_r1); XH.PlayForward("XH_E_3RD_JG"); XH.OnPause(); //int stateHash = XH.anim.GetCurrentAnimatorStateInfo(0).tagHash; //float length = XH.anim.GetCurrentAnimatorStateInfo(0).length; //XH.anim.Play("XH_E_3RD_JG", 0, -length); //XH.PlayForward("idle"); //XH.anim.speed = -1; //XH.PlayForward("XH_E_3RD_JG");//小华手收回 } }; MM.Complete += LsJiekaCallback; MM.PlayForward("MM_E_3RD_JG"); LegacyAnimationOper ka = ResManager.GetPrefab("Prefabs/AnimationKa/MM_E_3RD_JG_KA").GetLegacyAnimationOper(); ka.transform.SetParent(transform); ka.name = "MM_E_3RD_JG_KA"; Transform tk9 = ka.transform.Find("Main/DeformationSystem/Root_M/Spine1_M/Chest_M/Scapula_R/Shoulder_R/ShoulderPart1_R/ShoulderPart2_R/Elbow_R/Wrist_R/judai2/tuka9"); Vector3 tk9Angle = tk9.localEulerAngles; tk9Angle.y = -90.3f; tk9.localEulerAngles = tk9Angle; Material matSource = ka.transform.Find("Main/DeformationSystem/Root_M/Spine1_M/Chest_M/Scapula_R/Shoulder_R/ShoulderPart1_R/ShoulderPart2_R/Elbow_R/Wrist_R/judai2/tuka9").GetComponent <MeshRenderer>().materials[1]; Reinforcement rfc = AcceptQuestionModel.GetInstance().CurReinforcement; Material matTar = AcceptQuestionModel.GetInstance().GetTuKa("tuka_" + rfc.pData.name).GetComponent <MeshRenderer>().materials[1]; matSource.CopyPropertiesFromMaterial(matTar);//更换图卡物体材质 ka.PlayForward("MM_E_3RD_JG_KA"); }
void LsGiveObj() { CancelInvoke("ClickLsGiveObjTip"); Debug.Log("教师给物品"); HighLightCtrl.GetInstance().FlashOff(jshand); ClickDispatcher.Inst.EnableClick = false; swapUI.SetButtonVisiable(SwapUI.BtnName.microButton, false); LS.OnContinue();//老师给物品。 //Transform qhw = transform.Find(SwapModel.GetInstance().CurReinforcement.pData.name); //LS.timePointEvent = (a) =>//老师递给物品 //{ // if (a == 32)//挂载到老师手上强化物时间点 // { // LS.timePointEvent = null; // LSCtrl lsctrl = LS.GetComponent<LSCtrl>();//将当前强化物挂在老师手上 // lsctrl.SetJoint(qhw.gameObject); // //Debug.LogError("ls"); // } // if (a == 20)//小华接卡动画播放延迟 // { // XH.Complete += XHJiewuCallback; // XH.PlayForward("TY_XH_JG"); // } //}; //LS.Complete += LsGiveObjCallback; //LS.PlayForward("TY_LS_DW"); //XH.timePointEvent = (a) =>//小华接过物品 挂载强化物 //{ // if (a == 42) // { // XHCtrl xhCtrl = XH.GetComponent<XHCtrl>(); // xhCtrl.SetJoint(qhw.gameObject); // //Debug.LogError("xh"); // } //}; }
/// <summary> /// 播放动画控制 /// </summary> void PlayAnimation() { //工具箱隐藏 gameObject.SetActive(false); //动画模型显示 Transform aniPar = transform.parent.GetChild(1); for (int i = 0; i < aniPar.childCount; i++) { aniPar.GetChild(i).gameObject.SetActive(true); } //提示隐藏//708动画帧数 int point = 708; Transform aniTr = aniPar.transform.parent.Find("01"); if (transform.parent.name == "BMoudle") { point = 578; aniTr = aniPar.transform.parent.Find("02"); aniTr.Find("sw_swjj_H").gameObject.SetActive(false); } ani = aniTr.GetComponent <AnimationOper>(); ani.timePointEvent = (a) => { //Debug.Log(a + "---"); if (a >= point - 1 && a <= point + 1 && !isPlay) { isPlay = true; ani.OnPause(); CancelInvoke("PlayAgain"); Invoke("PlayAgain", 1); } }; ani.OnContinue(); ani.PlayForward("Take 001"); }
/// <summary> /// 将人物状态全部初始化 /// </summary> public void Reset() { for (int i = 0; i < transform.childCount; i++) { Transform temp = transform.GetChild(i); temp.localPosition = posArr[i]; //temp.gameObject.SetActive(false); //if (temp.name == "FDLS_BD") //{ // temp.Find("Group3/Main").localPosition = Vector3.zero; //} //else if (temp.name == "LS_BD") //{ // temp.Find("Group2/Main").localPosition = Vector3.zero; //} //else //{ // temp.Find("Group/Main").localPosition = Vector3.zero; //} temp.gameObject.SetActive(true); AnimationOper ao = temp.gameObject.GetAnimatorOper(); ao.OnContinue(); ao.ClearCompleteEvent(); ao.timePointEvent = null; temp.gameObject.GetAnimatorOper().PlayForward("idle"); XHCtrl xhctrl = temp.GetComponent <XHCtrl>(); if (xhctrl != null) { xhctrl.DestroyGuadian(); } LSCtrl lsctrl = temp.GetComponent <LSCtrl>(); if (lsctrl != null) { lsctrl.DestroyGuadian(); } } }
private void OnClickTeacherHandSecond(ClickedObj cobj) { if (cobj.objname == "shou") { ChooseDo.Instance.Clicked(); CancelInvoke("ClickTeachersPromptSecond"); GlobalEntity.GetInstance().RemoveListener <ClickedObj>(ClickDispatcher.mEvent.DoClick, OnClickTeacherHandSecond); ClickDispatcher.Inst.EnableClick = false; GameObject shou = PeopleManager.Instance.GetPeople("LS_BD").transform.Find("LSB_BD/shou").gameObject; HighLightCtrl.GetInstance().FlashOff(shou); //播放教师给小华B的动画--(做在接图卡里) int st = 121; int et = 124; int start = 129; int end = 132; bool passed = false; bool passed2 = false; bool passB = false; Vector3 oldPos = Vector3.zero; lsCtrl.l_guadian.transform.localPosition = Vector3.zero; teacherAnim.timePointEvent = (t) => { if (t >= st && t <= et && !passed) { if (lsCtrl != null) { passed = true; //老师拿负强化物 lsCtrl.SetJoint(RndNegReinforcementB.transform.parent.gameObject); oldPos = RndNegReinforcementB.transform.localPosition; RndNegReinforcementB.transform.parent.localPosition = Vector3.zero; RndNegReinforcementB.transform.localPosition = Vector3.zero; } } if (t >= start && t <= end && !passed2) { passed2 = true; Debug.Log("DistinguishPictureCtrlA.OnClickTeacherHandSecond(): 4. 播放结束,触发小华用手推开B的动画。"); xiaohuaAnim.PlayForward("XH_C_1ST_JJ"); } if (t >= 197 && t <= 199 && !passB) { passB = true; teacherAnim.timePointEvent = null; UnityEngine.Debug.Log("DistinguishPictureCtrlA::teacherAnim.Complete(): "); //老师放下负强化物 RndNegReinforcementB.transform.parent.SetParent(emptyRoot.transform); RndNegReinforcementB.transform.localPosition = oldPos; RndReinforcementA.transform.parent.localPosition = Vector3.zero; RndNegReinforcementB.transform.parent.localPosition = new Vector3(0, 0, -0.255f); RndNegReinforcementB.transform.parent.localRotation = Quaternion.Euler(Vector3.zero); } }; //4. 播放结束,触发小华用手推开B的动画。 xiaohuaAnim.Complete += () => { OnXiaoHuaPushB(); }; teacherAnim.OnContinue(); } }
/// <summary> /// 小华贴字体动画 /// </summary> void XHTZka() { GameObject ka = ResManager.GetPrefab("Prefabs/AnimationKa/XH_F_4TH_FNN_KA"); ka.name = "XH_F_4TH_FNN_KA"; ka.transform.SetParent(transform); //我看见 Material matTar = ka.transform.Find("Group1/Main/DeformationSystem/Root_M/Spine1_M/Chest_M/Scapula_R/Shoulder_R/ShoulderPart1_R/ShoulderPart2_R/Elbow_R/Wrist_R/goutongben/goutongben_02/tuka5").GetComponent <MeshRenderer>().materials[1]; Material matSource = SentenceExpressionModel.GetInstance().GetTuKa(PropsTag.judai_wokanjian.ToString()).GetComponent <MeshRenderer>().materials[1]; matTar.CopyPropertiesFromMaterial(matSource); Transform tk10 = ka.transform.Find("Group1/Main/DeformationSystem/Root_M/Spine1_M/Chest_M/Scapula_L/Shoulder_L/ShoulderPart1_L/ShoulderPart2_L/Elbow_L/Wrist_L/judai4/tuka10"); Transform Wrist_L = ka.transform.Find("Group1/Main/DeformationSystem/Root_M/Spine1_M/Chest_M/Scapula_L/Shoulder_L/ShoulderPart1_L/ShoulderPart2_L/Elbow_L/Wrist_L");//拿卡 Material matk6 = Wrist_L.Find("tuka6").GetComponent <MeshRenderer>().materials[1]; matk6.CopyPropertiesFromMaterial(matSource); Material mattk4 = ka.transform.Find("Group1/Main/DeformationSystem/Root_M/Spine1_M/Chest_M/Scapula_R/Shoulder_R/ShoulderPart1_R/ShoulderPart2_R/Elbow_R/Wrist_R/goutongben/goutongben_01/tuka4").GetComponent <MeshRenderer>().materials[1]; mattk4.CopyPropertiesFromMaterial(matSource); tk10.localEulerAngles = new Vector3(0, -90, 0); matTar = tk10.GetComponent <MeshRenderer>().materials[1]; matTar.CopyPropertiesFromMaterial(matSource); //实物 index = Random.Range(101, 1001) % 3 + 25; Debug.Log(index); matTar = ka.transform.Find("Group1/Main/DeformationSystem/Root_M/Spine1_M/Chest_M/Scapula_R/Shoulder_R/ShoulderPart1_R/ShoulderPart2_R/Elbow_R/Wrist_R/goutongben/goutongben_03/tuka7").GetComponent <MeshRenderer>().materials[1]; matSource = SentenceExpressionModel.GetInstance().GetObj(index).GetComponent <MeshRenderer>().materials[1]; matTar.CopyPropertiesFromMaterial(matSource); Transform tk9 = ka.transform.Find("Group1/Main/DeformationSystem/Root_M/Spine1_M/Chest_M/Scapula_L/Shoulder_L/ShoulderPart1_L/ShoulderPart2_L/Elbow_L/Wrist_L/judai4/tuka9"); tk9.localEulerAngles = new Vector3(0, -90, 0); matTar = tk9.GetComponent <MeshRenderer>().materials[1]; matTar.CopyPropertiesFromMaterial(matSource); Transform tk8 = ka.transform.Find("Group1/Main/DeformationSystem/Root_M/Spine1_M/Chest_M/Scapula_L/Shoulder_L/ShoulderPart1_L/ShoulderPart2_L/Elbow_L/Wrist_L/tuka8"); Material mat8 = tk8.GetComponent <MeshRenderer>().materials[1]; mat8.CopyPropertiesFromMaterial(matSource); PropsObject pObj = SentenceExpressionModel.GetInstance().GetObj(index).GetComponent <PropsObject>(); Reinforcement rfc = new Reinforcement(pObj.pData); //测试代码 SentenceExpressionModel.GetInstance().CurReinforcement = rfc; //设置强化物 Debug.Log(rfc.pData.name_cn); XH.transitionTime = 0; //XH.Complete += XHTZkaCallback; XH.OnContinue(); XH.timePointEvent = (a) =>// { if (a >= 615 && a <= 617) { XH.timePointEvent = null; XH.OnPause(); //Debug.LogError("pause"); XHTZkaCallback();//mm高亮 } }; LegacyAnimationOper lao = ka.GetLegacyAnimationOper(); bool pass = true; lao.framePointEvent = (a) => { if (a >= 615 && a <= 617 && pass) { lao.framePointEvent = null; pass = false; lao.OnPause(); } }; lao.PlayForward("XH_F_4TH_FNN_KA"); }
private void OnClickteacherHandFirst(ClickedObj cobj) { Debug.Log("SpeakUpCtrlB.OnClickTeacherHandFirst(): " + cobj.objname); if (cobj.objname == "shou") { ChooseDo.Instance.Clicked(); CancelInvoke("ClickTeachersPromptFirst"); GlobalEntity.GetInstance().RemoveListener <ClickedObj>(ClickDispatcher.mEvent.DoClick, OnClickteacherHandFirst); ClickDispatcher.Inst.EnableClick = false; HighLightCtrl.GetInstance().FlashOff(cobj.go); LS = PeopleManager.Instance.GetPeople(PeopleTag.LS_BD).GetAnimatorOper(); LS.OnContinue(); bool passB = false; LS.timePointEvent = (a) =>//老师借卡时间点 { if (a >= 22 && a < 24 && !passB) { passB = true; UnityEngine.Debug.Log("SpeakUpCtrlA::OnClickTeacherHandFinal(): 隐藏沟通本句带"); LS.timePointEvent = null; xiaohuaAnim.OnContinue(); /*FBNKT_KA_Anim.transform.Find("XH_judaiA").gameObject.SetActive(false);*/ //沟通本图卡隐藏 /* LS.OnPause(); */ //xiaohuaAnim.PlayForward("XH_D_1ST_BACK");//小华手收回 FBNKT_KA_AnimOper.OnContinue(); //5. 播放结束,提醒操作者点击话筒,点击后话筒旁边显示“你要吃XXX呀” SwapUI swapui = UIManager.Instance.GetUI <SwapUI>("SwapUI"); swapui.SetButtonVisiable(SwapUI.BtnName.microButton, true); swapui.SetButtonVisiable(SwapUI.BtnName.chooseButton, false); swapui.GetMicroBtn.gameObject.GetUIFlash().StartFlash(); swapui.speakEvent = () => { CancelInvoke("ClickPromptMicoUI"); ChooseDo.Instance.Clicked(); swapui.GetMicroBtn.gameObject.GetUIFlash().StopFlash(); swapui.speakEvent = null; swapui.SetButtonVisiable(SwapUI.BtnName.microButton, false); Dialog dialog = UIManager.Instance.GetUI <Dialog>("Dialog"); string gift = goodA.GetComponent <PropsObject>().pData.name_cn; dialog.SetDialogMessage("小华要" + gift + "呀"); //6. 显示2秒,结束后,提醒操作者点击教师的手,点击后触发教师给小华的动画。 Invoke("ClickTeachersHandSecond", 2f); }; ChooseDo.Instance.DoWhat(5, RedoClickMicoUI, null); } }; LegacyAnimationOper ka = ResManager.GetPrefab("Prefabs/AnimationKa/TY_LS_JTKJD_KA").GetLegacyAnimationOper();//跟随老师句带移动卡片 ka.name = "TY_LS_JTKJD_KA"; ka.transform.SetParent(transform); ka.transform.Find("LS_judai_1/ls_judai_1/ls_jd_tuka_1").gameObject.SetActive(false); //隐藏不需要图卡 Material matWy = ka.transform.Find("LS_judai_1/ls_judai_1/ls_jd_tuka_2").GetComponent <MeshRenderer>().materials[1]; //老师我要 Material matObj = ka.transform.Find("LS_judai_1/ls_judai_1/ls_jd_tuka_3").GetComponent <MeshRenderer>().materials[1]; //老师图卡物品 Material matSourceWy = emptyRoot.transform.Find("XH_D_2ND_FYFT_KA/XH_judaiA/XH_judaiA 1/tukaA/tukaA 1").GetComponent <MeshRenderer>().materials[1]; //小华我要图卡 Material matSourceObj = emptyRoot.transform.Find("XH_D_2ND_FYFT_KA/XH_judaiA/XH_judaiA 1/tukaB/tukaB 1").GetComponent <MeshRenderer>().materials[1]; //小华递卡物品。 matWy.CopyPropertiesFromMaterial(matSourceWy); matObj.CopyPropertiesFromMaterial(matSourceObj); //给物品 ka.transform.Find("tuka4").gameObject.SetActive(false); // ka.PlayForward("TY_LS_JTKJD_KA"); //播放老师图卡动画 图卡等待一帧隐藏 LS.PlayForward("TY_LS_JTKJD_JG"); } }
void LsJieka() { CancelInvoke("ClickLsHandTip"); HighLightCtrl.GetInstance().FlashOff(jshand); ClickDispatcher.Inst.EnableClick = false; LS.Complete += LsGiveObjCallback; bool pause = true; bool pass1 = true; bool pass2 = true; bool pass3 = true; bool pass4 = true; bool pass5 = true; LS.timePointEvent = (a) => { if (a >= 51 && a <= 53 && pass1)//老师接卡 { pass1 = false; LSCtrl ctrl = LS.GetComponent <LSCtrl>(); string name = SwapModel.GetInstance().CurReinforcement.pData.name; Material matSource = SwapModel.GetInstance().GetTuKa("tuka_" + name).GetComponent <MeshRenderer>().materials[1]; Material matTar = ctrl.ls_tuka2.transform.Find("LS_tuka2 1").GetComponent <MeshRenderer>().materials[1]; matTar.CopyPropertiesFromMaterial(matSource); ctrl.ls_tuka2.gameObject.SetActive(true); XHCtrl xctrl = XH.GetComponent <XHCtrl>(); xctrl.r_tuka2.gameObject.SetActive(false); XH.OnContinue(); } if (a >= 81 && a <= 83 && pass2)//老师桌子放卡片 { pass2 = false; LSCtrl ctrl = LS.GetComponent <LSCtrl>();//手上卡隐藏,桌子上的卡显示 ctrl.ls_tuka2.gameObject.SetActive(false); lsTk.gameObject.SetActive(true); } if (a >= 94 && a <= 96 && pause) { pause = false; LS.OnPause(); //在某一帧停止时,下一次还会从该帧执行 LsJiekaCallback(); //提示 } if (a >= 122 && a <= 124 && pass3)//强化物挂到老师手上 { pass3 = false; LSCtrl ctrl = LS.GetComponent <LSCtrl>(); ctrl.SetJoint(qhw); } if (a >= 145 && a <= 147 && pass4)//小华接受物体时间点 { // LS.timePointEvent = null; //Debug.LogError("xh"); pass4 = false; LegacyAnimationOper go = ResManager.GetPrefab("Prefabs/AnimationKa/TY_XH_JG_KA").GetLegacyAnimationOper(); go.transform.SetParent(transform); XH.timePointEvent = (b) =>//小华接过物品 挂载强化物 { if (b >= 42 && b <= 44 && pass5) { pass5 = false; //XHCtrl xhCtrl = XH.GetComponent<XHCtrl>(); //xhCtrl.SetJoint(qhw); XhQHW xhqhw = go.GetComponent <XhQHW>(); xhqhw.ShowObj(qhw.name); qhw.gameObject.SetActive(false); //Debug.LogError("xh"); } }; XH.PlayForward("TY_XH_JG"); go.PlayForward("TY_XH_JG_KA"); } }; LS.PlayForward("TY_LS_JKDW");//LS_tuka/LS_tuka 1 //tuka2 }
private void OnClickTeacherHandFinal(ClickedObj cobj) { if (cobj.objname == "shou") { ChooseDo.Instance.Clicked(); CancelInvoke("ClickTeachersPromptFinal"); GlobalEntity.GetInstance().RemoveListener <ClickedObj>(ClickDispatcher.mEvent.DoClick, OnClickTeacherHandFinal); ClickDispatcher.Inst.EnableClick = false; GameObject shou = PeopleManager.Instance.GetPeople("LS_BD").transform.Find("LSB_BD/shou").gameObject; HighLightCtrl.GetInstance().FlashOff(shou); xiaohuaAnim.Complete += () => { //11. 播放结束,触发小华接过XXX。 //12. 播放结束,出现下一关和重做的按钮。 Debug.Log("DistinguishPictureCtrlB.OnClickTeacherHandFinal(): 11. 播放结束,出现下一关和重做的按钮。"); comUI = UIManager.Instance.GetUI <CommonUI>("CommonUI"); comUI.redoClickEvent += OnReDo; comUI.nextClickEvent += OnNextDo; comUI.ShowFinalUI(); }; int st = 30; int et = 33; int stm = 45; int etm = 47; int xhjgs = 22; int xhjge = 24; bool passA = false; bool passB = false; bool passD = false; teacherAnim.timePointEvent = (a) => //老师递给物品 { if (a > st && a < et && !passA) //挂载到老师手上强化物时间点 { passA = true; //将当前强化物挂在老师手上 //lsCtrl.SetJoint(RndReinforcementA.transform.parent.gameObject); //lsCtrl.l_guadian.transform.localPosition = Vector3.zero; //RndReinforcementA.transform.parent.localPosition = Vector3.zero; //RndReinforcementA.transform.parent.localRotation = Quaternion.Euler(Vector3.zero); //RndReinforcementA.transform.localPosition = Vector3.zero; RndReinforcementA.transform.parent.gameObject.SetActive(false); GameObject qhwm = ObjectsManager.instanse.GetQHW(); qhwm.transform.SetParent(emptyRoot.transform); qhwCtrl = qhwm.GetComponent <QHWCtrl>(); LSCtrl lsctrl = teacherAnim.GetComponent <LSCtrl>();//将当前强化物挂在老师手上 string name = goodA.GetComponent <PropsObject>().pData.name; qhwCtrl.ShowObj(name); lsctrl.SetJoint(qhwCtrl.gameObject); } if (a > stm && a < etm && !passB)//小华接卡动画播放延迟一边挂载强化物 { passB = true; LegacyAnimationOper go = ResManager.GetPrefab("Prefabs/AnimationKa/TY_XH_JG_KA").GetLegacyAnimationOper(); go.transform.SetParent(transform, false); xiaohuaAnim.timePointEvent = (b) => { if (b > xhjgs && b < xhjge && !passD) { passD = true; RndReinforcementA.transform.parent.gameObject.SetActive(false); qhwCtrl.gameObject.SetActive(false); XhQHW xhqhw = go.GetComponent <XhQHW>(); xhqhw.ShowObj(goodA.GetComponent <PropsObject>().pData.name); } }; xiaohuaAnim.OnContinue(); xiaohuaAnim.PlayForward("TY_XH_JG"); go.PlayForward("TY_XH_JG_KA"); } }; teacherAnim.OnContinue(); teacherAnim.PlayForward("TY_LS_DW"); } }
private void OnClickTeacherHandFirst(ClickedObj cobj) { if (cobj.objname == "shou") { ChooseDo.Instance.Clicked(); CancelInvoke("ClickTeachersPromptFirst"); GlobalEntity.GetInstance().RemoveListener <ClickedObj>(ClickDispatcher.mEvent.DoClick, OnClickTeacherHandFirst); ClickDispatcher.Inst.EnableClick = false; HighLightCtrl.GetInstance().FlashOff(cobj.go); //播放接图卡动画 teacherAnim = PeopleManager.Instance.GetPeople("LS_BD").GetAnimatorOper(); int st = 42; int et = 43; bool passA = false; bool passA2 = false; bool passA3 = false; bool passA1 = false; bool passA4 = false; teacherAnim.timePointEvent = (tt) => { if (tt >= 35 && tt <= 36 && !passA4) { passA4 = true; xiaohuaAnim.OnContinue(); } if (tt >= st && tt <= et && !passA) { passA = true; xhctrl.r_tuka.SetActive(false); lsCtrl.ls_tuka2.SetActive(true); } if (tt >= 81 && tt <= 83 && !passA2) { passA2 = true; //老师放下图卡A xhctrl.r_tuka2.GetComponentInChildren <MeshRenderer>().materials[1].CopyPropertiesFromMaterial(qhwtks[2].GetComponentInChildren <MeshRenderer>().materials[1]); } if (tt >= 85 && tt <= 87 && !passA1) { passA1 = true; qhwtks[2].SetActive(true); qhwtks[2].transform.SetParent(emptyRoot.transform); qhwtks[2].transform.localPosition = new Vector3(2.502f, 0.5464f, 0.472f); qhwtks[2].transform.localRotation = Quaternion.Euler(Vector3.zero); qhwtks[2].transform.localScale = Vector3.one; lsCtrl.ls_tuka2.SetActive(false); } if (tt >= 96 && tt <= 98 && !passA3) { passA3 = true; //老师接图卡A动画结束 teacherAnim.timePointEvent = null; teacherAnim.OnPause(); OnClickHuaTong(); } }; teacherAnim.PlayForward("TY_LS_JKDW"); } }
void PlayAgain() { isPlay = false; ani.PlayForward("Take 001", 0); ani.OnContinue(); }
public void Dispose() { if (comUI == null) { comUI = UIManager.Instance.GetUI <CommonUI>("CommonUI"); } comUI.redoClickEvent -= OnReDo; comUI.nextClickEvent -= OnNextDo; comUI = null; if (xiaohuaAnim != null) { xiaohuaAnim.timePointEvent = null; XHCtrl xhctrl = xiaohuaAnim.GetComponent <XHCtrl>(); if (xhctrl != null) { xhctrl.DestroyGuadian(); } xiaohuaAnim.gameObject.SetActive(false); xiaohuaAnim.transform.Find("Group/Main").localPosition = new Vector3(1.952808f, 0, 0.3788859f); xiaohuaAnim.gameObject.SetActive(true); xiaohuaAnim.OnContinue(); xiaohuaAnim.ClearCompleteEvent(); DestroyImmediate(xiaohuaAnim.gameObject); PeopleManager.Instance.GetNewXH(); //xiaohuaAnim.PlayForward("idle"); } Transform zhuozi2 = EnhanceCommunityModel.GetInstance().Jiaoshi().transform.Find("shinei/zhuozi2"); zhuozi2.transform.localPosition = zhuozi2Pos; if (LS != null) { LS.timePointEvent = null; LS.OnContinue(); LSCtrl lsctrl = LS.GetComponent <LSCtrl>(); if (lsctrl != null) { lsctrl.DestroyGuadian(); } } evtFinished = null; evtRedo = null; if (emptyRoot != null) { Destroy(emptyRoot); emptyRoot = null; } GlobalEntity.GetInstance().RemoveListener <ClickedObj>(ClickDispatcher.mEvent.DoClick, OnClickTeacherHandFirst); GlobalEntity.GetInstance().RemoveListener <ClickedObj>(ClickDispatcher.mEvent.DoClick, OnClickteacherHandSecond); //恢复老师位置和相机位置 PeopleManager.Instance.GetPeople("LS_BD").transform.localPosition = lsOldPos; GlobalDataManager.GetInstance().SetPcesCamera(); Destroy(gameObject); }
private void OnClickTeacherHandFirst(ClickedObj cobj) { Debug.Log("SpeakUpCtrlC.OnClickTeacherHandFirst(): " + cobj.objname); if (cobj.objname == "shou") { ChooseDo.Instance.Clicked(); CancelInvoke("ClickTeachersPromptFirst"); GlobalEntity.GetInstance().RemoveListener <ClickedObj>(ClickDispatcher.mEvent.DoClick, OnClickTeacherHandFirst); ClickDispatcher.Inst.EnableClick = false; HighLightCtrl.GetInstance().FlashOff(cobj.go); LS = PeopleManager.Instance.GetPeople(PeopleTag.LS_BD).GetAnimatorOper(); LSCtrl lsCtrl = LS.GetComponent <LSCtrl>(); int st = 22; int et = 24; bool passA = false; bool passB = false; LS.timePointEvent = (a) =>//老师借卡时间点 { if (a >= st && a < et && !passA) { passA = true; UnityEngine.Debug.Log("SpeakUpCtrlA::OnClickTeacherHandFinal(): 隐藏沟通本句带"); xiaohuaAnim.OnContinue(); xhCtrl.r_judai2.SetActive(false); /* LS.OnPause(); */ //xiaohuaAnim.PlayForward("XH_D_1ST_BACK");//小华手收回 Transform jd1 = lsCtrl.ls_judai.transform.Find("ls_judai_1"); jd1.Find("ls_jd_tuka_1").gameObject.SetActive(false); jd1.Find("ls_jd_tuka_2").gameObject.SetActive(true); jd1.Find("ls_jd_tuka_3").gameObject.SetActive(true); jd1.Find("ls_jd_tuka_2").gameObject.GetComponent <MeshRenderer>().materials[1].CopyPropertiesFromMaterial(judaiGobj.GetComponent <MeshRenderer>().materials[1]); jd1.Find("ls_jd_tuka_3").gameObject.GetComponent <MeshRenderer>().materials[1].CopyPropertiesFromMaterial(tukaA.GetComponent <MeshRenderer>().materials[1]); lsCtrl.ls_judai.gameObject.SetActive(true); } if (a >= 35 && a <= 37 && !passB) { passB = true; LS.timePointEvent = null; lsCtrl.ls_judai.gameObject.SetActive(false); lsjudai.SetActive(true); //5. 播放结束,提醒操作者点击话筒,点击后话筒旁边显示“你要吃XXX呀” SwapUI swapui = UIManager.Instance.GetUI <SwapUI>("SwapUI"); swapui.SetButtonVisiable(SwapUI.BtnName.microButton, true); swapui.SetButtonVisiable(SwapUI.BtnName.chooseButton, false); swapui.GetMicroBtn.gameObject.GetUIFlash().StartFlash(); swapui.speakEvent = () => { CancelInvoke("ClickPromptMicoUI"); ChooseDo.Instance.Clicked(); swapui.GetMicroBtn.gameObject.GetUIFlash().StopFlash(); swapui.speakEvent = null; swapui.SetButtonVisiable(SwapUI.BtnName.microButton, false); Dialog dialog = UIManager.Instance.GetUI <Dialog>("Dialog"); string gift = goodA.GetComponent <PropsObject>().pData.name_cn; dialog.SetDialogMessage("小华要" + gift + "呀"); //6. 显示2秒,结束后,提醒操作者点击教师的手,点击后触发教师给小华的动画。 Invoke("ClickTeachersHandSecond", 2f); }; ChooseDo.Instance.DoWhat(5, RedoClickMicoUI, null); } }; LS.OnContinue(); LS.PlayForward("TY_LS_JTKJD_JG"); } }