How to make a game start when i click mouse

Then i start my game my game is start
i want my game pause first and when i click mouse my game is play
how can i do that
and if i lose, win i can click mouse to play again
help me pls
thanks you

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Analytics;
using UnityEngine.UI;

public class FishingMiniGame : MonoBehaviour
{

    [SerializeField] Transform topPivot;
    [SerializeField] Transform bottomPivot;

    [SerializeField] Transform fish;

    float fishPosition;
    float fishDestination;

    float fishTimer;
    [SerializeField] float timeMultiplicator = 3f;

    float fishSpeed;
    [SerializeField] float smoothMotion = 1f;

    [SerializeField] Transform hook;
    float hookPosition;
    [SerializeField] float hookSize = 0.1f;
    [SerializeField] float hookPower = 0.5f;
    float hookProgress;
    float hookPullVelocity;
    [SerializeField] float hookPullPower = 0.01f;
    [SerializeField] float hookGravityPower = 0.005f;
    [SerializeField] float hookProgressDegradationPower = 0.1f;

    [SerializeField] SpriteRenderer hookSpriteRenderer;

    [SerializeField] Transform progressBarContainer;

    bool pause = false;

    [SerializeField] float failTimer = 10f;

    public GameObject textPoint;
    public int theScore;



    private void Start()
    {

        Resize();
        //GameEventManager.GameStart += GameStart;
        //GameEventManager.GameOver += Lose;
    }
   /* private void GameStart()
    {
        enabled = true;
    }*/

        private void Resize()
    {
        Bounds b = hookSpriteRenderer.bounds;
        float ySize = b.size.y;
        Vector3 ls = hook.localScale;
        float distance = Vector3.Distance(topPivot.position, bottomPivot.position);
        ls.y = (distance / ySize * hookSize);
        hook.localScale = ls;
    }

    private void Update()
    {
        /*if (Input.GetMouseButton(0))
        {
            GameEventManager.TriggerGameStart();
        }*/
        if (pause) { return; }
        Fish();
        Hook();
        ProgressCheck();
    }

    private void ProgressCheck()
    {
        Vector3 ls = progressBarContainer.localScale;
        ls.y = hookProgress;
        progressBarContainer.localScale = ls;

        float min = hookPosition - hookSize / 2;
        float max = hookPosition + hookSize / 2;



        if (min < fishPosition && fishPosition < max)
        {
            hookProgress += hookPower * Time.deltaTime;
        }
        else
        {
            hookProgress -= hookProgressDegradationPower * Time.deltaTime;

            failTimer -= Time.deltaTime;

        }

        if (hookProgress >= 1f)
        {
            Win();
        }
        else if ( hookProgress < 0f && failTimer <= 0f)
            {
            // GameEventManager.TriggerGameOver();
            Lose();
            }

        hookProgress = Mathf.Clamp(hookProgress, 0f, 1f);


    }

    private void Lose()
    {
        pause = true;
        Debug.Log("You Lose!");
       // enabled = false;

    }

    private void Win()
    { 
        pause = true;
        theScore += 1;
        textPoint.GetComponent<Text>().text = "Score : " + theScore;
        Debug.Log("You Win!");
        
    }




    void Hook()
    {
        if (Input.GetMouseButton(0))
        {
            hookPullVelocity += hookPullPower * Time.deltaTime;
        }
        hookPullVelocity -= hookGravityPower * Time.deltaTime;


        hookPosition += hookPullVelocity;

        if (hookPosition - hookSize / 2 <= 0f && hookPullVelocity < 0f)
        {
            hookPullVelocity = 0f;
        }
        if(hookPosition + hookSize / 2 >= 1f && hookPullVelocity > 0f)
        {
            hookPullVelocity = 0f;
        }
        hookPosition = Mathf.Clamp(hookPosition, hookSize / 2, 1 - hookSize / 2);
        hook.position = Vector3.Lerp(bottomPivot.position, topPivot.position, hookPosition);
    }
    void Fish()
    {
        fishTimer -= Time.deltaTime;
        if (fishTimer < 0f)
        {
            fishTimer = UnityEngine.Random.value * timeMultiplicator;

            fishDestination = UnityEngine.Random.value;
        }

        fishPosition = Mathf.SmoothDamp(fishPosition, fishDestination, ref fishSpeed, smoothMotion);
        fish.position = Vector3.Lerp(bottomPivot.position, topPivot.position, fishPosition);

    }
}

Make a second scene. Call it StartUp and put a button in the middle of it. When the button is clicked, load the game scene and the game starts. At the end of the game, just load the StartUp scene again.
Be sure to place the StartUp scene as the first in the build list so it loads first when starting the project.