using System.Collections; using System.Collections.Generic; using UnityEngine; public class Match3TileSelector : MonoBehaviour { public GameObject emptyTile; public GameObject[] tileTypes = new GameObject[0]; public Material[] materialTypes = new Material[0]; private Dictionary tileDict = new Dictionary(); // Start is called before the first frame update void Awake() { for (int i = 0; i < tileTypes.Length; i++) { tileDict.Add(i, tileTypes[i].GetComponent()); } SetActiveTile(0, 0); } public void AllTilesOff() { foreach (var item in tileTypes) { item.SetActive(false); } } public void SetActiveTile(int typeIndex, int matIndex) { if (matIndex == -1) { AllTilesOff(); emptyTile.SetActive(true); return; } else { emptyTile.SetActive(false); for (int i = 0; i < tileTypes.Length; i++) { if (i == typeIndex) { tileTypes[i].SetActive(true); tileDict[i].sharedMaterial = materialTypes[matIndex]; } else { tileTypes[i].SetActive(false); } } } } }