예제 #1
0
    void OnTriggerEnter(Collider other)
    {
        //on colliding destroy rocks after its life time
        Destroy(gameObject, rockLifeTime);

        if (other.gameObject.tag.Equals("Destructible"))
        //if (other.tag == "Enemy")
        {
            //play on hit sound
            FindObjectOfType <PlayerSFX>().PlayOnHit();

            dest = other.GetComponent <DestructibleSpawn>();
            dest.spawnRandomItem();
            Destroy(other.gameObject);
        }
        else if (other.gameObject.tag.Equals("Goblin"))//goblin should play death animation
        {
            //play on hit sound
            FindObjectOfType <PlayerSFX>().PlayOnHit();

            goblin = other.gameObject.GetComponent <GoblinBehaviour>();
            goblin.IncrementHits(rockStrength);           //2 hits to kill goblin
            GetComponent <BoxCollider>().enabled = false; //Removing hit collider so it only hits target once.
        }
        else if (other.gameObject.tag.Equals("Pirate"))
        {
            //play on hit sound
            FindObjectOfType <PlayerSFX>().PlayOnHit();

            pirate = other.gameObject.GetComponent <PirateBehaviour>();
            pirate.IncrementHits(rockStrength);//3 hits to kill pirate
            GetComponent <BoxCollider>().enabled = false;
        }
        else if (other.gameObject.tag.Equals("Parrot"))
        {
            //play on hit sound
            FindObjectOfType <PlayerSFX>().PlayOnHit();

            parrot = other.gameObject.GetComponent <ParrotBehaviour>();
            parrot.IncrementHits(rockStrength);//1 hit to kill parrot
            GetComponent <BoxCollider>().enabled = false;
        }
        else if (other.gameObject.tag.Equals("Bat"))
        {
            //play on hit sound
            FindObjectOfType <PlayerSFX>().PlayOnHit();

            bat = other.gameObject.GetComponent <BatBehaviour>();
            bat.IncrementHits(rockStrength);//1 hit to kill bat
            GetComponent <BoxCollider>().enabled = false;
        }
        else if (other.gameObject.tag.Equals("Kraken"))
        {
            other.gameObject.GetComponent <KrakenBehaviour>().IncrementHits(rockStrength);
            GetComponent <BoxCollider>().enabled = false;
        }
        else if (other.gameObject.tag == "Bomb")
        {
            Destroy(other.gameObject);
        }
        //need to check for hits in goblin/ specific enemy instead - as following line disables above behaviors (eg. no longer destroy enemy on hit)
        //GetComponent<BoxCollider>().enabled = false; //Removing hit collider so it only hits target once.
    }
예제 #2
0
 // Setters
 public void SetSpawner(DestructibleSpawn spawner)
 {
     this.spawner = spawner;
 }