Example #1
0
    void XhTJudai()
    {
        ClickDispatcher.Inst.EnableClick = false;

        XH.timePointEvent = (b) =>
        {
            if (b > 184 && b < 189)
            {
                XH.timePointEvent = null;
                XH.OnPause();
                XhTakeCardCallback();
            }
        };
        //XH.Complete += XhTakeCardCallback;
        XH.PlayForward("XH_D_1ST_FBNKT");
        //
        gtb.framePointEvent = (b) =>
        {
            if (b > 175 && b < 180)
            {
                gtb.framePointEvent = null;
                gtb.OnPause();
            }
        };
        gtb.PlayForward("XH_D_1ST_FBNKT_KA");
    }
Example #2
0
    /// <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");
        }
    }
Example #3
0
    /// <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");
        }
    }
Example #4
0
    void MMJieObj()
    {
        CancelInvoke("ClickMMhandTip");
        HighLightCtrl.GetInstance().FlashOff(mmHand);
        ClickDispatcher.Inst.EnableClick = false;

        GameObject ka = ResManager.GetPrefab("Prefabs/AnimationKa/MM_F_4TH_DBY_KA");

        ka.name = "MM_F_4TH_DBY_KA";
        ka.transform.SetParent(transform);

        Material matTar    = ka.transform.Find("judai/tuka1").GetComponent <MeshRenderer>().materials[1];
        Material matSource = SentenceExpressionModel.GetInstance().GetTuKa(PropsTag.judai_wokanjian.ToString()).GetComponent <MeshRenderer>().materials[1];

        matTar.CopyPropertiesFromMaterial(matSource);

        matTar    = ka.transform.Find("judai/tuka").GetComponent <MeshRenderer>().materials[1];
        matSource = SentenceExpressionModel.GetInstance().GetObj(index).GetComponent <MeshRenderer>().materials[1];
        matTar.CopyPropertiesFromMaterial(matSource);

        ka.transform.Find("Group/Main/DeformationSystem/Root_M/Spine1_M/Chest_M/Scapula_L/Shoulder_L/ShoulderPart1_L/ShoulderPart2_L/Elbow_L/Wrist_L/judai3").gameObject.SetActive(false);
        ka.transform.Find("judai/tuka").localEulerAngles  = new Vector3(0, -90, 0);
        ka.transform.Find("judai/tuka1").localEulerAngles = new Vector3(0, -90, 0);

        LegacyAnimationOper lao = ka.GetLegacyAnimationOper();

        lao.PlayForward("MM_F_4TH_DBY_KA");

        bool pass  = true;
        bool pasxh = true;

        MM.timePointEvent = (a) =>
        {
            if (a >= 38 && a <= 40 && pasxh)
            {
                pasxh = false;
                XH.OnContinue();
                transform.Find("XH_F_4TH_FNN_KA").GetComponent <LegacyAnimationOper>().OnContinue();
                //transform.Find("XH_F_4TH_FNN_KA").gameObject.SetActive(false);
            }
            if (a >= 72 && a <= 75 && pass)
            {
                pass = false;
                MM.timePointEvent = null;
                MM.OnPause();
                lao.OnPause();
                DBYCallback();
            }
        };
        MM.PlayForward("MM_F_4TH_DBY");
        //Invoke("ClickmicroPhoneTip", 1);
    }
Example #5
0
    //点中辅导老师手后的回调
    /// <summary>
    ///辅导教师抓住小华的手翻开沟通本
    /// </summary>
    void XhTJudai()
    {
        ClickDispatcher.Inst.EnableClick = false;

        bool passxh = true;

        XH.timePointEvent = (b) =>
        {
            if (b > 184 && b < 189 && passxh)
            {
                passxh = false;
                XH.OnPause();
                XhTakeCardCallback();
            }
        };
        //XH.Complete += XhTakeCardCallback;
        XH.PlayForward("XH_D_1ST_FBNKT");
        //
        bool passgtb = true;

        gtb.framePointEvent = (b) =>
        {
            if (b > 175 && b < 180 && passgtb)
            {
                passgtb = false;
                gtb.OnPause();
            }
        };
        gtb.PlayForward("XH_D_1ST_FBNKT_KA");
    }
