IEnumerator BeginTheRapture(float time) { inPosition = true; ToggleBeam(true); scr_moveRednecks script = targetedRedneck.transform.GetComponent <scr_moveRednecks>(); script.BeginTheRapture(); yield return(new WaitForSeconds(time)); Debug.Log("Name: " + targetedRedneck.name); redneckList.Remove(targetedRedneck); transform.GetComponent <Rigidbody2D>().velocity = Vector3.zero; targetedRedneck = null; Destroy(targetedRedneck); scr_godController.gameController.AdjustRedneckCounts(-1); ToggleBeam(false); runChecks = true; isRapturing = false; targetedRedneck = null; inPosition = false; }
void Update() { if (startShip == true) { if (didSetupShip == false) { redneckList = new List <GameObject> (); GameObject[] redneckArray = GameObject.FindGameObjectsWithTag("spr_redneck"); foreach (GameObject redneck in redneckArray) { redneckList.Add(redneck); } didSetupShip = true; } if ((runChecks == true) && (isRapturing == false)) { if ((redneckList != null) && (redneckList.Count > 0)) { targetedRedneck = null; foreach (GameObject redneck in redneckList) { redneckDistance = Vector2.Distance(transform.transform.position, redneck.transform.position); if (targetedRedneck == null) { targetedRedneck = redneck; targetedRedneckDistance = redneckDistance; } else if (redneckDistance < targetedRedneckDistance) { targetedRedneck = redneck; targetedRedneckDistance = redneckDistance; } else { // Debug.Log("Staying on target"); } } transform.GetComponent <Rigidbody2D>().velocity = Vector3.zero; targetPosition = new Vector3(targetedRedneck.transform.position.x, (targetedRedneck.transform.position.y - (targetedRedneck.transform.localScale.y * 0.5f)), transform.position.z); transform.position = Vector3.MoveTowards(transform.position, targetPosition, speedControl); // targetedRedneckDistance = 10000.0f; } } if (targetedRedneck != null) { if (isRapturing == false) { transform.position = Vector3.MoveTowards(transform.position, targetPosition, speedControl); if ((transform.position == targetPosition) && (inPosition == false) && (isRapturing == false)) { scr_moveRednecks script = targetedRedneck.transform.GetComponent <scr_moveRednecks>(); script.ClearPath(); isRapturing = true; StartCoroutine(BeginTheRapture(1.0f)); } } } } }