File size: 1,380 Bytes
05c9ac2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
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<int, MeshRenderer> tileDict = new Dictionary<int, MeshRenderer>();
// Start is called before the first frame update
void Awake()
{
for (int i = 0; i < tileTypes.Length; i++)
{
tileDict.Add(i, tileTypes[i].GetComponent<MeshRenderer>());
}
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);
}
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);
}
}
}
}
}
|