Example #1
0
 public void OnTriggerEnter(Collider other)
 {
     if (!isPressed && other.tag == "Player")
     {
         isPressed = true;
         if (door)
         {
             door.Open();
         }
     }
 }
Example #2
0
    void OnTriggerEnter2D(Collider2D collider)
    {
        if (!leftPlayer)
        {
            leftPlayer = true;
            return;
        }

        if (genericHitNoise)
        {
            audio.PlayOneShot(genericHitNoise, genericHitNoiseVolume);
        }

        GameObject other = collider.gameObject;

        switch (other.tag)
        {
        case "Door":
            DoorLogic dl = other.GetComponent <DoorLogic>();
            if (dl.colour == this.colour)
            {
                dl.Open();
                Die();
            }
            else
            {
                if (bounceOnWrongDoors)
                {
                    this.Bounce();
                }
                else
                {
                    Die();
                }
            }
            break;

        case "Player":
            CharacterControl cc = other.GetComponent <CharacterControl>();
            cc.Damaged();
            Die();
            break;

        case "Enemy":
            if (hitEnemyNoise)
            {
                audio.PlayOneShot(hitEnemyNoise, hitEnemyNoiseVolume);
            }
            ICanDie icd = other.GetComponent <ICanDie>();
            if (icd)
            {
                icd.Hit(damage);
            }
            Die();
            break;

        case "Projectile":
            // do nothing
            break;

        default:
            if (hitWallNoise)
            {
                audio.PlayOneShot(hitWallNoise, hitWallNoiseVolume);
            }
            Die();
            break;
        }
    }