Help me with Double Jump on 2D Game

Hello to everyone.I try to build a 2d game and i have a problem with double jump.Can you help me please?

My code is this

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

public class PlayerController : MonoBehaviour {

	public float maxSpeed;
	public Vector3 respawnPoint;

	bool grounded = false;
	float groundCheckRadius = 0.2f;
	public LayerMask groundLayer;
	public Transform groundCheck;
	public float jumpHeight;

	Rigidbody2D myRB;
	Animator myAnim;
	bool facingRight;

	public Transform gunTip;
	public GameObject bullet;
	float fireRate = 0.5f;
	float nextFire = 0f;

	// Use this for initialization
	void Start () {
		myRB = GetComponent<Rigidbody2D> ();
		myAnim = GetComponent<Animator> ();
		respawnPoint = transform.position;

		facingRight = true;

	}
	
	// Update is called once per frame

	void Update(){
		if (grounded && Input.GetAxis ("Jump") > 0) {
			grounded = false;
			myAnim.SetBool ("isGrounded", grounded);
			myRB.AddForce (new Vector2 (0, jumpHeight));
		}

		if (Input.GetAxisRaw ("Fire1") > 0) fireRocket ();

	}



	void FixedUpdate () {

		grounded = Physics2D.OverlapCircle (groundCheck.position, groundCheckRadius, groundLayer);
		myAnim.SetBool ("isGrounded", grounded);
		myAnim.SetFloat ("VerticalSpeed", myRB.velocity.y);

		float move = Input.GetAxis ("Horizontal");
		myAnim.SetFloat ("speed", Mathf.Abs (move));
		myRB.velocity = new Vector2 (move * maxSpeed, myRB.velocity.y);

		if (move > 0 && !facingRight) {
			flip ();
		} else if (move < 0 &&facingRight) {
			flip ();
	 }
}
	void flip(){
		facingRight = !facingRight;
	    Vector3 theScale = transform.localScale;
		theScale.x *=-1;
		transform.localScale = theScale;  
	}

	void fireRocket(){
		if (Time.time > nextFire) {
			nextFire = Time.time + fireRate;
			if (facingRight) {
				Instantiate (bullet, gunTip.position, Quaternion.Euler (new Vector3 (0, 0, 0)));
			} else if (!facingRight) {
				Instantiate (bullet, gunTip.position, Quaternion.Euler (new Vector3 (0, 0, 180f)));
			}
		}
	}

	void OnTriggerEnter2D(Collider2D other){
		if (other.tag == "cleaner") {
			transform.position = respawnPoint;
		}
		if (other.tag == "Checkpoint") {
			respawnPoint = other.transform.position;
		}

		}
	}

You have to create an integer variable instead of boolean to handle multiple jumps.

int grounded = 2;

if(grounded > 0 && Input.GetKeyDown(KeyCode.Space))
{
	grounded--;
	myAnim.SetBool ("isGrounded", false);
	myRB.AddForce (new Vector2 (0, jumpHeight));
}

if(Physics2D.OverlapCircle (groundCheck.position, groundCheckRadius, groundLayer)) 
{
	grounded = 2;
	myAnim.SetBool ("isGrounded", true);
}

The first line creates an integer, which is set to 2. The ‘if’ statement can be used in the Update() function - this will decrease the ‘grounded’ each time you press Space (if ‘grounded’ equals 0, you can not jump). The second ‘if’ statement can be used in the FixedUpdate() function - this will check if the character is grounded - if so, it will set the grounded to 2 (so it can jump again).