I have finally ditched the clear area script. While the concept of any open area can be the extraction point the OnTriggerStay simply isn’t reliable. Instead I have created a completely new script for LandingZone, built a small base with a landing pad. Player will have to mildly fight their way to the base, call for extraction, and then hold out for 5 minutes.
public class LandingZone : MonoBehaviour {
private bool callForHelp = false;
private InnerVoice innerVoice;
// Use this for initialization
void Start ()
{
innerVoice = FindObjectOfType<InnerVoice>();
}
private void OnTriggerEnter(Collider other)
{
if (other.tag == "Player" && callForHelp == false)
{
callForHelp = true;
Debug.Log("Trigger activated, calling for Extraction");
innerVoice.OnFindLandingZone();
}
}
}