Example #1
0
    protected override void ComputeVelocity()
    {
        move = Vector2.zero;

        if (isControllingLaser)
        {
            //Special stuff for lasering
            // player control switches to geyser
            // do nothing?
        }
        else if (isAttacking && !canMoveWhileAttacking)
        {
            attackMovementDelegate?.Invoke();
        }
        else if (isAttacking && canMoveWhileAttacking)
        {
            DetectBasicHorizontalMovement();
            attackMovementDelegate?.Invoke();
        }
        else
        {
            DetectBasicHorizontalMovement();
            DetectJump();

            DetectDash();
        }


        targetVelocity = move * maxSpeed;
    }