private void FixedUpdate() { if (playerControl.isOnPlaying) { InitStates(); } else if (playerControl.isOnStopping) { ResetStates(); } if (!playerControl.isPlaying) { return; } var currentTime = playerControl.relativeTime; while (_eventIndex < _events.Length) { var ev = _events[_eventIndex]; if (currentTime >= ev.absTime) { EventEmitted?.Invoke(this, new ScenarioSignalEventArgs(ev, _variation)); _eventIndex += 1; } else { break; } } }
private void OnEventEmitted(SchedulerEvent payload) { EventEmitted?.Invoke(this, new SchedulerEventArgs(payload)); }