Independence for scripts in clones?

Simply put, I am building up a set of tiles, randomly made up of 25 tiles picked from a "pool" of 7 tile types. These are then instantiated from tile prefabs (1 prefab per type). Each tile has a basic "Tile" script that holds things like the ID of the tile, it's color, and so on.

I thought that since each prefab is a clone, that if I put something like

void Update(){
   if (Input.GetMouseButtonDown(0)) {
       Debug.Log("Tile ID clicked: " + tileID.toString());
}

that each clone would have it's own script instance, and if you clicked on, for instance, tile 10 (tileID=10), the above would produce "Tile ID clicked: 10".

But when I run this, any click, anywhere in the screen seems to call Update() for ALL of the cloned prefabs, in addition to being called even when I am clicking nowhere near the prefabs. So, if I have 5 tiles cloned, I get: "Tile ID clicked: 1 Tile ID clicked: 2 Tile ID clicked: 3 Tile ID clicked: 4 Tile ID clicked: 5"

Is it possible to only call the script on the particular clone that was clicked?

--Gray

You're using Input.GetMouseButtonDown, which just tells you if the mouse button is pressed, nothing else. Presumably you're looking for the OnMouseDown function instead.