private void OnEventProviderEnabled(RhythmEventProvider r) { if (songLoaded) { InitializeEventProvider(r); } }
void Start() { SongStarted = false; SS = FindObjectOfType <SongSelect>(); song = SS.Selectedsong; hit1 = GameObject.FindGameObjectWithTag("p1"); hit2 = GameObject.FindGameObjectWithTag("p2"); hit3 = GameObject.FindGameObjectWithTag("p3"); SpritePosition = GameObject.FindGameObjectWithTag("Sprite"); rhythmtool = GetComponent <RhythmTool>(); REP = GetComponent <RhythmEventProvider>(); rhythmtool.NewSong(song); rhythmtool.SongLoaded += OnSongLoaded; REP.onSubBeat.AddListener(OnSubBeat); combo = 0; score = 0; LHeld = false; MHeld = false; RHeld = false; TotalFrames = rhythmtool.totalFrames; }
public override void OnInspectorGUI() { RhythmEventProvider eventProvider = (RhythmEventProvider)target; serializedObject.Update(); EditorGUI.BeginChangeCheck(); SerializedProperty _target = serializedObject.FindProperty("_target"); EditorGUILayout.PropertyField(_target); if (EditorGUI.EndChangeCheck()) { eventProvider.target = (RhythmTool)_target.objectReferenceValue; } if (eventProvider.offset > 0) { EditorGUILayout.LabelField("Current Frame:", (eventProvider.currentFrame) + "+" + eventProvider.offset); } else { EditorGUILayout.LabelField("Current Frame:", eventProvider.currentFrame.ToString()); } SerializedProperty _targetOffset = serializedObject.FindProperty("_targetOffset"); EditorGUILayout.IntSlider(_targetOffset, 0, eventProvider.maxOffset); serializedObject.ApplyModifiedProperties(); EditorUtility.SetDirty(eventProvider); }
private void InitializeEventProvider(RhythmEventProvider r) { r.offset = 0; if (audioSource != null) { r.onNewSong.Invoke(audioSource.clip.name, totalFrames); } r.totalFrames = totalFrames; }
void Start() { rhythmtool = GetComponent <RhythmTool>(); events = GetComponent <RhythmEventProvider>(); wspawn = FindObjectOfType <Weapon>(); rhythmtool.NewSong(Theme); rhythmtool.SongLoaded += OnSongLoaded; events.onSubBeat.AddListener(OnSubBeat); }
private void PassEvents(RhythmEventProvider r, int index) { r.onFrameChanged.Invoke(index, lastFrame); if (r.onOnset.listenerCount != 0) { Onset l = _low.GetOnset(index); Onset m = _mid.GetOnset(index); Onset h = _high.GetOnset(index); Onset a = _all.GetOnset(index); if (l > 0) { r.onOnset.Invoke(OnsetType.Low, l); } if (m > 0) { r.onOnset.Invoke(OnsetType.Mid, m); } if (h > 0) { r.onOnset.Invoke(OnsetType.High, h); } if (a > 0) { r.onOnset.Invoke(OnsetType.All, a); } } if (r.onBeat.listenerCount != 0) { if (IsBeat(index) == 1) { Beat beat = NextBeat(index); r.onBeat.Invoke(beat); } } if (r.onChange.listenerCount != 0) { if (IsChange(index)) { r.onChange.Invoke(index, NextChange(index)); } } }
private void PassSubBeat(RhythmEventProvider r, float index) { float beatTime = BeatTimer(index); Beat prevBeat = PrevBeat(Mathf.CeilToInt(index)); if (r.lastBeatTime > beatTime) { r.onSubBeat.Invoke(prevBeat, 0); } if (r.lastBeatTime < .5f && beatTime >= .5f) { r.onSubBeat.Invoke(prevBeat, 2); } if (r.lastBeatTime < .25f && beatTime >= .25f) { r.onSubBeat.Invoke(prevBeat, 1); } if (r.lastBeatTime < .75f && beatTime >= .75f) { r.onSubBeat.Invoke(prevBeat, 3); } r.lastBeatTime = beatTime; }