Exemple #1
0
    void SetStates()
    {
        //Check if character isOnAir
        if (groundCollidingFoot == 0)
        {
            if (aState != AnimatedState.OnAir)
            {
                aState = AnimatedState.OnAir;
                OnAir();
            }

            onAirTimer += Time.deltaTime;
        }
        else if (aState == AnimatedState.OnAir)
        {
            aState     = AnimatedState.Idle;
            onAirTimer = 0f;
            Grounded();
        }

        if ((rootBone.velocity.magnitude > 2f) && (PlayerAppliedForce.magnitude > 0.1f) && (aState != AnimatedState.OnAir && aState != AnimatedState.Walking))
        {
            aState = AnimatedState.Walking;
        }
        else if ((rootBone.velocity.magnitude < 2f) && (PlayerAppliedForce.magnitude < 0.1f) && (aState != AnimatedState.OnAir && aState != AnimatedState.Idle))
        {
            aState = AnimatedState.Idle;
        }
    }
Exemple #2
0
 public override void OnActive()
 {
     if (!InitialState)
     {
         InitialState = IdleState;
     }
     ChangeState(InitialState);
     GetComponent <EventBus>().AddEventListener(LifeEntity.EventHit, () =>
     {
         ChangeState(HitState);
     });
     GetComponent <EventBus>().AddEventListener(LifeEntity.EventDeath, () =>
     {
         ChangeState(DeadState);
     });
 }