Esempio n. 1
0
    public Vector3 PoolLocate(Vector3 target)
    {
        if (time != Time.time)
        {
            pool.Clear();
            time = Time.time;
        }
        float disWinner, disCurrent;

        disWinner = float.PositiveInfinity;
        Vector3 winner, current;

        winner = Vector3.zero;
        AudioRoom winnerAudioRoom = null;

        foreach (AudioRoom a in targets)
        {
            if (IsAudioRoomNotPooling(a))
            {
                current    = a.Locate(target);
                disCurrent = FastDistance(target, current);
                if (disCurrent < disWinner)
                {
                    disWinner       = disCurrent;
                    winner          = current;
                    winnerAudioRoom = a;
                }
            }
        }
        pool.Add(winnerAudioRoom);
        return(winner);
    }
Esempio n. 2
0
 public void OnSceneGUI()
 {
     if (edit)
     {
         a             = (target as AudioRoom);
         Handles.color = Color.blue;
         a.pos         = b.center - a.transform.position;
         a.size        = b.size / 2;
         b.DrawHandle();
     }
 }
Esempio n. 3
0
 public bool IsAudioRoomNotPooling(AudioRoom a)
 {
     foreach (AudioRoom s in pool)
     {
         if (s == a)
         {
             return(false);
         }
     }
     return(true);
 }
Esempio n. 4
0
    IEnumerator FadeInAudioRoutine(AudioRoom ar)
    {
        player.SetCurrentAudioRoom(lastCheckpoint.aRoom);
        float i = 0;

        while (i < 50)
        {
            i += Time.deltaTime * audioFadeSpeed;
            AkSoundEngine.SetRTPCValue("position_relative_volume_" + ar.id, i);
            yield return(new WaitForEndOfFrame());
        }
        i = 50;
        AkSoundEngine.SetRTPCValue("position_relative_volume_" + ar.id, i);

        yield return(null);
    }
Esempio n. 5
0
 private void PlayCurrentAudioRoom(AudioRoom ar)
 {
     ar.PlayEvent();
     AkSoundEngine.SetRTPCValue("position_gd_" + ar.id, 50);
     StartCoroutine(FadeInAudioRoutine(ar));
 }
Esempio n. 6
0
 public void SetCurrentAudioRoom(AudioRoom ar)
 {
     currentAudioRoom = ar;
 }
Esempio n. 7
0
 private void Awake()
 {
     a        = (target as AudioRoom);
     b.center = a.pos + a.transform.position;
     b.size   = a.size * 2;
 }
Esempio n. 8
0
 private void Start()
 {
     pack = AudioRoom.GetAudioRoomPack(groupName);
 }