示例#1
0
 /// <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);
     }
 }
示例#2
0
    // 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);
        }
    }