Example #6
0
    void XhTakeCard()
    {
        bool pass1 = true;
        bool pass2 = true;

        XH.timePointEvent = (a) =>
        {
            if (a >= 18 && a <= 20 && pass1)
            {
                pass1 = false;
                XHCtrl   ctrl      = XH.GetComponent <XHCtrl>();
                string   name      = SwapModel.GetInstance().CurReinforcement.pData.name;
                Material matSource = SwapModel.GetInstance().GetTuKa("tuka_" + name).GetComponent <MeshRenderer>().materials[1];
                Material matTar    = ctrl.r_tuka2.transform.Find("tuka2 1").GetComponent <MeshRenderer>().materials[1];
                matTar.CopyPropertiesFromMaterial(matSource);
                xhTk.gameObject.SetActive(false);
                ctrl.r_tuka2.gameObject.SetActive(true);
            }
            if (a >= 50 && a <= 52 && pass2)
            {
                pass2             = false;
                XH.timePointEvent = null;
                XH.OnPause();
                XhTakeCardCallback();
            }
        };
        XH.PlayForward("TY_XH_NKDK");
    }
Example #7
0
    void XhTakeCard()
    {
        XH.gameObject.SetActive(true);

        //XH.Complete += XhTakeCardCallback;
        //bool pass = true;
        bool pass1     = true;
        bool pass2     = true;
        bool pass3     = true;
        bool passgtb   = true;
        bool passreset = true;

        XH.timePointEvent = (a) =>
        {
            if (a >= 10 && a <= 12 && passreset)
            {
                passreset = false;
                XH.transform.localPosition = Vector3.zero;
            }

            if (a >= 138 && a <= 140 && pass1)
            {
                pass1 = false;
                GTB.timePointEvent = (b) =>
                {
                    if (b >= 26 && b <= 28 && passgtb)
                    {
                        passgtb            = false;
                        GTB.timePointEvent = null;
                        deskTuka.gameObject.SetActive(true);
                    }
                };
                GTB.PlayForward("onePaper");
            }

            if (a >= 185 && a <= 187 && pass2)
            {
                pass2 = false;
                XHCtrl   ctrl      = XH.GetComponent <XHCtrl>();
                string   name      = EnhanceCommunityModel.GetInstance().CurReinforcement.pData.name;
                Material matSource = EnhanceCommunityModel.GetInstance().GetTuKa("tuka_" + name).GetComponent <MeshRenderer>().materials[1];
                ctrl.r_tuka.transform.Find("tuka 1").GetComponent <MeshRenderer>().enabled = true;
                Material matTar = ctrl.r_tuka.transform.Find("tuka 1").GetComponent <MeshRenderer>().materials[1];
                matTar.CopyPropertiesFromMaterial(matSource);
                xhTk.SetActive(false);
                ctrl.r_tuka.gameObject.SetActive(true);
            }

            if (a >= 405 && a <= 407 && pass3)
            {
                pass3             = false;
                XH.timePointEvent = null;
                XH.OnPause();
                XhTakeCardCallback();
            }
        };
        XH.PlayForward("XH_B_3RD_ZFNZD");
    }
