Something like the following. I'd attach it individually to each button and then set "TargetScene" for each as well. This should work for most of them though you'd have to do something slightly different for "Instruction" and "Exit"
public class SceneMenuItemController : MonoBehaviour
{
public string TargetScene;
private float triggerEnterTime = 0;
void OnMouseUpAsButton()
{
if (!string.IsNullOrEmpty(TargetScene))
{
Application.LoadLevel(TargetScene);
}
}
void OnTriggerEnter2D(Collider2D col)
{
triggerEnterTime = Time.time;
}
void OnTriggerStay2D(Collider2D col)
{
// Too soon?
if(Time.time - triggerEnterTime < 3)
{
// Might want to do something to indicate graphically that you're holding
// like a progress bar. For now, simply abort for this frame.
return;
}
if (!string.IsNullOrEmpty(TargetScene))
{
Application.LoadLevel(TargetScene);
}
}
}