From ab932c875fc76c37b162a38c7ca517aa64f0f794 Mon Sep 17 00:00:00 2001 From: Yoshman29 <81191621+YoshiCrafter29@users.noreply.github.com> Date: Thu, 3 Nov 2022 16:15:37 +0100 Subject: [PATCH] cool stuff!! --- source/funkin/scripting/GlobalScript.hx | 5 +++++ source/funkin/system/Conductor.hx | 13 +++++++++++++ 2 files changed, 18 insertions(+) diff --git a/source/funkin/scripting/GlobalScript.hx b/source/funkin/scripting/GlobalScript.hx index c4fe8f3e..78bbc3c1 100644 --- a/source/funkin/scripting/GlobalScript.hx +++ b/source/funkin/scripting/GlobalScript.hx @@ -1,5 +1,6 @@ package funkin.scripting; +import funkin.system.Conductor; import flixel.FlxG; import flixel.FlxState; import funkin.mods.ModsFolder; @@ -14,6 +15,10 @@ class GlobalScript { #if MOD_SUPPORT ModsFolder.onModSwitch.add(onModSwitch); #end + + Conductor.onBeatHit.add(beatHit); + Conductor.onStepHit.add(stepHit); + FlxG.signals.focusGained.add(function() { call("focusGained"); }); diff --git a/source/funkin/system/Conductor.hx b/source/funkin/system/Conductor.hx index 09bcf3fa..894221e2 100644 --- a/source/funkin/system/Conductor.hx +++ b/source/funkin/system/Conductor.hx @@ -4,6 +4,7 @@ import flixel.FlxState; import funkin.interfaces.IBeatReceiver; import flixel.FlxG; import funkin.system.Song.SwagSong; +import flixel.util.FlxSignal.FlxTypedSignal; /** * ... @@ -19,6 +20,13 @@ typedef BPMChangeEvent = class Conductor { + /** + * FlxSignals + */ + public static var onBeatHit:FlxTypedSignalVoid> = new FlxTypedSignal(); + public static var onStepHit:FlxTypedSignalVoid> = new FlxTypedSignal(); + public static var onBPMChange:FlxTypedSignalVoid> = new FlxTypedSignal(); + /** * Current BPM */ @@ -154,6 +162,10 @@ class Conductor // updates step var updateBeat = curBeat != (curBeat = Std.int(curBeatFloat)); + onStepHit.dispatch(curStep); + if (updateBeat) + onBeatHit.dispatch(curBeat); + if (FlxG.state is IBeatReceiver) { var state = FlxG.state; while(state != null) { @@ -166,6 +178,7 @@ class Conductor state = state.subState; } } + } } }