Exemple #1
0
        //----------------------------------------------------------------------
        // Get States
        //----------------------------------------------------------------------

        public AudioSourceState GetNext()
        {
            ++_head;
            if (_head >= _pool.Count)
            {
                _head = 0;
            }
            currentSourceState = _pool[_head];
            return(currentSourceState);
        }
Exemple #2
0
 public void Init(GameObject gameObject, string objectName, int numPool)
 {
     for (int i = 0; i < numPool; ++i)
     {
         var sourceObj = new GameObject($"{objectName} ({i + 1})");
         sourceObj.transform.SetParent(gameObject.transform);
         var audioSource = sourceObj.AddComponent <AudioSource>();
         audioSource.playOnAwake  = false;
         audioSource.dopplerLevel = 0;  // ToDo : カスタム可能にする
         var audioState = new AudioSourceState()
         {
             gameObject = sourceObj,
             source     = audioSource,
         };
         _pool.Add(audioState);
     }
 }