Double jump 2D Platformer

I did a platformer game and i using the character and cript from Unity 2D Platformer game but i couldn’t double jump function. I tried adding but it was not. Can you help me for this fucntion i will give the script.

using UnityEngine;
using System.Collections;
using TouchControlsKit;

public class PlayerControl : MonoBehaviour
{
	[HideInInspector]
	public bool facingRight = true;			// For determining which way the player is currently facing.
	[HideInInspector]
	public bool jump = false;				// Condition for whether the player should jump.
	[HideInInspector]
	public bool grounded = false;			// Whether or not the player is grounded.
	static bool GetButtonDown;
	public float moveForce = 365f;			// Amount of force added to move the player left and right.
	public float maxSpeed = 5f;				// The fastest the player can travel in the x axis.
	public AudioClip[] jumpClips;			// Array of clips for when the player jumps.
	public float jumpForce = 1000f;			// Amount of force added when the player jumps.
	private Transform groundCheck;			// A position marking where to check if the player is grounded.
	private Animator anim;					// Reference to the player's animator component.

	bool doubleJump = false;


	void Awake()
	{
		// Setting up references.
		groundCheck = transform.Find("groundCheck");
		anim = GetComponent<Animator>();

	}


	void Update()
	{
		// The player is grounded if a linecast to the groundcheck position hits anything on the ground layer.
		grounded = Physics2D.Linecast(transform.position, groundCheck.position, 1 << LayerMask.NameToLayer("Ground"));

		// If the jump button is pressed and the player is grounded then the player should jump.
		if(InputManager.GetButtonDown("Button0") && grounded || !doubleJump)
			jump = true;

	}


	void FixedUpdate ()
	{
		// Cache the horizontal input.
		float h = InputManager.GetAxis("DPad0", "Horizontal");
		h = Mathf.Clamp( h, -1f, 1f );

		// The Speed animator parameter is set to the absolute value of the horizontal input.
		anim.SetFloat("Speed", Mathf.Abs(h));

		// If the player is changing direction (h has a different sign to velocity.x) or hasn't reached maxSpeed yet...
		if(h * GetComponent<Rigidbody2D>().velocity.x < maxSpeed)
			// ... add a force to the player.
			GetComponent<Rigidbody2D>().AddForce(Vector2.right * h * moveForce);

		// If the player's horizontal velocity is greater than the maxSpeed...
		if(Mathf.Abs(GetComponent<Rigidbody2D>().velocity.x) > maxSpeed)
			// ... set the player's velocity to the maxSpeed in the x axis.
			GetComponent<Rigidbody2D>().velocity = new Vector2(Mathf.Sign(GetComponent<Rigidbody2D>().velocity.x) * maxSpeed, GetComponent<Rigidbody2D>().velocity.y);

		// If the input is moving the player right and the player is facing left...
		if(h > 0 && !facingRight)
			// ... flip the player.
			Flip();
		// Otherwise if the input is moving the player left and the player is facing right...
		else if(h < 0 && facingRight)
			// ... flip the player.
			Flip();

		// If the player should jump...
		if(jump)
		{
			// Set the Jump animator trigger parameter.
			anim.SetTrigger("Jump");

			// Play a random jump audio clip.
			int i = Random.Range(0, jumpClips.Length);
			AudioSource.PlayClipAtPoint(jumpClips*, transform.position);*
  •  	// Add a vertical force to the player.*
    

_ GetComponent().AddForce(new Vector2(0f, jumpForce * 1.5f));_

  •  	// Make sure the player can't jump again until the jump conditions from Update are satisfied.*
    
  •  	jump = false;*
    
  •  }*
    
  • }*

  • public void Flip ()*

  • {*

  •  // Switch the way the player is labelled as facing.*
    
  •  facingRight = !facingRight;*
    
  •  // Multiply the player's x local scale by -1.*
    
  •  Vector3 theScale = transform.localScale;*
    

_ theScale.x *= -1;_

  •  transform.localScale = theScale;*
    
  • }*
    }

in line 74 it looks like you forgot to write if (jump = true) idk, im really new to programming.

I have a 2D platformer script with a double jump i made a few weeks ago:

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

public class ArcherMovement : MonoBehaviour
{
    public float movespeed;
    public float jumpforce;

    public int maxjumps = 2;
    public int jumps;

    void Update()
    {
        LeftRight();
        Jump();
    }

    void LeftRight()
    {
        if (Input.GetKey("d") || (Input.GetKey("right")))
        {
            transform.Translate (new Vector3 (1, 0) * movespeed * Time.deltaTime);
        }

        if (Input.GetKey("a") || (Input.GetKey("left")))
        {
            transform.Translate (new Vector3 (1, 0) * -movespeed * Time.deltaTime);
        }
    }

    void Jump()
    {
        if (Input.GetKeyDown("w") || (Input.GetKeyDown("space")))
        {
            if (jumps > 0)
            {
                gameObject.GetComponent<Rigidbody2D> ().AddForce (new Vector2 (0, jumpforce), ForceMode2D.Impulse);
                jumps = jumps - 1;
            }

            if (jumps == 0)
            {
                return;
            }
        }
    }

    void OnCollisionEnter2D(Collision2D collide)
    {
        if (collide.gameObject.tag == "Ground")
        {
            jumps = maxjumps;
        }
    }
}

I dont know if this fits in your game, but you can use it if you want.