counting the buttons clicks

Hi,

I have this code that counts every click i make and after 16 clicks changes the scene(wich i want)

using UnityEngine;
using System.Collections;




public class Counter : MonoBehaviour {





	int counter=0;

	void OnGUI()
	{
		GUI.Label (new Rect (40, 20, 200, 50), "COUNTER: " + counter); {

			if (counter >= 16) {
				Application.LoadLevel("win_scene");
			}

		}
	}

		
	void Update() {

	if (Input.GetMouseButtonDown(0))
		counter ++; 
	}

		
}

The problem is that i want the count only the buttons.

I.E. I have a grid of 28 buttons and i want after selecting 16 random of them to change the scene.

with this code it doesan t matter where i click eighter if is on the button or on the screen it counts and when it reaches 16 the scree is changing.

Please help me how to make the code in order to change the scene only after the counter counts 16 button clicks. I’m new in unity and CSharp.

Sorry for my english. Thank you in advance.

Input.GetMouseButtonDown(0) returns true if the left mouse button is clicked. It doesn’t matter where you click, because the method returns true.

You have to create an UI button and attach a method to it. Every UI button has an event which can call a function. There, you want to increment the click count.

You create a method called ButtonClick()

public void ButtonClick()
{
      counter++;
}

You add this method inside unity editor, in the button component of the UI Button. Then you check if the counter is equal to 16 and if so, you change the scene.

void Update() 
{
      if (counter == 16)
      {
            // this is obsolete 
           // Application.LoadLevel("win_scene");

            SceneManager.LoadScene("win_scene");
      }
}

More information about the UI Button is here.

More information about the Load Scene is here.

Thank you very very much you helped me a lot thank you very much.