fix: Metronome may get a null AudioSystem.Instance.
This commit is contained in:
@@ -9,11 +9,16 @@ namespace OCES
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class Metronome : MonoBehaviour
|
public class Metronome : MonoBehaviour
|
||||||
{
|
{
|
||||||
|
bool m_isRegistered;
|
||||||
|
|
||||||
void OnEnable()
|
void OnEnable()
|
||||||
{
|
{
|
||||||
AudioSystem.Instance.OnBeat += OnBeat;
|
if (AudioSystem.Instance != null) RegisterCallBack();
|
||||||
AudioSystem.Instance.OnBar += OnBar;
|
}
|
||||||
AudioSystem.Instance.OnGrid += OnGrid;
|
|
||||||
|
void Start()
|
||||||
|
{
|
||||||
|
if (!this.m_isRegistered) RegisterCallBack();
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnDisable()
|
void OnDisable()
|
||||||
@@ -21,6 +26,14 @@ namespace OCES
|
|||||||
AudioSystem.Instance.OnBeat -= OnBeat;
|
AudioSystem.Instance.OnBeat -= OnBeat;
|
||||||
AudioSystem.Instance.OnBar -= OnBar;
|
AudioSystem.Instance.OnBar -= OnBar;
|
||||||
AudioSystem.Instance.OnGrid -= OnGrid;
|
AudioSystem.Instance.OnGrid -= OnGrid;
|
||||||
|
this.m_isRegistered = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void RegisterCallBack()
|
||||||
|
{
|
||||||
|
AudioSystem.Instance.OnBeat += OnBeat;
|
||||||
|
AudioSystem.Instance.OnBar += OnBar;
|
||||||
|
AudioSystem.Instance.OnGrid += OnGrid;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OnBeat(uint containerId)
|
static void OnBeat(uint containerId)
|
||||||
|
|||||||
Reference in New Issue
Block a user