Example #8
0
    void OnXiaoHuaBring()
    {
        int  start  = 287;
        int  end    = 288;
        int  start1 = 465;
        int  end1   = 467;
        bool pass1  = false;
        bool pass2  = false;

        xiaohuaAnim.timePointEvent = (t) =>
        {
            if (t >= start && t <= end && !pass1)
            {
                pass1 = true;
                XHCtrl xhctrl = xiaohuaAnim.GetComponent <XHCtrl>();
                xhctrl.r_judai2.SetActive(true);
                xhctrl.r_judai2.transform.Find("XH_judai_2 1/jd_tuka_1").GetComponent <MeshRenderer>().enabled = false;
                xhctrl.r_judai2.transform.Find("XH_judai_2 1/jd_tuka_2").GetComponent <MeshRenderer>().materials[1].CopyPropertiesFromMaterial(judaiGobj.GetComponent <MeshRenderer>().materials[1]);
                xhctrl.r_judai2.transform.Find("XH_judai_2 1/jd_tuka_3").GetComponent <MeshRenderer>().materials[1].CopyPropertiesFromMaterial(tukaA.GetComponent <MeshRenderer>().materials[1]);

                FBNKT_KA_Anim.transform.Find("XH_judaiA").gameObject.SetActive(false);
            }

            if (t >= start1 && t <= end1 && !pass2)
            {
                pass2 = true;
                xiaohuaAnim.timePointEvent = null;
                xiaohuaAnim.OnPause();

                //2. 播放结束,提示操作者点击教师的手,播放教师接卡的动画。
                GameObject shou = PeopleManager.Instance.GetPeople("LS_BD").transform.Find("LSB_BD/shou").gameObject;
                Debug.Log("SpeakUpCtrlC.OnXiaoHuaBring(): 2. 播放结束,提示操作者点击教师的手,播放教师接卡的动画。");
                HighLightCtrl.GetInstance().FlashOn(shou);
                shou.GetBoxCollider().size = new Vector3(1, 0.2f, 0.5f);
                GlobalEntity.GetInstance().AddListener <ClickedObj>(ClickDispatcher.mEvent.DoClick, OnClickTeacherHandFirst);
                ClickDispatcher.Inst.EnableClick = true;
                ChooseDo.Instance.DoWhat(5, RedoClickTeachersHandFirst, null);
            }
        };

        xiaohuaAnim.PlayForward("XH_D_3RD_ZGJD");
        FBNKT_KA_AnimOper = FBNKT_KA_Anim.GetLegacyAnimationOper();
        bool passA = false;

        FBNKT_KA_AnimOper.framePointEvent = (t) =>
        {
            if (t >= 165 && t <= 168 && !passA)
            {
                //显示沟通本第2页图卡
                passA = true;
                FBNKT_KA_AnimOper.framePointEvent = null;
                FBNKT_KA_Anim.transform.Find("XH_judaiA/XH_judaiA 1/tukaB").gameObject.SetActive(true);
            }
        };

        FBNKT_KA_AnimOper.PlayForward("XH_D_2ND_FYFT_KA");
    }
Example #9
0
    //点中辅导老师手后的回调
    /// <summary>
    ///辅导教师抓住小华的手翻开沟通本
    /// </summary>
    void FdlsClickXhHand()
    {
        CancelInvoke("ClickFdlsHandTip");
        ClickDispatcher.Inst.EnableClick = false;
        HighLightCtrl.GetInstance().FlashOff(fdlshand);
        //FDLS.Complete += FdlsClickXhHandCalllback;
        //FDLS.PlayForward("FDLS_A_2ND_D");//TODO:教师动画播放时有位移
        bool pass1   = true;
        bool pass2   = true;
        bool pass3   = true;
        bool passgtb = true;

        XH.timePointEvent = (a) =>
        {
            if (a >= 41 && a <= 43 && pass1)
            {
                pass1 = false;
                GTB.timePointEvent = (b) =>
                {
                    if (b >= 26 && b <= 28 && passgtb)
                    {
                        passgtb            = false;
                        GTB.timePointEvent = null;
                        deskTuka.gameObject.SetActive(true);
                    }
                };
                GTB.PlayForward("onePaper");
            }

            if (a >= 135 && a <= 137 && pass2)//
            {
                //XH.timePointEvent = null;
                pass2 = false;
                XHCtrl   ctrl      = XH.GetComponent <XHCtrl>();
                string   name      = EnhanceCommunityModel.GetInstance().CurReinforcement.pData.name;
                Material matSource = EnhanceCommunityModel.GetInstance().GetTuKa("tuka_" + name).GetComponent <MeshRenderer>().materials[1];
                //ctrl.r_tuka2.transform.Find("tuka2 1").GetComponent<MeshRenderer>().enabled = true;
                Material matTar = ctrl.r_tuka.transform.Find("tuka 1").GetComponent <MeshRenderer>().materials[1];
                matTar.CopyPropertiesFromMaterial(matSource);
                ctrl.r_tuka.transform.Find("tuka 1").GetComponent <MeshRenderer>().enabled = true;
                ctrl.r_tuka.gameObject.SetActive(true);

                xhTk.gameObject.SetActive(false);
            }

            if (a >= 163 && a <= 165 && pass3)
            {
                pass3             = false;
                XH.timePointEvent = null;
                XH.OnPause();
                XhTakeCardCallback();
            }
        };
        XH.PlayForward("XH_B_1ST_FBNKDK", /*0.16f*/ 0);
        FDLS.PlayForward("FDLS_B_1ST_FGTB");
    }
