У меня есть несколько пустых игровых объектов, которые служат точками порождения, которые порождают игровые объекты, и я хочу, чтобы порожденные игровые объекты были уничтожены, и создаю новый объект в той же точке порождения, если проверяемое условие верно.
У меня есть 2 отдельных скрипта, один из которых прикреплен к объектам точки возрождения, а другой - для игрового менеджера, в котором есть условие.
Условие для скрипта игрового менеджера:
public void checkword()
{
wordBuilded = displayer.text.ToString();
LetterTiles[] tiles = FindObjectsOfType<LetterTiles>();
foreach (LetterTiles item in tiles)
{
if (txtContents.Contains(wordBuilded))
{
if (item.gameObject.CompareTag("clicked"))
{
Destroy(item.gameObject);
FindObjectOfType<letterSpawner>().refresh();
}
}
else
{
if (item.gameObject.CompareTag("clicked"))
item.GetComponent<Button>().interactable = true;
}
}
}
Скрипт, прикрепленный к объектам точек появления, который создает объекты
using UnityEngine;
public class letterSpawner : MonoBehaviour {
public GameObject[] letterTiles;
GameObject tiles;
Vector3 scale = new Vector3(0.8f, 0.8f, 0);
void Start () {
refresh();
}
public void refresh()
{
int rand = Random.Range(0, letterTiles.Length);
tiles = Instantiate(letterTiles[rand], transform.position, Quaternion.identity);
tiles.transform.SetParent(gameObject.transform);
tiles.transform.localScale = scale;
}
}