I have a GUILayer script which shows some adjustment settings and I would like to be able to close the GUILayer box with a button. I’ve searched for solutions but can’t find one for my script.

using UnityEngine;
using System.Collections;

public class MolnGUI : MonoBehaviour
{
	public bool showBox = true;
    public Moln moln;

    public Rect rect = new Rect(-3, -3, 300, 450+6);
    public const float label_width = 150;
	 
    protected void OnEnable()
    {
        if (!moln)
        {
            Debug.LogError("Moln instance reference not set. Disabling script.");
            this.enabled = false;
		}		
    }
	
    protected void OnGUI()
    {
        GUILayout.BeginArea(rect, "", "Box");
        GUILayout.BeginVertical();
        GUILayout.FlexibleSpace();

        GUILayout.BeginHorizontal();
        GUILayout.FlexibleSpace();
        GUILayout.Label("CYCLE");
        GUILayout.FlexibleSpace();
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        GUILayout.Label("Base Color", GUILayout.Width(label_width));
        float cloud= GUILayout.HorizontalSlider(moln.Night.Color.r, 0, 1);
        moln.Night.Color = new Color(cloud);
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        GUILayout.FlexibleSpace();
        GUILayout.Label("CLOUDS");
        GUILayout.FlexibleSpace();
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        GUILayout.Label("Tone / Shading", GUILayout.Width(label_width));
        moln.Clouds.Tone = GUILayout.HorizontalSlider(moln.Clouds.Tone, 0, 2);
        moln.Clouds.Shading = GUILayout.HorizontalSlider(moln.Clouds.Shading, 0, 1);
        GUILayout.EndHorizontal();

        GUILayout.FlexibleSpace();
        GUILayout.EndVertical();
        GUILayout.EndArea();
    }
	
}

Would really appreciate some guidance!

protected void OnGUI()
{
if (!showBox)
return;

...

  if (GUILayout.Button ("Close"))
    showBox = false;
}