Exemplo n.º 1
0
 /// <summary>
 /// Play One shot sending the clip as reference
 /// </summary>
 /// <param name="_type"></param>
 /// <param name="_clip"></param>
 /// <param name="_volume"></param>
 public void PlayOneShotByClip(GJ_AudioSetup.AudioTypes _type = GJ_AudioSetup.AudioTypes.SFX, AudioClip _clip = null, float _volume = 1f)
 {
     if (_clip)
     {
         m_sources[(int)_type].PlayOneShot(_clip, _volume * m_mainVolume);
     }
 }
Exemplo n.º 2
0
 /// <summary>
 /// Constructor with all needed stuff
 /// </summary>
 /// <param name="_key"></param>
 /// <param name="_type"></param>
 /// <param name="_clip"></param>
 /// <param name="_source"></param>
 /// <param name="_inLoop"></param>
 /// <param name="_volume"></param>
 public GJ_AudioItem(string _key         = "audio", GJ_AudioSetup.AudioTypes _type = GJ_AudioSetup.AudioTypes.SFX, AudioClip _clip = null,
                     AudioSource _source = null, bool _inLoop = false, float _volume = 1f)
 {
     m_clip   = _clip;
     m_source = _source;
     m_inLoop = _inLoop;
     m_itemKeyInDictionary = _key;
     m_clipVolume          = _volume;
     m_type = _type;
 }
Exemplo n.º 3
0
 /// <summary>
 /// Almost like one shot but can be in loop
 /// </summary>
 /// <param name="type"></param>
 /// <param name="clip"></param>
 /// <param name="volume"></param>
 /// <param name="inLoop"></param>
 public void PlayAudioByClip(GJ_AudioSetup.AudioTypes _type = GJ_AudioSetup.AudioTypes.SFX, AudioClip _clip = null, float _volume = 1f, bool _inLoop = false)
 {
     if (_clip)
     {
         AudioSource source = m_sources[(int)_type];
         source.clip   = _clip;
         source.loop   = _inLoop;
         source.volume = _volume * m_mainVolume;
         source.Play();
     }
 }
Exemplo n.º 4
0
        /// <summary>
        /// Creates a new audio items and play its clip
        /// </summary>
        /// <param name="type"></param>
        /// <param name="clip"></param>
        /// <param name="source"></param>
        /// <param name="name"></param>
        /// <param name="inLoop"></param>
        /// <param name="volume"></param>
        public void CreateItemAndPlay(bool _addIt = true, string _key = "audio", GJ_AudioSetup.AudioTypes _type = GJ_AudioSetup.AudioTypes.SFX, AudioClip _clip = null, AudioSource _source = null, bool _inLoop = false, float _volume = 1f)
        {
            if (_source == null)
            {
                _source = m_sources[(int)_type];
            }

            GJ_AudioItem audio = CreateItem(_addIt, _key, _type, _clip, _source, _inLoop, _volume * m_mainVolume);

            audio.Play();
        }
Exemplo n.º 5
0
        /// <summary>
        /// Play one shot sending the name of the clip as reference (we need to do the resource load
        /// </summary>
        /// <param name="type"></param>
        /// <param name="clipName"></param>
        /// <param name="volume"></param>
        public void PlayOneShotByName(GJ_AudioSetup.AudioTypes _type = GJ_AudioSetup.AudioTypes.SFX, string _clipPath = "", float _volume = 1f)
        {
            if (!string.IsNullOrEmpty(_clipPath))
            {
                AudioClip clip = Resources.Load <AudioClip>(_clipPath);

                if (clip)
                {
                    m_sources[(int)_type].PlayOneShot(clip, _volume * m_mainVolume);
                }
            }
        }
Exemplo n.º 6
0
 /// <summary>
 /// Like one shot but can be in loop (sending the name by name)
 /// </summary>
 /// <param name="_type"></param>
 /// <param name="_clipPath"></param>
 /// <param name="_volume"></param>
 /// <param name="_inLoop"></param>
 public void PlayAudioByName(GJ_AudioSetup.AudioTypes _type = GJ_AudioSetup.AudioTypes.SFX, string _clipPath = "", float _volume = 1f, bool _inLoop = false)
 {
     if (!string.IsNullOrEmpty(_clipPath))
     {
         AudioSource source = m_sources[(int)_type];
         AudioClip   clip   = Resources.Load <AudioClip>(_clipPath);
         if (clip)
         {
             source.clip   = clip;
             source.loop   = _inLoop;
             source.volume = _volume * m_mainVolume;
             source.Play();
         }
     }
 }
Exemplo n.º 7
0
        /// <summary>
        /// Creates a new AudioItem and returns it so can be used
        /// </summary>
        /// <param name="type"></param>
        /// <param name="clip"></param>
        /// <param name="source"></param>
        /// <param name="name"></param>
        /// <param name="inLoop"></param>
        /// <param name="volume"></param>
        /// <returns></returns>
        public GJ_AudioItem CreateItem(bool _addIt = true, string _key = "audio", GJ_AudioSetup.AudioTypes _type = GJ_AudioSetup.AudioTypes.SFX, AudioClip _clip = null, AudioSource _source = null, bool _inLoop = false, float _volume = 1f)
        {
            if (_source == null)
            {
                _source = m_sources[(int)_type];
            }

            GJ_AudioItem audio = new GJ_AudioItem(_key, _type, _clip, _source, _inLoop, _volume * m_mainVolume);

            if (_addIt)
            {
                AddAudio(audio);
            }

            return(audio);
        }