Example #10
0
    private void ProcessClickTeacherHandFirst()
    {
        xiaohuaAnim.OnPause();
        GameObject shou = PeopleManager.Instance.GetPeople("LS_BD").transform.Find("LSB_BD/shou").gameObject;

        HighLightCtrl.GetInstance().FlashOn(shou);
        shou.GetBoxCollider().size = new Vector3(1, 0.2f, 0.5f);
        GlobalEntity.GetInstance().AddListener <ClickedObj>(ClickDispatcher.mEvent.DoClick, OnClickTeacherHandFirst);
        ClickDispatcher.Inst.EnableClick = true;

        ChooseDo.Instance.DoWhat(5, RedoClickTeachersHandFirst, null);
    }
Example #11
0
    void XHTake()
    {
        Debug.Log("DistinguishPictureCtrlB::OnClickHuaTong(): 4. 播放结束,触发小华拿起B的动画。");
        int  start = 20;
        int  end   = 21;
        bool passA = false;

        xiaohuaAnim.timePointEvent = (t) =>
        {
            if (t >= start && t <= end && !passA)
            {
                passA = true;
                xiaohuaAnim.timePointEvent = null;
                Dialog dialog = UIManager.Instance.GetUI <Dialog>("Dialog");
                dialog.Show(false);
                xiaohuaAnim.OnPause();

                OnXiaoHuaBringB();
            }
        };

        xiaohuaAnim.PlayForward("XH_C_2ND_NA");
    }
Example #12
0
    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");
    }
Example #13
0
    void OnClickTeacherHandThird(ClickedObj cobj)
    {
        if (cobj.objname == "shou")
        {
            ChooseDo.Instance.Clicked();
            CancelInvoke("ClickTeachersPromptThird");
            GameObject shou = PeopleManager.Instance.GetPeople("LS_BD").transform.Find("LSB_BD/shou").gameObject;
            HighLightCtrl.GetInstance().FlashOff(shou);
            GlobalEntity.GetInstance().RemoveListener <ClickedObj>(ClickDispatcher.mEvent.DoClick, OnClickTeacherHandThird);
            ClickDispatcher.Inst.EnableClick = false;



            teacherAnim.Complete += () =>
            {
                //6. 播放结束,触发小华拿起A卡、递卡的动画。
                Debug.Log("DistinguishPictureCtrlA.OnClickTeacherHandThird(): 6. 播放结束,触发小华拿起A卡、递卡的动画。");
                xhctrl.r_tuka2.GetComponentInChildren <MeshRenderer>().materials[1].CopyPropertiesFromMaterial(tukaA.GetComponentInChildren <MeshRenderer>().materials[1]);
                xhctrl.r_tuka2.SetActive(true);

                int  start  = 18;
                int  end    = 20;
                int  start0 = 44;
                int  end0   = 46;
                bool passA  = false;
                bool passB  = false;
                xiaohuaAnim.timePointEvent = (t) =>
                {
                    if (t >= start && t <= end && !passA)
                    {
                        passA = true;
                        tukaA.SetActive(false);
                    }

                    if (t >= start0 && t <= end0 && !passB)
                    {
                        passB = true;
                        xiaohuaAnim.timePointEvent = null;
                        xiaohuaAnim.OnPause();

                        OnXiaoHuaBringAToTeacher();
                    }
                };
                xiaohuaAnim.PlayForward("TY_XH_NKDK");
            };
            teacherAnim.PlayForward("LS_C_1ST_ZZ");
        }
    }
