Funkin/source/funkin/util/plugins/VolumePlugin.hx

35 lines
835 B
Haxe
Raw Normal View History

package funkin.util.plugins;
import flixel.FlxBasic;
/**
* Handles volume control in a way that is compatible with alternate control schemes.
*/
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);
}
}
}