не срабатывает скрипт при удалении одного объекта

я хотел что бы при смерти игрока появлялся через не большой промежуток времени "game over", и уничтожался сам игрок. НО, наверное как обычно по моей тупой ошибке, когда я хочу убрать игрока при смерти не появляется "game over". код:

public GameObject effect1;
public GameObject effect2;
public GameObject player;
public GameObject game_over;

void OnTriggerEnter2D(Collider2D other)
{


Instantiate(effect1, transform.position, Quaternion.identity);
Instantiate(effect2, transform.position, Quaternion.identity);
if (other.CompareTag("damage"))
{
    StartCoroutine(wait());

    IEnumerator wait()
    {
        yield return new WaitForSeconds(1f);

        game_over.SetActive(true);

    }

    Destroy(player);

}

так же я пытался заменить destroy на SetActive, но так же как и с destroy игрок пропадал, а "game over" не появлялся:

void OnTriggerEnter2D(Collider2D other)
{


if (other.CompareTag("damage"))
{
    StartCoroutine(wait());

    IEnumerator wait()
    {
        yield return new WaitForSeconds(1f);

        game_over.SetActive(true);

    }

    player.SetActive(false);

}


}

скорее всего я тут опять совершил какую то тупую ошибку, которую я не вижу в упор. буду благодарен за помощь)


Ответы (0 шт):