Random Prefab Problem

Hello There,

I’m doing a project, When we first open the project, spawn 6 (3 down , 3 up) prefabs with random colors. Order positions (for down) (x,y) > (1,0,0), (2,0,0), (3,0,0) - (for up) (1,3,0), (2,3,0), (3,3,0) And then spawn a main prefab with random pisition. These are works without problems. After, i get prefabs with void in foreach (get prefabs with tag name) and set prefab’s sprite to random sprite and add to List funtion, the List clear every void start. But main prefab is not add to list. But my problem, from the upper prefabs and down prefabs, I can’t make one of them is the same as the main prefabs of someone at random. (Sorry for bad english)

alt text

I’ve made a some progress…

public void ResetBarrierSprites()
	{
		barrierList.Clear();
		GameObject tile = GameObject.FindGameObjectWithTag ("Tile");
		GameObject[] barriers = GameObject.FindGameObjectsWithTag ("Barrier");
		SpriteRenderer SRforTile = tile.transform.gameObject.GetComponent<SpriteRenderer>();

		foreach (GameObject barrier in barriers)
		{
			SpriteRenderer SRforBRR = barrier.transform.gameObject.GetComponent<SpriteRenderer>();

			randomSpriteWhite = Random.Range (0, spriteWhites.Length);
			randomSpriteBlack = Random.Range (0, spriteBlacks.Length);

			float chance = Random.Range(0f, 1.00f);
			if (chance >= 0.50f) {
				SRforBRR.sprite = spriteWhites[randomSpriteWhite];
			} else {
				SRforBRR.sprite = spriteBlacks[randomSpriteBlack];
			}
			barrierList.Add(barrier);
		}
		float randomX = Random.Range(0, 2);
		foreach (GameObject barrier in barrierList) 
		{ 
			Vector3 barrierPos = barrier.transform.position;
			SpriteRenderer SRforBRR = barrier.transform.gameObject.GetComponent<SpriteRenderer>();
			randomX = Random.Range(0, 2);
			SRforBRR.sprite = SRforTile.sprite;

		}
	}