Ejemplo n.º 1
0
    private void SendAlertsBySound(Sound sound)
    {
        float radiusOfAlertAtMaxVolume = 23;
        float radiusOfAlert            = sound.volume * radiusOfAlertAtMaxVolume;

        Alertable.AlertAllInRadius(transform.position, radiusOfAlert);
    }
Ejemplo n.º 2
0
 private void Awake()
 {
     if (alertsManager == null)
     {
         alertsManager = this;
     }
 }
Ejemplo n.º 3
0
    public static void AlertAllInRadius(Vector2 position, float radius)
    {
        if (radius <= 0)
        {
            return;
        }

        if (alertsManager == null) //Should never happen. alertsManager acts as a Singleton
        {
            return;
        }

        alertsManager.StartCoroutine(alertsManager.DebugAlertRadius(position, radius));

        foreach (Collider2D objInRange in Physics2D.OverlapCircleAll(position, radius))
        {
            Alertable alertable = objInRange.GetComponent <Alertable>();
            if (alertable != null)
            {
                if ((!(alertable.character.brain is ChasingBrain)) && (!(GameManager.Instance.playerManager.state is ReviveState)))
                {
                    alertable.Alert(position);
                }
            }
        }
    }
Ejemplo n.º 4
0
 protected override void SetState(bool state, CharacterManager characterActivating, bool alertAtActivate)
 {
     foreach (GameObject go in activableObjectsOnSetActive)
     {
         go.SetActive(state);
     }
     if (state && alertAtActivate)
     {
         Alertable.AlertAllInRadius(new Vector2(transform.position.x, transform.position.y) + alertPoint, alertRadius);
     }
 }
Ejemplo n.º 5
0
    public void ActivateAlarm()
    {
        //lightEmmitter.SetActive(true);
        if (alertsOnActivation)
        {
            Alertable.AlertAllInRadius(new Vector2(transform.position.x, transform.position.y), alertRadius);
        }
        if (lightCoroutine != null)
        {
            audioController.StopAllSoundsInstantaneously();
            lightEmmitter.SetActive(false);

            StopCoroutine(lightCoroutine);
            StopCoroutine(alarmCoroutine);
        }
        lightCoroutine = PlayLightAnimation();
        alarmCoroutine = StopAll();
        StartCoroutine(lightCoroutine);
        StartCoroutine(alarmCoroutine);
    }