예제 #1
0
    public override void Enter()
    {
        base.Enter();
        _input.JumpPressed   += OnJumpPressed;
        _input.DashPressed   += OnDashPressed;
        _input.AttackPressed += OnAttackPressed;

        _player.ResetJumps();
        _movement.SetGravityScale(0);
    }
    public override void Enter()
    {
        Debug.Log("STATE: Wall Attack");
        base.Enter();

        _weaponSystem.AttackCompleted += OnAttackCompleted;

        _startPos = _movement.Position;
        //_movement.HoldPosition(_startPos);

        _movement.Flip();
        _weaponSystem.StandardAttack(_weaponSystem.EquippedWeapon.WallAttack,
                                     _weaponSystem.EquippedWeapon.HitSFX, true);
        _movement.SetVelocityZero();
        _movement.SetGravityScale(0);
    }
예제 #3
0
    public override void Enter()
    {
        Debug.Log("STATE: Dash");
        base.Enter();

        _animator.PlayAnimation(PlayerAnimator.DashingName);
        _receiveHit.IsImmune = true;

        _input.AttackPressed      += OnAttackPressed;
        _dashSystem.DashCompleted += OnDashCompleted;

        DetermineDashDirection();

        _dashSystem.UseDash(_data.DashDuration, _data.DashCooldown);

        _movement.SetVelocityZero();
        _movement.SetGravityScale(_data.DashingGravityScale);
        _sfx.DashReleaseSFX?.PlayOneShot(_player.transform.position);
        _jumpDust?.Play();
    }
예제 #4
0
    public override void Enter()
    {
        base.Enter();
        Debug.Log("STATE: Air Attack");

        _weaponSystem.AttackCompleted   += OnAttackCompleted;
        _weaponSystem.AttackDeactivated += OnAttackDeactivated;
        _input.JumpPressed            += OnJumpPressed;
        _input.DashPressed            += OnDashPressed;
        _input.AttackPressed          += OnAttackPressed;
        _groundDetector.FoundCollider += OnFoundGround;
        _weaponSystem.HitOther        += OnHitOther;

        _hitDamageable = false;
        // start at normal fall speed
        _movement.SetGravityScale(1);

        _isInitialAttack = true;
        Attack();
        _isInitialAttack = false;
    }