private void OnTriggerEnter2D(Collider2D collision) { Debug.Log("CRUSHED"); InanimateObject obj = collision.gameObject.GetComponent <InanimateObject>(); //animator.SetTrigger("die"); if (obj && obj.IsFalling()) { // Vector3 scale = mushroom_t.localScale; //Debug.Log(scale); // scale.y /= 10; //Debug.Log("new: "+scale); //mushroom.transform.localScale = scale; // mushroom.transform.localPosition += new Vector3(0f,mushroom_t.localPosition.x,0f); animator.SetTrigger("die"); audioSource.Stop(); particle.Stop(); audioSource.volume = 1f; audioSource.PlayOneShot(death); blood.Play(); Physics2D.IgnoreCollision(collision, GetComponent <Collider2D>()); } }
private void OnCollisionExit2D(Collision2D collision) { InanimateObject obj = collision.gameObject.GetComponent <InanimateObject>(); if (obj) { animator.SetBool("attact", true); } }
private void OnTriggerEnter2D(Collider2D collision) { Debug.Log("CRUSHED"); InanimateObject obj = collision.gameObject.GetComponent <InanimateObject>(); if (obj && obj.IsFalling()) { player.die(); Physics2D.IgnoreCollision(collision, GetComponent <Collider2D>()); } }
private void OnCollisionEnter2D(Collision2D collision) { InanimateObject obj = collision.gameObject.GetComponent <InanimateObject>(); if (obj) { animator.SetBool("attact", false); } if (collision.gameObject.CompareTag("Player")) { playerController player = collision.gameObject.GetComponent <playerController>(); player.die(); } }
private void OnCollisionEnter2D(Collision2D collision) { Physics2D.IgnoreCollision(GetComponent <Collider2D>(), collision.collider); ContactPoint2D contact = collision.GetContact(0); if (contact.collider.gameObject.CompareTag(ReflectorTag)) { m_shotDirection = Vector2.Reflect(m_shotDirection, contact.normal); m_shotDirection.Normalize(); } else { // reflect.Play(); reflect_particle particle = Instantiate(reflect.GetComponent <reflect_particle>()); particle.transform.parent = collision.gameObject.transform; particle.transform.localScale = Vector3.one; particle.transform.position = collision.contacts[0].point + collision.contacts[0].normal * 0.01f; float cosTheta = Vector3.Dot(collision.contacts[0].normal, Vector3.up); float theta = Mathf.Acos(cosTheta); Debug.Log(theta); particle.transform.rotation = Quaternion.Euler(-90 - theta * 180 / Mathf.PI, 90, -90); particle.Play(); //reflect.GetComponent<reflect_particle>().play(); //Debug.Log("shoot" + " : " + reflect.isPlaying); InanimateObject obj = contact.collider.gameObject.GetComponent <InanimateObject>(); if (obj) { obj.ApplyGravity(m_gravityDirection); } killTime = m_timeAlive; m_shotDirection = Vector3.zero; GetComponent <Collider2D>().enabled = false; } }