コード例 #1
0
        public void QuantizePlay(SoundSeting.Type type, Vector3 position, float endTime = 0f)
        {
            var source = _pool.Rent();
            var query  = _setting.ses.Where(p => p.type == type);

            if (query.Any())
            {
                bool isStop = false;
                if (endTime > 0)
                {
                    isStop = true;
                }
                _playSources.Add(source);
                source.Play(query.First(), position, false);
                //Music.QuantizePlay (source.source);
                if (isStop)
                {
                    StartCoroutine(QuantizePlayCoroutine(source, endTime));
                }
                else
                {
                    StartCoroutine(QuantizePlayCoroutine(source, source.source.clip.length));
                }
            }
        }
コード例 #2
0
 public void Stop(SoundSeting.Type type)
 {
     foreach (var one in _playSources)
     {
         if (one != null && one.se.type == type)
         {
             one.Stop();
             break;
         }
     }
 }
コード例 #3
0
        void PreLoad(SoundSeting.Type type)
        {
            var source = _pool.Rent();
            var query  = _setting.ses.Where(p => p.type == type);

            if (query.Any())
            {
                source.PreLoad(query.First().clip);
                _pool.Return(source);
            }
        }
コード例 #4
0
        public void Play(SoundSeting.Type type, Vector3 position, float loopTime = 0f)
        {
            var source = _pool.Rent();
            var query  = _setting.ses.Where(p => p.type == type);

            if (query.Any())
            {
                bool isLoop = false;
                if (loopTime > 0)
                {
                    isLoop = true;
                }
                _playSources.Add(source);
                source.Play(query.First(), position, isLoop);
                if (isLoop)
                {
                    StartCoroutine(StopLoopCoroutine(source, loopTime));
                }

                StartCoroutine(WaitPlayCoroutine(source));
            }
        }