public void OnReceiveGameEvent(GameEventVariant eventVariant) { Action<GameEventVariant> onEvent; if (m_EventDictionary.TryGetValue(eventVariant.id, out onEvent)) { onEvent?.Invoke(eventVariant); } }
public void OnReceiveGameEvent(GameEventVariant eventVariant) { switch (eventVariant.id) { case GameEventId.Beat: { //OnBeat(eventVariant); break; } } }
public void SetSpeed(int speed) { var isChange = (m_Speed != speed); m_Speed = speed; if (isChange) { var eventVariant = new GameEventVariant(); eventVariant.id = GameEventId.ChangeSpeed; eventVariant.intValue = m_Speed; GameEventManager.instance.Send<IGameEventReceivable>( (target, e) => target.OnReceiveGameEvent(eventVariant)); } }
public void SetBPM(int bpm) { var isChange = (m_Bpm != bpm); m_Bpm = bpm; if (isChange) { var eventVariant = new GameEventVariant(); eventVariant.id = GameEventId.ChangeBpm; eventVariant.intValue = m_Bpm; GameEventManager.instance.Send<IGameEventReceivable>( (target, e) => target.OnReceiveGameEvent(eventVariant)); } }
//----------------------------------- // Method (private) //----------------------------------- private void UpdateInterval() { var interval = CalculateInterval(); var count = Time / interval; if (count > Count) { var deltaCount = count - Count; for (var i = 0; i < deltaCount; ++i) { ++Count; Debug.Log("count -> " + Count); var eventVariant = new GameEventVariant(); eventVariant.id = GameEventId.Beat; eventVariant.intValue = Count; GameEventManager.instance.Send<IGameEventReceivable>( (target, e) => target.OnReceiveGameEvent(eventVariant)); } } }
private void OnChangeBpm(GameEventVariant eventVariant) { }
private void OnChangeSpeed(GameEventVariant eventVariant) { }