1
0
Fork 0
mirror of https://github.com/ninjamuffin99/Funkin.git synced 2025-09-05 05:07:39 +00:00
Funkin/source/funkin/util/plugins/VolumePlugin.hx

43 lines
990 B
Haxe
Raw Permalink Normal View History

package funkin.util.plugins;
import flixel.FlxBasic;
/**
* Handles volume control in a way that is compatible with alternate control schemes.
*/
@:nullSafety
class VolumePlugin extends FlxBasic
{
public function new()
{
super();
}
public static function initialize()
{
FlxG.plugins.addPlugin(new VolumePlugin());
}
public override function update(elapsed:Float):Void
{
super.update(elapsed);
var isHaxeUIFocused:Bool = haxe.ui.focus.FocusManager.instance?.focus != null;
if (!isHaxeUIFocused)
{
// Rebindable volume keys.
if (PlayerSettings.player1.controls.VOLUME_MUTE) FlxG.sound.toggleMuted();
else if (PlayerSettings.player1.controls.VOLUME_UP) FlxG.sound.changeVolume(0.1);
else if (PlayerSettings.player1.controls.VOLUME_DOWN) FlxG.sound.changeVolume(-0.1);
}
}
override public function destroy():Void
{
if (FlxG.plugins.list.contains(this)) FlxG.plugins.remove(this);
super.destroy();
}
}