private void OnCollisionEnter2D(Collision2D collision) { if (isSpreadable) { FlammableItem otherItem = collision.gameObject.GetComponent <FlammableItem>(); if (otherItem != null) { if (otherItem.OnFire || OnFire) { if (otherItem.OnFire && !OnFire) { OnFire = true; } else if (!otherItem.OnFire && OnFire) { otherItem.OnFire = true; } } } } if (destroyOnCollision) { Destroy(gameObject); } }
void OnCollisionEnter2D(Collision2D collision) { collisionsForForce = Physics2D.OverlapCircleAll(gameObject.transform.position, 2.0f); foreach (Collider2D col in collisionsForForce) { FlammableItem flames = col.gameObject.GetComponent <FlammableItem>(); if (flames != null) { flames.onFire = true; flames.StartFire(); flames.StartCoroutine("ActivateSpreadFire"); } rbForForce = col.GetComponent <Rigidbody2D>(); if (rbForForce != null) { float rngForce = 3.0f; Vector2 force = new Vector2(rngForce, rngForce); rbForForce.AddForce(force, ForceMode2D.Impulse); } } }