Чтобы проверить, был ли объект уничтожен, вы должны использовать MonoBehavior's OnDestroy
, например, так:
// Attach this script to the player object
public class DeadOrAlive : MonoBehaviour
{
public GameObject deadPanel;
void OnDestroy()
{
deadPanel.SetActive(true);
}
}
Вы также можете вместо того, чтобы уничтожать объект игрока, установить его активным / неактивным, ночтобы проверить, является ли игрок мертвым или живым таким образом, вам понадобится отдельный объект, который проверяет активное состояние:
//Attach this to a object which isn't a child of the player, maybe a dummy object called "PlayerMonitor" which is always active
public class DeadOrAlive : MonoBehaviour
{
public GameObject deadPanel;
void Update()
{
if (!GameObject.FindWithTag("Player"))
{
deadPanel.SetActive(true);
}
}
}
Некоторое время не использовал единицы и забыл, как странно это может получиться.