public static void PlayOneshotJingle(AudioClip clip, int se_id, DisableNotifyMonoBehaviour master = null, Transform parent = null) { if (MonoBehaviourSingleton <SoundManager> .IsValid()) { MonoBehaviourSingleton <SoundManager> .I.audioControlJingle.CreateAudio(clip, se_id, MonoBehaviourSingleton <SoundManager> .I.volumeSE, false, MonoBehaviourSingleton <SoundManager> .I.mixerGroupJingle, false, master, parent, null); } }
public static void PlayOneShotSE(int se_id, DisableNotifyMonoBehaviour master = null, Transform parent = null) { if (MonoBehaviourSingleton <SoundManager> .IsValid()) { MonoBehaviourSingleton <SoundManager> .I.audioControlSESelf.CreateAudio(GetSEAudioClip(se_id), se_id, MonoBehaviourSingleton <SoundManager> .I.volumeSE, false, MonoBehaviourSingleton <SoundManager> .I.mixerGroupSE, true, master, parent, null); } }
public static void PlayLoopSE(int se_id, DisableNotifyMonoBehaviour master, Transform parent = null) { if (MonoBehaviourSingleton <SoundManager> .IsValid()) { bool is3DSound = (!(parent == null)) ? true : false; MonoBehaviourSingleton <SoundManager> .I.audioControlSESelf.CreateAudio(GetSEAudioClip(se_id), se_id, MonoBehaviourSingleton <SoundManager> .I.volumeSE, true, MonoBehaviourSingleton <SoundManager> .I.mixerGroupSE, is3DSound, master, parent, null); } }
public virtual void SetNotifyMaster(DisableNotifyMonoBehaviour master) { ResetNotifyMaster(); notifyMaster = master; if (master.notifyServants == null) { master.notifyServants = new List <DisableNotifyMonoBehaviour>(); } master.notifyServants.Add(this); master.OnAttachServant(this); }
protected override void OnAttachServant(DisableNotifyMonoBehaviour servant) { base.OnAttachServant(servant); if (servant is StageObject) { StageObject stageObject = servant as StageObject; objectList.Add(stageObject); if (stageObject is Character) { characterList.Add(stageObject); if (stageObject is Player) { playerList.Add(stageObject); if (stageObject is NonPlayer) { nonplayerList.Add(stageObject); } if (stageObject is Self && self == null) { self = (stageObject as Self); } } else if (stageObject is Enemy) { Enemy enemy = stageObject as Enemy; enemyList.Add(stageObject); EnemyList.Add(enemy); if (boss == null && enemy.isBoss) { boss = enemy; } } } if (stageObject is GimmickObject) { gimmickList.Add(stageObject); } if (stageObject is DecoyBulletObject) { decoyList.Add(stageObject); } if (stageObject is FieldWaveTargetObject) { waveTargetList.Add(stageObject); } } }
public static void LoopOff(int se_id, DisableNotifyMonoBehaviour master) { if (MonoBehaviourSingleton <SoundManager> .IsValid() && master.notifyServants != null) { List <DisableNotifyMonoBehaviour> .Enumerator enumerator = master.notifyServants.GetEnumerator(); AudioObject audioObject; do { if (!enumerator.MoveNext()) { return; } audioObject = (enumerator.Current as AudioObject); }while (!(audioObject != null) || audioObject.clipId != se_id || !audioObject.GetLoopFlag()); audioObject.SetLoopFlag(false); } }
protected virtual void OnDetachServant(DisableNotifyMonoBehaviour servant) { }
protected override void OnDetachServant(DisableNotifyMonoBehaviour servant) { base.OnDetachServant(servant); if (servant is StageObject) { StageObject stageObject = servant as StageObject; objectList.Remove(stageObject); if (stageObject is Character) { characterList.Remove(stageObject); if (stageObject is Player) { playerList.Remove(stageObject); if (stageObject is NonPlayer) { nonplayerList.Remove(stageObject); } if (self == stageObject as Self) { self = null; } } else if (stageObject is Enemy) { Enemy item = stageObject as Enemy; enemyList.Remove(stageObject); EnemyList.Remove(item); if (boss == stageObject as Enemy) { boss = null; } } } if (stageObject is DecoyBulletObject) { decoyList.Remove(stageObject); } if (stageObject is FieldWaveTargetObject) { waveTargetList.Remove(stageObject); } if (base.notifyServants != null) { int i = 0; for (int count = base.notifyServants.Count; i < count; i++) { ((StageObject)base.notifyServants[i]).OnDetachedObject(stageObject); } } if (notifyInterfaces != null) { int j = 0; for (int count2 = notifyInterfaces.Count; j < count2; j++) { notifyInterfaces[j].OnDetachedObject(stageObject); } } if (MonoBehaviourSingleton <TargetMarkerManager> .IsValid()) { MonoBehaviourSingleton <TargetMarkerManager> .I.OnDetachedObject(stageObject); } if (MonoBehaviourSingleton <SoundManager> .IsValid()) { MonoBehaviourSingleton <SoundManager> .I.OnDetachedObject(stageObject); } } }
public AudioObject CreateAudio(AudioClip clip, int clip_id, float volume, bool loop, AudioMixerGroup mixer_group, bool is3DSound = false, DisableNotifyMonoBehaviour master = null, Transform _parent = null, Vector3?initPos = default(Vector3?)) { if (clip == null) { return(null); } PreparePlayingList(clip_id); if (!CanPlay(clip_id)) { return(null); } PrepareKeyOn(clip_id); Transform parent = (!(_parent == null)) ? ((object)_parent) : ((object)base._transform); return(m_lastAudio = AudioObject.Create(clip, clip_id, volume, loop, mixer_group, this, is3DSound, master, parent, initPos)); }
public static AudioObject Create(AudioClip clip, int clip_id, float volume, bool loop, AudioMixerGroup mixer_group, AudioControlGroup controlGroup, bool is3DSound = false, DisableNotifyMonoBehaviour master = null, Transform parent = null, Vector3?initPos = default(Vector3?)) { //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) if (clip == null) { return(null); } AudioObject audioObject = AudioObjectPool.Borrow(); if (!(audioObject == null)) { goto IL_0020; } goto IL_0020; IL_0020: audioObject._transform.set_parent(MonoBehaviourSingleton <SoundManager> .I._transform); audioObject.m_masterGroup = controlGroup; audioObject.m_IsSpatialSound = is3DSound; if (initPos.HasValue) { audioObject._transform.set_position((!initPos.HasValue) ? Vector3.get_zero() : initPos.Value); audioObject.m_IsStaticPosition = true; } audioObject.Play(clip, clip_id, volume, loop, mixer_group, master, parent); return(audioObject); }
private void Play(AudioClip clip, int clip_id, float volume, bool loop, AudioMixerGroup mixer_group, DisableNotifyMonoBehaviour master, Transform parent) { //IL_00b9: Unknown result type (might be due to invalid IL or missing references) if (master != null) { SetNotifyMaster(master); } else { ResetNotifyMaster(); } clipId = clip_id; PlayPhase = Phase.PREPLAY; if (audioSource != null) { audioSource.set_outputAudioMixerGroup(mixer_group); if (m_IsSpatialSound) { audioSource.set_spatialBlend(1f); audioSource.set_spread(360f); } else { audioSource.set_spatialBlend(0f); audioSource.set_spread(0f); } audioSource.set_priority(100); audioSource.set_rolloffMode(MonoBehaviourSingleton <SoundManager> .I.CurrentPreset.rollOffMode); audioSource.set_minDistance(MonoBehaviourSingleton <SoundManager> .I.CurrentPreset.minDistance); audioSource.set_maxDistance(MonoBehaviourSingleton <SoundManager> .I.CurrentPreset.maxDistance); audioSource.set_pitch(1f); } float num = 1f; float dopplerLevel = 0f; SETable.Data seData = Singleton <SETable> .I.GetSeData((uint)clip_id); if (seData != null) { audioSource.set_priority((int)seData.priority); num = seData.volumeScale; dopplerLevel = seData.dopplerLevel; if (seData.minDistance > 0f) { audioSource.set_minDistance(seData.minDistance); } if (seData.maxDistance > 0f) { audioSource.set_maxDistance(seData.maxDistance); } if (seData.randomPitch > 0f) { audioSource.set_pitch(GenRandomPitch()); } } audioSource.set_dopplerLevel(dopplerLevel); audioSource.set_clip(clip); audioSource.set_loop(loop); audioSource.set_volume(volume * num); parentObject = parent; needParent = (parent != null); fadeoutVolume = 0f; TraceParent(); audioSource.Play(); if (m_masterGroup != null) { m_masterGroup.NotifyOnStart(this); } PlayPhase = Phase.PLAYING; timeAtPlay = Time.get_time(); }
public static void PlayVoice(AudioClip audio_clip, int voice_id, float volume = 1f, uint ch_id = 0, DisableNotifyMonoBehaviour master = null, Transform parent = null) { if (GameSaveData.instance.voiceOption != 2 && MonoBehaviourSingleton <SoundManager> .IsValid() && !(audio_clip == null)) { float num = volume * MonoBehaviourSingleton <SoundManager> .I.volumeVOICE; if (!(num < 0.05f)) { bool is3DSound = (!(parent == null)) ? true : false; AudioControlGroup audioControlVoice = MonoBehaviourSingleton <SoundManager> .I.GetAudioControlVoice(ch_id); if (!(audioControlVoice == null)) { audioControlVoice.CreateAudio(audio_clip, voice_id, num, false, MonoBehaviourSingleton <SoundManager> .I.mixerGroupVoice, is3DSound, master, parent, null); } } } }
public static void PlayActionVoice(int voice_id, float volume = 1f, uint ch_id = 0, DisableNotifyMonoBehaviour master = null, Transform parent = null) { AudioClip actionVoiceAudioClip = GetActionVoiceAudioClip(voice_id); PlayVoice(actionVoiceAudioClip, voice_id, volume, ch_id, master, parent); }