Example #14
0
    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();
                }
            };
        }
    }
Example #15
0
    //点中辅导老师手后的回调
    /// <summary>
    ///辅导教师抓住小华的手翻开沟通本
    /// </summary>
    void FdlsClickXhHand()
    {
        CancelInvoke("ClickFdlsHandTip");
        HighLightCtrl.GetInstance().FlashOff(fdlshand);
        ClickDispatcher.Inst.EnableClick = false;
        //FDLS.Complete += FdlsClickXhHandCalllback;
        //FDLS.PlayForward("FDLS_A_2ND_D");//TODO:教师动画播放时有位移
        FDLS.PlayForward("FDLS_B_1ST_FGTB");

        //Debug.LogError("FDLS_B_1ST_FGTB");

        bool pass = true;

        FDLS.timePointEvent = (a) =>
        {
            if (a > 35 && a <= 37 && pass)
            {
                pass = false;
                //
                bool passxh = true;
                XH.timePointEvent = (b) =>
                {
                    if (b > 184 && b < 189 && passxh)
                    {
                        passxh = false;
                        XH.OnPause();

                        XhTakeCardCallback();
                    }
                };
                //XH.Complete += XhTakeCardCallback;
                XH.PlayForward("XH_D_1ST_FBNKT");
                //
                bool passgtb = true;
                gtb.framePointEvent = (b) =>
                {
                    if (b > 175 && b < 180 && passgtb)
                    {
                        passgtb = false;
                        gtb.OnPause();
                    }
                };
                gtb.PlayForward("XH_D_1ST_FBNKT_KA");
            }
        };
    }
Example #16
0
    /// <summary>
    /// 播放小华拿B卡递卡动画
    /// </summary>
    void OnXiaoHuaBring()
    {
        GameObject xiaohuaGo = PeopleManager.Instance.GetPeople("XH_BD");

        xiaohuaAnim = xiaohuaGo.GetAnimatorOper();
        xhctrl      = xiaohuaGo.GetComponent <XHCtrl>();

        xhctrl.r_tuka2.GetComponentInChildren <MeshRenderer>().materials[1].CopyPropertiesFromMaterial(tukaB.GetComponentInChildren <MeshRenderer>().materials[1]);
        lsCtrl = teacherAnim.GetComponent <LSCtrl>();
        lsCtrl.ls_tuka2.GetComponentInChildren <MeshRenderer>().materials[1].CopyPropertiesFromMaterial(tukaB.GetComponentInChildren <MeshRenderer>().materials[1]);
        int  start  = 24;
        int  end    = 26;
        int  start0 = 44;
        int  end0   = 46;
        bool passA  = false;
        bool passB  = false;

        xiaohuaAnim.timePointEvent = (t) =>
        {
            if (t >= start && t <= end && !passA)
            {
                passA = true;
                xhctrl.r_tuka2.SetActive(true);
                tukaB.SetActive(false);

                tukaA.transform.parent.localPosition = new Vector3(2.277f, 0.5466f, 0.3855f);
            }

            if (t >= start0 && t <= end0 && !passB)
            {
                passB = true;
                xiaohuaAnim.timePointEvent = null;
                xiaohuaAnim.OnPause();
                GameObject shou = PeopleManager.Instance.GetPeople("LS_BD").transform.Find("LSB_BD/shou").gameObject;
                Debug.Log("DistinguishPictureCtrlA.OnXiaoHuaBring(): 2. 播放结束,提醒操作者点击教师的手,点击后触发接图卡的动作");
                HighLightCtrl.GetInstance().FlashOn(shou);
                shou.GetBoxCollider().size = new Vector3(1, 0.2f, 0.5f);
                GlobalEntity.GetInstance().AddListener <ClickedObj>(ClickDispatcher.mEvent.DoClick, OnClickTeacherHandFirst);
                ClickDispatcher.Inst.EnableClick = true;
                ChooseDo.Instance.DoWhat(5, RedoClickTeachersHandFirst, null);
            }
        };
        xiaohuaAnim.PlayForward("TY_XH_NKDK");
    }
