Добрый день! Решил попробовать сделать игру на подобие тетрис. Проблема в следующем: когда плитки падают на дно поля - все ок (появляется одна новая плитка, как и положено), но когда плитки падают друг на друга, как я понимаю, код срабатывает два раза (появляется миллион плиток, так как место спауна у них одно и все крашится нафик). Я попробовал отключить скрипт у той плитки, которая уже упала, но все тщетно. Подскажите, пожалуйста. Соре если тут что-то тупо, я новичок совсем)
Спасибо!
public void OnCollisionEnter2D(Collision2D collision)
{
TilesController script = GetComponent<TilesController>();
Debug.Log("Hit");
speed = 0;
step = 0;
SpawnManager.FindObjectOfType<SpawnManager>().SpawnPiece();
script.enabled = false;
}
На всякий случай скрипт спауна:
public class SpawnManager : MonoBehaviour
{
public GameObject[] tiles = new GameObject[6];
private Vector3 spawnPosition = new Vector3(0, 7, -1);
// Start is called before the first frame update
void Start()
{
SpawnPiece();
}
// Update is called once per frame
void Update()
{
}
public void SpawnPiece()
{
int random = Random.Range(0, tiles.Length);
GameObject _tile = this.tiles[random];
_tile.transform.position = spawnPosition;
Instantiate(_tile);
}
}