示例#1
0
        public void OnMsg(EMsg msg, params object[] args)
        {
            switch (msg)
            {
            case EMsg.Action_Knocked:
            case EMsg.Action_Repulsed:
            case EMsg.Action_Wentfly:
            case EMsg.Action_Whacked:
                m_Behave.Reset();
                m_SkEntity.CancelAllSkills();
                m_Animator.SetTrigger("Interrupt");
                break;

            case EMsg.View_Model_Build:
                //GameObject obj = args[0] as GameObject;
                BiologyViewRoot viewRoot = args[1] as BiologyViewRoot;
                m_Native = viewRoot.native;
                PEMotor m = viewRoot.motor;
                if (m_Trans != null && m_Animator != null && m != null && m_Motor != null && m_Motor.Field == MovementField.Sky)
                {
                    if (m.gravity > 0.0f)
                    {
                        m_IsFly = false;
                        m_Animator.SetBool("Fly", false);
                    }
                    else
                    {
                        m_IsFly = true;
                        m_Animator.SetBool("Fly", true);
                    }
                }

                PEMonster monster = viewRoot.monster;
                if (monster != null)
                {
                    m_IsDark = monster.isDark;
                }

                break;
            }
        }
        public void Reset()
        {
            modelController   = PEUtil.GetCmpt <PEModelController>(transform);
            ragdollController = PEUtil.GetCmpt <PERagdollController>(transform);
            ikArray           = PEUtil.GetCmpts <IK>(transform);
            ikFlashLight      = PEUtil.GetCmpt <IKFlashLight>(transform);
            fbbik             = PEUtil.GetCmpt <FullBodyBipedIK>(transform);
            grounderFBBIK     = PEUtil.GetCmpt <GrounderFBBIK>(transform);
            humanPhyCtrl      = PEUtil.GetCmpt <HumanPhyCtrl>(transform);
            ikAimCtrl         = PEUtil.GetCmpt <IKAimCtrl>(transform);
            ikAnimEffectCtrl  = PEUtil.GetCmpt <IKAnimEffectCtrl>(transform);
            ikDrive           = PEUtil.GetCmpt <IKDrive>(transform);
            defenceTrigger    = PEUtil.GetCmpt <PEDefenceTrigger>(transform);
            pathFinder        = PEUtil.GetCmpt <PEPathfinder>(transform);
            motor             = PEUtil.GetCmpt <PEMotor>(transform);
            steerAgent        = PEUtil.GetCmpt <Steer3D.SteerAgent>(transform);
            animFollow_AF     = PEUtil.GetCmpt <AnimFollow_AF>(transform);
            beatParam         = PEUtil.GetCmpt <BeatParam>(transform);
            moveParam         = PEUtil.GetCmpt <MoveParam>(transform);
            barrelController  = PEUtil.GetCmpt <PEBarrelController>(transform);
            billBoard         = PEUtil.GetCmpt <BillBoard>(transform);
            armorBones        = PEUtil.GetCmpt <ArmorBones>(transform);
            visions           = PEUtil.GetCmpts <PEVision>(transform);
            hears             = PEUtil.GetCmpts <PEHearing>(transform);
            native            = PEUtil.GetCmpt <PENative>(transform);
            monster           = PEUtil.GetCmpt <PEMonster>(transform);
            if (null != modelController)
            {
                modelController.ResetModelInfo();
            }

            if (null != animFollow_AF)
            {
                animFollow_AF.ResetModelInfo();
            }

            if (null != ragdollController)
            {
                ragdollController.ResetRagdoll();
            }
        }