Beispiel #1
0
    private void Start()
    {
        SetupStates();

        _rb       = GetComponent <Rigidbody2D>();
        _listener = GetComponent <AIListener>();
    }
Beispiel #2
0
    private void OnCollisionEnter(Collision collision)
    {
        float relVelSquared = collision.relativeVelocity.sqrMagnitude;

        if (relVelSquared >= _velocityLowerThreshold * _velocityLowerThreshold)
        {
            relVelSquared /= 3.0f;

            Debug.Log("Alerting brains within " + relVelSquared + " units");

            Collider[] nearby = Physics.OverlapSphere(transform.position, relVelSquared);
            foreach (Collider c in nearby)
            {
                AIListener ears = c.GetComponent <AIListener>();
                if (ears)
                {
                    ears.Alert(transform.position, 0);
                    Debug.Log("Alerting " + ears.name);
                }
            }
        }
    }