public IEnumerator CheckElementToActivate()
    {
        if (narrativeElementsInRange.Count > 0)
        {
            float i_minimalDistance            = 100;
            int   i_narrativeElementToActivate = -1;
            for (int i = 0; i < narrativeElementsInRange.Count; i++)
            {
                float i_distanceFromElement = Vector3.Distance(narrativeElementsInRange[i].transform.position, middlePlayerPosition);
                if (i_distanceFromElement < i_minimalDistance)
                {
                    i_minimalDistance            = i_distanceFromElement;
                    i_narrativeElementToActivate = i;
                }
            }

            if (narrativeElementsInRange[i_narrativeElementToActivate] != activatedNarrativeElement)
            {
                if (activatedNarrativeElement != null)
                {
                    activatedNarrativeElement.SetAIPossession(false);
                }
                activatedNarrativeElement = narrativeElementsInRange[i_narrativeElementToActivate];
                activatedNarrativeElement.SetAIPossession(true);
            }
        }
        else if (activatedNarrativeElement != null)
        {
            activatedNarrativeElement.SetAIPossession(false);
            activatedNarrativeElement = null;
        }
        yield return(new WaitForSeconds(timeBetweenRangeCheck));

        StartCoroutine(CheckElementToActivate());
    }
 public void SetNarrativeElementsInRange(bool _add, NarrativeInteractiveElements _narrativeElement)
 {
     if (_add)
     {
         narrativeElementsInRange.Add(_narrativeElement);
     }
     else
     {
         narrativeElementsInRange.Remove(_narrativeElement);
     }
 }
 public void ChangeActivatedNarrationElement(NarrativeInteractiveElements _newNarrativeElement)
 {
     currentNarrationElementActivated = _newNarrativeElement;
     if (currentNarrationElementActivated != null)
     {
         myAudioSource.outputAudioMixerGroup = currentNarrationElementActivated.myAudioMixer;
     }
     else
     {
         myAudioSource.outputAudioMixerGroup = defaultAudioMixer;
     }
 }