示例#1
0
    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));
    }
示例#2
0
 private void Start()
 {
     meshRenderer = GetComponent <MeshRenderer>();
     col          = GetComponent <Collider>();
     rb           = GetComponent <Rigidbody>();
     steering     = GetComponentInChildren <SteeringBehaviours>();
     soundManager = AudioVolumeManager.GetInstance();
 }