void OnTriggerEnter2D(Collider2D c) { if (c.CompareTag("Hookable")) { partManag.SendMessage("generateSalivaSplash", transform.position + offsetToHookPoint); hookedObject = c.gameObject; offsetToHookPoint = transform.position - hookedObject.transform.position; offsetToHookPoint = Quaternion.Inverse(hookedObject.transform.rotation) * offsetToHookPoint; Rigidbody2D hookBody = GetComponent <Rigidbody2D>(); hookBody.isKinematic = true; hookBody.velocity = Vector3.zero; hookGun.HookOn(); GetComponent <CircleCollider2D>().enabled = false; } else if (!TagsToIgnore(c)) { hookGun.CancelHook(); } if (c.CompareTag("Edible")) { Destroy(c.gameObject); hookGun.CancelHook(); } }
IEnumerator Explosion() { respawning = true; playerSprite.SetActive(false); hook.CancelHook(); player.velocity = Vector2.zero; player.isKinematic = true; yield return(new WaitForSeconds(respawnDelay)); player.isKinematic = false; transform.position = Vector2.up; playerSprite.SetActive(true); respawning = false; if (OnRespawn != null) { OnRespawn(); } }
IEnumerator delayedRespawn() { playerSprite.gameObject.SetActive(false); reggieBody.isKinematic = true; ParticleSystem deathAnimation = Instantiate(death, transform.position, Quaternion.identity) as ParticleSystem; yield return(new WaitForSeconds(timeForRespawn)); transform.position = lastSpawn.transform.position; playerSprite.gameObject.SetActive(true); reggieBody.isKinematic = false; Destroy(deathAnimation); hookshot.CancelHook(); }