void OnTriggerExit2D(Collider2D other) //Groupie exits the range of a speaker { if (other.gameObject.tag == "Destroy") { ObjectsInRange.Remove(other.gameObject); } else if (other.gameObject.tag == "Note") //Note Exits the range of the speaker, { Debug.Log("DestroyGroup"); Destroy(other.gameObject); //does not work maybe because note never collides //with speaker to begin with } if (this.gameObject.tag == "BarAoE") { Groupie_Behaviour gScript = other.GetComponent <Groupie_Behaviour>(); gScript.moveSpeed *= slowing; //other.gameObject.moveSpeed -= 0.5; } if (this.gameObject.tag == "Upgrade") { Groupie_Behaviour gScript = other.GetComponent <Groupie_Behaviour>(); if (gScript != null) { gScript.moveSpeed *= slowing; } //other.gameObject.moveSpeed -= 0.5; } if (other.gameObject.tag == "BeerAoE" && this.gameObject.tag == "Upgrade") { Destroy(other.gameObject); } }
IEnumerator Fire() { allowFire = false; GameObject newNote = (GameObject)Instantiate(Note, new Vector3(transform.position.x, transform.position.y, transform.position.z), Quaternion.identity); GameObject groupie = ObjectsInRange.FirstOrDefault(); if (groupie == null) { allowFire = true; } else { Groupie_Behaviour gScript = groupie.GetComponent <Groupie_Behaviour> (); if (gScript.drunk && this.gameObject.tag == "BarShootStraight") { ObjectsInRange.Remove(groupie); newNote.GetComponent <Note> ().target = ObjectsInRange.FirstOrDefault(); } else { newNote.GetComponent <Note> ().target = ObjectsInRange.FirstOrDefault(); } newNote.GetComponent <Note> ().initialPos = new Vector3(transform.position.x, transform.position.y, transform.position.z); newNote.GetComponent <Note> ().radius = this.GetComponent <CircleCollider2D> ().radius; yield return(new WaitForSeconds(fireRate)); allowFire = true; } }
void OnTriggerEnter2D(Collider2D other) //Groupie enters the range of a speaker { if (other.gameObject.tag == "Destroy") { ObjectsInRange.Add(other.gameObject); } if (this.gameObject.tag == "BarAoE") { Groupie_Behaviour gScript = other.GetComponent <Groupie_Behaviour>(); gScript.moveSpeed /= slowing; StartCoroutine(SpillBeer()); //other.gameObject.moveSpeed -= 0.5; } if (this.gameObject.tag == "Upgrade") { Groupie_Behaviour gScript = other.GetComponent <Groupie_Behaviour>(); if (gScript != null) { gScript.moveSpeed /= slowing; } } }