2D movement script error cs1002

hey, I just started on my first official game, and i’m excited. Since I don’t know C# i was following a tutorial on how to make a simple movement script. I keep getting this same error CS1002 (which means I’m missing a semicolon) but I am confused becuase if I add a semicolon where it says to, it will give me more errors, I was hoping to get some professional advice. That being said, the error is on line 47, Help is appreciated

(the tutorial)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerMovement : MonoBehaviour
{
    private float horizontal;
    private float speed = 8f;
    private float jumpinigPower = 16f;
    private bool isFacingRight = true;

    [SerializeField] private Rigidbody2D rb;
    [SerializeField] private Transform groundCheck;
    [SerializeField] private LayerMask groundLayer;
  
    // Update is called once per frame
    void Update()
    {
       horizontal = Input.GetAxisRaw("Horizontal");

       if (Input.GetButtonDown("Jump") && IsGrounded())
       {
        rb.velocity = new Vector2(rb.velocity.x, jumpinigPower);
       }

       if (Input.GetButtonUp("Jump") && rb.velocity.y > 0f)
       {
        rb.velocity = new Vector2(rb.velocity.x, rb.velocity.y * 0.5f);
       }

       Flip();

    }

    private void FixedInput()
    {
        rb.velocity = new Vector2(horizontal * speed, rb.velocity.y);
    }

    private bool IsGrounded()
    {
        return Physics2D.OverlapCircle(groundCheck, 0.2f, groundLayer);
    }

    private void Flip()
    {
        (isFacingRight && horizontal < 0f || !isFacingRight && horizontal > 0f)
        {
            isFacingRight = !isFacingRight;
            Vector3 localScale = transform.localScale;
            localScale.x *= -1f;
            transform.localScale = localScale;
        }
    }
}

youre missing an if

1 Like