Работая над игрой, похожей на астероид, когда мой корабль получает удар, он взрывается, и я создаю новый корабль и окружаю его щитом на несколько секунд.Пока корабль окружен щитом, я отключаю столкновения на несколько секунд.Это все работает.Через несколько секунд я скрываю щит (SetActive (false)) и затем устанавливаю playerCollider.enabled = true.Щит прячется, но коллайдер не активируется.
код для убитого
public void KilledWaitTime()
{
SetLivesText();
Instantiate(player); //respawns player after killed
shield.SetActive(true);
playerCollider.enabled = false; //disables collider while shield up.
Debug.Log("collider = " + playerCollider.name);
Debug.Log("player = " + player.name);
Invoke("RemoveShields", 3);
}
код для снятия щита и повторного включения коллайдера
public void RemoveShields()
{
shield.SetActive(false);
// Collider pc = player.GetComponent<Collider>();
Debug.Log("collider pc = " + playerCollider.name);
Debug.Log("player pc = " + player.name);
playerCollider.enabled = true;
}