ProjectStorms.Countermeasures.SpawnMissile C# (CSharp) Method

SpawnMissile() public method

public SpawnMissile ( ) : void
return void
        void SpawnMissile()
        {
            //Local offset
            Vector3 localOffset = new Vector3 (0, 0, 22);
            Vector3 worldOffest = m_trans.rotation * localOffset;
            Vector3 spawnPos = m_trans.position + worldOffest;

            //Loop and find the first non-active missile
            for (int i = 0; i < missiles.Count; i++)
            {
                if (!missiles[i].activeInHierarchy)
                {
                    // Rumble the controller
                    InputManager.SetControllerVibrate(gameObject.tag, 0.3f, 0.3f, 0.2f, false);

                    // Go on cooldown
                    missileCooldown = powerUpCooldown;

                    //missiles[i].transform.position = spawnOffset;
                    //missiles[i].transform.position = port.transform.position;
                    missiles[i].transform.position = spawnPos;
                    missiles[i].transform.rotation = m_trans.rotation;
                    missiles[i].SetActive(true);
                    if (m_tarLock != null)
                    {
                        MissileFlight missileScript = missiles[i].GetComponent<MissileFlight>();
                        missileScript.SetTarget(m_tarLock.GetTarget(), m_tarLock.maximumTarDist);

                        //Send the Return to sender value
                        missileScript.WhoShotMe(gameObject);

                        //Trigger the announcer text
                        string faction = "NONAME";
                        string targetTag = null;

                        Transform warnTarget = m_tarLock.GetTarget();

                        //Check the target Airship's faction

                        if (warnTarget != null)
                        {
                            if (warnTarget.gameObject.GetComponent<FactionIndentifier>() != null)
                            {
                                faction = warnTarget.gameObject.GetComponent<FactionIndentifier>().factionName;
                                targetTag = warnTarget.gameObject.GetComponent<FactionIndentifier>().gameObject.tag;

                                announcerText.LockOn(faction, targetTag);
                            }
                        }
                    }

                    //Don't forget to break loop
                    break;
                }
            }
        }