Example #17
0
    void OnXiaoHuaBring()
    {
        GameObject xiaohuaGo = PeopleManager.Instance.GetPeople("XH_BD");

        xiaohuaAnim = xiaohuaGo.GetAnimatorOper();


        xiaohuaAnim.PlayForward("XH_D_1ST_FBNKT");

        GameObject fdlsObj2 = PeopleManager.Instance.GetPeople("FDLS_BD");

        fdlsAnim = fdlsObj2.GetAnimatorOper();
        fdlsAnim.PlayForward("FDLS_D_1ST_TJD", 0.343f);
        fdlsAnim.OnPause();

        FBNKT_KA_AnimOper = FBNKT_KA_Anim.GetLegacyAnimationOper();
        FBNKT_KA_AnimOper.PlayForward("XH_D_1ST_FBNKT_GKA");

        int  start = 100;
        int  end   = 102;
        bool passA = false;

        xiaohuaAnim.timePointEvent = (t) =>
        {
            if (t >= start && t <= end && !passA)
            {
                passA = true;
                xiaohuaAnim.timePointEvent = null;
                xiaohuaAnim.OnPause();
                FBNKT_KA_AnimOper.OnPause();

                //2. 播放结束,提醒操作者点击辅助教师的手,点击后触发辅助教师抓着小华的手把图卡粘在句带上的动画。
                GameObject fdlsObj = PeopleManager.Instance.GetPeople("FDLS_BD");
                GameObject shou    = fdlsObj.transform.Find("FDLS/fdls_shou").gameObject;
                HighLightCtrl.GetInstance().FlashOn(shou);
                shou.GetBoxCollider().size = new Vector3(1, 0.2f, 0.5f);
                GlobalEntity.GetInstance().AddListener <ClickedObj>(ClickDispatcher.mEvent.DoClick, OnClickFDTeacherHandFirst);
                ClickDispatcher.Inst.EnableClick = true;
                ChooseDo.Instance.DoWhat(5, RedoClickFDTeachersHandFirst, null);
            }
        };
    }
Example #18
0
    /// <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");
    }
Example #19
0
    public void Init()
    {
        if (swapUI == null)
        {
            swapUI             = UIManager.Instance.GetUI <SwapUI>("SwapUI");
            swapUI.speakEvent += SpeakBtnClickCallback;
            swapUI.SetButtonVisiable(SwapUI.BtnName.microButton, true);
            swapUI.SetButtonVisiable(SwapUI.BtnName.chooseButton, false);
        }

        PeopleManager.Instance.Reset();

        PeopleManager.Instance.GetPeople(PeopleTag.FDLS_BD).transform.localPosition = new Vector3(0, 0, 10000);
        PeopleManager.Instance.GetPeople(PeopleTag.LS_BD).transform.localPosition   = new Vector3(0, 0, 10000);

        XH = PeopleManager.Instance.GetPeople(PeopleTag.XH_BD).GetAnimatorOper();
        XH.PlayForward("XH_E_3RD_FNN");
        XH.OnPause();

        LegacyAnimationOper ka = ResManager.GetPrefab("Prefabs/AnimationKa/XH_E_3RD_FNN_KA").GetLegacyAnimationOper();

        ka.transform.SetParent(transform);
        ka.name = "XH_E_3RD_FNN_KA";
        ka.PlayForward("XH_E_3RD_FNN_KA");
        ka.OnPause();
        //XH.transform.localPosition = Vector3.zero;
        //XH.transform.localScale = Vector3.zero;

        MM      = ResManager.GetPrefab("Scenes/supermarket/MM").GetAnimatorOper();
        MM.name = "MM";
        MM.transform.SetParent(transform);
        MM.PlayForward("idle");

        HighLightCtrl.GetInstance().OffAllObjs();
        GetTukaObject();
    }
