示例#1
0
 public void JudgeSpeed(TriggerEvent evt)
 {
     if (MainAnimator && evt.otherTriggerController.transform.parent.tag == "Player")
     {
         float NowSpeed    = Mathf.Abs(evt.otherTriggerController.transform.parent.GetComponent <HumanController>().Speed.x);
         bool  CompareDir  = evt.colider.bounds.center.x < evt.colidePoint.x;
         bool  CompareSize = NowSpeed > JudgeMoveSpeed;
         if (CompareDir)
         {
             if (CompareSize)
             {
                 MainAnimator.SetInteger("state", 4);
             }
             else
             {
                 MainAnimator.SetInteger("state", 3);
             }
         }
         else
         {
             if (CompareSize)
             {
                 MainAnimator.SetInteger("state", 2);
             }
             else
             {
                 MainAnimator.SetInteger("state", 1);
             }
         }
     }
 }
示例#2
0
 void initclosedColliderObject()
 {
     closedColliderObject = gameObject.GetChild("Collider").GetChild("boxc");
     boxCollider          = closedColliderObject.GetComponent <BoxCollider>();
     meshRenderer         = MainAnimator.GetComponent <MeshRenderer>();
     mesh            = MainAnimator.GetComponent <MeshFilter>().sharedMesh;
     navMeshObstacle = closedColliderObject.GetComponent <NavMeshObstacle>();
 }
示例#3
0
 public override bool OnHurt(DamageData damageData)
 {
     if (MainAnimator != null)
     {
         MainAnimator.SetInteger("state", 1);
     }
     AnimManager.Instance.PlayAnimEffect(Placementdata.deathEffect, gameObject.GetRendererBounds().center);
     HitAndHurtDelegate.Hurt(damageData);
     return(true);
 }
示例#4
0
 void InitValueMonitor()
 {
     valueMonitorPool.AddMonitor(() => { return(MainAnimator == null ? 0 : MainAnimator.GetCurrAnimNameHash()); }, (int from, int to) =>
     {
         if (MainAnimator.IsCurrName("Opened"))
         {
             SetColliderState(1);
         }
         else if (MainAnimator.IsCurrName("Closed"))
         {
             SetColliderState(0);
         }
     });
 }
示例#5
0
        public override void Start()
        {
            base.Start();

            colliderParent = gameObject.GetChild("Collider", true);
            triggerParent  = gameObject.GetChild("Trigger", true);

            mainAnimMaterial = MainAnimator.GetComponent <Renderer>().material;
            mainAnimRenderer = MainAnimator.GetComponent <Renderer>();

            _animatorStateTransmit = gameObject.GetComponentInChildren <AnimatorStateTransmit>();
            _animatorStateTransmit.OnStateEvents += OnStateEvent;

            InitFSM();
        }
示例#6
0
 public override void OnTriggerIn(TriggerEvent evt)
 {
     if (evt.colider.gameObject.layer == LayerMask.NameToLayer("Ground") || evt.colider.gameObject.tag == "BackWall")
     {
         // 冻结z方向旋转 add by TangJian 2018/05/08 20:04:58
         MainRigidbody.freezeRotation = true;
         faii = false;
         MainRigidbody.useGravity  = false;
         MainRigidbody.isKinematic = true;
         MainDamageController.gameObject.SetActive(false);
         IsGrounded = false;
         //collider.gameObject.layer = LayerMask.NameToLayer("SceneComponent");
         MainAnimator.SetTrigger("Trigger");
         //transform.eulerAngles = Vector3.zero;
         behaviorTree.SetVariableValue("hammerpos", transform.position);
         Speed = Vector3.zero;
         MainRigidbody.isKinematic = true;
     }
 }
示例#7
0
 public override void OnTriggerOut(TriggerEvent evt)
 {
     MainAnimator.SetInteger("state", 0);
 }