Activate Void update if with UI Button

As the title said i want to activate a void update if with a UI button.

public class PauseMenuC : MonoBehaviour {

	public GameObject PauseUI1;
	public GameObject PauseUI2;
	public GameObject MoveButtonUp;
	public GameObject MoveButtonDown;
	public GameObject MoveButtonLeft;
	public GameObject MoveButtonRight;
	public GameObject NormalShot;
	public GameObject TrippleShot;
	public GameObject Bessie;
	public GameObject ShieldActivate;
	public bool paused = false;
	
	void Update () {

		if (Input.GetKeyDown("p") && paused == false)
		{
			paused = true;
			Time.timeScale = 0;
			PauseUI1.SetActive(true);
			PauseUI2.SetActive(true);
			MoveButtonUp.SetActive(false);
			MoveButtonDown.SetActive(false);
			MoveButtonLeft.SetActive(false);
			MoveButtonRight.SetActive(false);
			NormalShot.SetActive(false);
			TrippleShot.SetActive(false);
			Bessie.SetActive(false);
			ShieldActivate.SetActive(false);
		}
		else if (Input.GetKeyDown("p") && paused == true)
		{
			paused = false;
			Time.timeScale = 1;
			PauseUI1.SetActive(false);
			PauseUI2.SetActive(false);
			MoveButtonUp.SetActive(true);
			MoveButtonDown.SetActive(true);
			MoveButtonLeft.SetActive(true);
			MoveButtonRight.SetActive(true);
			NormalShot.SetActive(true);
			TrippleShot.SetActive(true);
			Bessie.SetActive(true);
			ShieldActivate.SetActive(true);
		}
	}
}

You can turn features on and off in the Update method by controlling them with booleans, this is what I’d do:

bool paused;

    void Update()
    {
        if (Input.GetKeyDown("P"))
        {
            paused = !paused;
            PauseMethod();
        }        
    }

    void PauseMethod()
    {
        float timeScale = 1;
        if (paused)
            timeScale = 0;

        Time.timeScale = timeScale;
        PauseUI1.SetActive(paused);
        PauseUI2.SetActive(paused);
        MoveButtonUp.SetActive(!paused);
        MoveButtonDown.SetActive(!paused);
        MoveButtonLeft.SetActive(!paused);
        MoveButtonRight.SetActive(!paused);
        NormalShot.SetActive(!paused);
        TrippleShot.SetActive(!paused);
        Bessie.SetActive(!paused);
        ShieldActivate.SetActive(!paused);
    }