예제 #1
0
 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);
     }
 }
예제 #2
0
    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);
            }
        }
    }