Exemplo n.º 1
0
    //called from girl controller Update() while this ability is active
    public override void ActiveUpdate()
    {
        if (!gc.IsAirborne)
        {
            ExitAction();
            return;
        }

        if (state == AirAttackState.AirAttackMain)
        {
            if (Time.time > nextStateTime)
            {
                nextStateTime = Time.time + cooldownDuration;
                state = AirAttackState.AirAttackEnd;
                animator.speed = 1f;
                gc.controller.maxGravSpeed = 12f;

                animator.CrossFade(HashLookup.loopJumpHash, 0.1f);
            }
        }
        else if (state == AirAttackState.AirAttackEnd)
        {

            if (Time.time > nextStateTime)
            {
                ExitAction();
            }
        }
    }
 private void OnDisable()
 {
     IdleState.Dispose();
     MoveState.Dispose();
     JumpState.Dispose();
     InAirState.Dispose();
     LandState.Dispose();
     WallSlideState.Dispose();
     LedgeClimbState.Dispose();
     CrouchIdleState.Dispose();
     CrouchMoveState.Dispose();
     SwordAttackState.Dispose();
     HandAttackState.Dispose();
     AirAttackState.Dispose();
     SlideState.Dispose();
 }
Exemplo n.º 3
0
    public override void Execute()
    {
        base.Execute();
        isActive = true;
        nextStateTime = Time.time + attackDuration;
        state = AirAttackState.AirAttackMain;
        StartCoroutine(BeginTurnWindow(0.05f));

        if (gc.controller.CurExternalVeloY < 2f)
        {
            gc.controller.CurExternalVeloY = 2f;
        }

        animator.speed = 2.5f;
        animator.CrossFade(HashLookup.airSpecialHash, 0.1f, 0, 0);
    }