void Respawn() { StartCoroutine(AsteraX.FindRespawnPointCoroutine(transform.position, RespawnCallback)); OffScreenWrapper wrapper = GetComponent <OffScreenWrapper>(); if (wrapper != null) { wrapper.enabled = false; } transform.position = new Vector3(10000, 10000, 0); }
void Respawn() { #if DEBUG_PlayerShip_RespawnNotifications Debug.Log("PlayerShip:Respawn()"); #endif StartCoroutine(AsteraX.FindRespawnPointCoroutine(transform.position, RespawnCallback)); OffScreenWrapper wrapper = GetComponent <OffScreenWrapper>(); if (wrapper != null) { wrapper.enabled = false; } transform.position = new Vector3(10000, 10000.0); }
void Respawn() { #if DEBUG_PlayerShip_RespawnNotifications Debug.Log("PlayerShip:Respawn()"); #endif StartCoroutine(AsteraX.FindRespawnPointCoroutine(transform.position, RespawnCallback)); // Initially, I had made the gameObject inactive, but this caused the // coroutine called above to never return from yield! //gameObject.SetActive(false); // Now, instead, I turn off the OffScreenWrapper and move the GameObject // outside the play area until RespawnCallback is called. OffScreenWrapper wrapper = GetComponent <OffScreenWrapper>(); if (wrapper != null) { wrapper.enabled = false; } transform.position = new Vector3(10000, 10000, 0); }