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;
}
}
}