Example #20
0
    /// <summary>
    /// 辅导老师抓小华手递卡
    /// </summary>
    void FdlsDika()
    {
        CancelInvoke("ClickFdlsDikaHandTip");
        HighLightCtrl.GetInstance().FlashOff(fdlshand);
        ClickDispatcher.Inst.EnableClick = false;
        FDLS.Complete += FdlsDikaCallBack;
        FDLS.PlayForward("FDLS_A_1ST_ZD");
        bool pass = true;

        XH.timePointEvent = (a) =>
        {
            if (a >= 10 && a <= 12 && pass)
            {
                pass = false;
                xhTk.gameObject.SetActive(false);
            }
            if (a >= 33 && a <= 35)
            {
                XH.timePointEvent = null;
                XH.OnPause();
            }
        };
        XH.PlayForward("XH_A_1ST_BZDK");
    }
Example #21
0
    /// <summary>
    /// 初始化桌子上的涂卡
    /// </summary>
    void GetTukaObject()
    {
        PropsObject   pObj = SentenceExpressionModel.GetInstance().GetObj(PropsType.neutralStimulator); //中性刺激物
        Reinforcement rfc  = new Reinforcement(pObj.pData);                                             //测试代码

        SentenceExpressionModel.GetInstance().CurneutralStimulator = rfc;                               //设置强化物
        Debug.Log("中性刺激物  " + rfc.pData.name);

        string     objName = rfc.pData.name;//桌子上中兴刺激物
        GameObject obj     = Instantiate(SentenceExpressionModel.GetInstance().GetTuKa(objName));

        obj.name = "neutralStimulator";
        obj.transform.SetParent(transform, false);
        obj.transform.localPosition = new Vector3(2.453f, 0.578f, 0.867f);
        obj.transform.localScale    = Vector3.one * 0.6F;

        gtb      = ResManager.GetPrefab("Prefabs/AnimationKa/XH_D_1ST_FBNKT_KA").GetLegacyAnimationOper();
        gtb.name = PropsTag.TY_GTB.ToString();
        gtb.transform.SetParent(transform);
        gtb.name = "XH_D_1ST_FBNKT_KA";
        gtb.transform.SetParent(transform);

        //沟通本我看见图卡
        Material matSource = SentenceExpressionModel.GetInstance().GetTuKa(PropsTag.judai_wokanjian.ToString()).GetComponent <MeshRenderer>().materials[1];
        Material matTar    = gtb.transform.Find("XH_judaiA/XH_judaiA 1/tukaB/tukaB1").GetComponent <MeshRenderer>().materials[1];

        matTar.CopyPropertiesFromMaterial(matSource);

        //沟通本之中性刺激物图卡
        string _tuka = "tuka_" + rfc.pData.name;//沟通本里面图卡

        matSource = SentenceExpressionModel.GetInstance().GetTuKa(_tuka).GetComponent <MeshRenderer>().materials[1];
        matTar    = gtb.transform.Find("XH_judaiA/XH_judaiA 1/tukaB/tukaB 1").GetComponent <MeshRenderer>().materials[1];
        matTar.CopyPropertiesFromMaterial(matSource);

        //设置老师旁边的强化物模型

        pObj = SentenceExpressionModel.GetInstance().GetObj(PropsType.reinforcement); //强化物
        rfc  = new Reinforcement(pObj.pData);                                         //测试代码
        SentenceExpressionModel.GetInstance().CurReinforcement = rfc;                 //设置强化物
        objName = rfc.pData.name;                                                     //

        obj      = ObjectsManager.instanse.GetQHW();
        obj.name = "QHW";
        obj.transform.SetParent(transform);
        qhwCtrl = obj.GetComponent <QHWCtrl>();
        qhwCtrl.ShowObj(objName);
        //qhwCtrl = obj.GetComponent<QHWCtrl>();
        //qhwCtrl.ShowObj(objName);

        //LS.Complete += ClickmicroPhoneTip;
        //LS.PlayForward("LS_E_1ST_ZB");
        //
        bool passPoint = true;

        LS.timePointEvent = (a) =>
        {
            if (a >= 40 && a <= 45 && passPoint)//
            {
                passPoint = false;
                LS.OnPause();
                ClickmicroPhoneTip();
            }
        };
        LS.PlayForward("LS_F_1ST_ZCJW");
        //Debug.Log("ls");
    }
