IEnumerator SpawnCrow() { crowHasSpawned = false; transform.localPosition = new Vector3(Random.Range(-0.375f, 0.375f), 2f, Random.Range(-0.225f, 0.5f)); RaycastHit hit; if (Physics.Raycast(transform.position, Vector3.down, out hit, layerMask)) { Vector3 randomSpawnPosition = new Vector3(Random.Range(transform.parent.position.x - 10f, transform.parent.position.x + 10f), transform.parent.position.y + 10f, Random.Range(transform.parent.position.z - 10f, transform.parent.position.z + 10f)); Debug.Log("RandomSpawnPoint:" + randomSpawnPosition); CrowMovement crowObject = ObjectPooler.instance.SpawnFromPool("Crow", randomSpawnPosition, Quaternion.identity).GetComponent <CrowMovement>(); crowCount++; crowObject.moveSpot = hit.point; crowHasSpawned = true; if (crowCount < 5) { yield return(new WaitForSeconds(Random.Range(10f, 16f))); yield return(StartCoroutine(SpawnCrow())); } } else { yield return(StartCoroutine(SpawnCrow())); } }
void Awake() { animator = GetComponent <Animator>(); crow = GetComponentInParent <Crow>(); crowMovement = GetComponentInParent <CrowMovement>(); }