/// <summary> /// Checks state of station, changes missile and station variables accordingly, and relaunches missile if necessary /// </summary> /// <param name="target">Station to check for impact</param> public void CheckStation(PlayerStation target) { if (target.Action == "Reflect") { //missle boop bounces++; Launch(target, target.Target); AudioManager.Instance.PlayOneShot("radar_Beep", 1); } else if (target.Action == "Shield") { //missle explosion //GameManager.Instance.missiles.Remove(this); GameManager.Instance.numMissiles--; AudioManager.Instance.PlayOneShot("forcefield_Hit", 1); Destroy(gameObject); } else { //missle and base explosion target.TakeDamage(); GameManager.Instance.numMissiles--; AudioManager.Instance.PlayOneShot("missile_Hit", 1); Explode(); Destroy(gameObject); } }
// Update is called once per frame void Update() { if (inFlight) { TravelArc(); } if (fracComplete >= 1) { CheckStation(destination); } if (bounces > maxBounces) { //GameManager.Instance.missiles.Remove(this); GameManager.Instance.numMissiles--; Explode(); origin.TakeDamage(); Destroy(gameObject); } }