// Use this for initialization void Start() { myRenderer = GetComponent <Renderer> (); gameInstance = GetComponentInParent <BreakerBehaviour> (); bat = GameObject.FindGameObjectsWithTag("Bat")[0].GetComponent <BatBehaviour>(); lastUpdate = Time.fixedTime; Reset(); }
private void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.tag == "Enemy") { BatBehaviour tempBat = collision.collider.GetComponentInParent <BatBehaviour>(); if (tempBat != null) { Debug.Log("A bat killed a part of Frank"); DestroyBodyPart(); tempBat.WingSnapped(); } } }
// Update is called once per frame void Update() { parentBatBehaviour = GetComponentInParent <BatBehaviour>(); if (!animCancel) { GetComponent <Transform>().localEulerAngles = new Vector3(0, 0, angleOffset + ((Mathf.Sin(Time.time * flapFrequency) + 1) / 2) * flapMaxAngle); } if (wingHp <= 0) { WingSnap(); } }
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. }