Example #22
0
    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
    }
Example #23
0
    //public bool Finished;
    private void Start()
    {
        GlobalEntity.GetInstance().Dispatch <string>(CommonUI.pEvent.LevelChange, "第四关");

        Transform park = ResManager.GetPrefab("Scenes/park/park").transform;

        park.SetParent(transform);
        GameObject         cam = transform.Find("park(Clone)/Camera").gameObject;
        HighlightingEffect hf  = cam.GetComponent <HighlightingEffect>();

        if (hf == null)
        {
            hf = cam.gameObject.AddComponent <HighlightingEffect>();
            //hf.stencilZBufferDepth = 0;
            //hf.downsampleFactor = 1;
            //hf.iterations = 2;
        }

        if (swapUI == null)
        {
            swapUI = UIManager.Instance.GetUI <SwapUI>("SwapUI");
            //swapUI.chooseEvent += ChooseBtnClickCallback;
            swapUI.speakEvent += SpeakBtnClickCallback;
            swapUI.SetButtonVisiable(SwapUI.BtnName.microButton, false);
            swapUI.SetButtonVisiable(SwapUI.BtnName.chooseButton, false);
        }
        UIManager.Instance.GetUI <Dialog>("Dialog").SetPos(new Vector3(-55, -490, 0));
        MM = ResManager.GetPrefab("Scenes/park/MM").GetAnimatorOper();
        MM.transform.SetParent(park);

        PeopleManager.Instance.Reset();
        PeopleManager.Instance.GetPeople(PeopleTag.FDLS_BD).transform.localPosition = new Vector3(0, 0, 10000);
        PeopleManager.Instance.GetPeople(PeopleTag.LS_BD).transform.localPosition   = new Vector3(0, 0, 10000);
        XH = PeopleManager.Instance.GetPeople(PeopleTag.XH_BD).GetAnimatorOper();
        bool pass = true;

        XH.timePointEvent = (a) =>
        {
            if (a >= 1 && a <= 3 && pass)
            {
                pass = false;
                XH.timePointEvent = null;
                XH.OnPause();
            }
        };
        XH.PlayForward("XH_F_4TH_FNN");

        LegacyAnimationOper dog = ResManager.GetPrefab("Scenes/park/dog").GetLegacyAnimationOper();

        dog.transform.SetParent(park);
        dog.transform.localScale    = Vector3.one * 2;
        dog.transform.localPosition = new Vector3(-1.205f, 0, 0);
        dog.PlayForward("idle");
        dog.SetWrapMode = WrapMode.Loop;

        MM.PlayForward("idle");
        //XH.PlayForward("idle");
        //XH.PlayForward("XH_F_4TH_FNN");
        PropsObject   pObj = SentenceExpressionModel.GetInstance().GetObj(PropsType.neutralStimulator); //中性刺激物
        Reinforcement rfc  = new Reinforcement(pObj.pData);                                             //测试代码

        SentenceExpressionModel.GetInstance().CurReinforcement = rfc;                                   //设置强化物
        Debug.Log("GetTukaObject");

        XHTZka();
        //Invoke("XHTZka", 1);
    }
Example #24
0
    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");
        }
    }
Example #25
0
    /// <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");
    }