void IPooledObject.OnSpawn() { meshRenderer = GetComponent <MeshRenderer>(); col = GetComponent <Collider>(); rb = GetComponent <Rigidbody>(); steering = GetComponentInChildren <SteeringBehaviours>(); soundManager = AudioVolumeManager.GetInstance(); audioSource = GetComponent <AudioSource>(); audioSource.volume = soundManager.SoundEffectVolume; audioSource.pitch = Random.Range(0.8f, 1.4f); audioSource.PlayOneShot(ejecting); meshRenderer.enabled = true; col.enabled = true; rb.useGravity = true; steering.PursuitOff(); impact.Stop(); travelTrail.Stop(); timer = 0.0f; float xForce = Mathf.Sign(Random.Range(-1, 1f)) * horizontalForce; float yForce = Random.Range(-verticalForce, verticalForce); float zForce = Random.Range(-verticalForce / 1.2f, verticalForce / 5); Vector3 force = new Vector3(xForce, yForce, zForce); rb.AddForce(force, ForceMode.Impulse); transform.rotation = Quaternion.LookRotation(Vector3.RotateTowards(transform.forward, rb.velocity, 500, 0.0F)); }
private void Start() { meshRenderer = GetComponent <MeshRenderer>(); col = GetComponent <Collider>(); rb = GetComponent <Rigidbody>(); steering = GetComponentInChildren <SteeringBehaviours>(); soundManager = AudioVolumeManager.GetInstance(); }