public void EraseSoundMark() { if (Utils.IsNull(SoundMark)) { return; } SoundMark.Sleep(); SoundMark = null; }
public virtual void PlaySound(SoundMark soundMark, bool onLoop = false) { Sound sound = GetSoundBySoundMark(soundMark); _currentSound = sound; if (onLoop) { sound.SetOnLoop(); } sound.source.Play(); }
Sound GetSoundBySoundMark(SoundMark soundMark) { foreach (Sound sound in soundList) { if (sound.soundMark == soundMark) { return(sound); } } return(null); }
protected virtual void OnTriggerEnter2D(Collider2D collider) // Before => Stay2D { if (!collider.CompareTag("Sound") || !_isActive) { return; } _listener.Hear(new HearingArea { SourcePoint = collider.transform.position }); EraseSoundMark(); SoundMark = _poolManager.GetPoolable <SoundMark>(Hero.Instance.Transform.position, Quaternion.identity); }