From 2d8a493897fddc4f404a8c8aca25f1d09d7f0b1b Mon Sep 17 00:00:00 2001 From: sector-a <82838084+sector-a@users.noreply.github.com> Date: Sun, 15 Dec 2024 15:47:45 +0300 Subject: [PATCH] Add directionsOverride and colorsOverride to FunkinHitbox --- source/funkin/mobile/ui/FunkinHitbox.hx | 6 +++--- source/funkin/ui/MusicBeatState.hx | 6 ++++-- source/funkin/ui/MusicBeatSubState.hx | 6 ++++-- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/source/funkin/mobile/ui/FunkinHitbox.hx b/source/funkin/mobile/ui/FunkinHitbox.hx index 2d774d884..c11d951bb 100644 --- a/source/funkin/mobile/ui/FunkinHitbox.hx +++ b/source/funkin/mobile/ui/FunkinHitbox.hx @@ -330,12 +330,12 @@ class FunkinHitbox extends FlxTypedSpriteGroup /** * Creates a new `FunkinHitbox` object. */ - public function new(?schemeOverride:String = null):Void + public function new(?schemeOverride:String = null, ?directionsOverride:Array = null, ?colorsOverride:Array = null):Void { super(); - final hintsColors:Array = [0xFFC34B9A, 0xFF00FFFF, 0xFF12FB06, 0xFFF9393F]; - final hintsNoteDirections:Array = [NoteDirection.LEFT, NoteDirection.DOWN, NoteDirection.UP, NoteDirection.RIGHT]; + final hintsColors:Array = (colorsOverride == null || colorsOverride.length == 0) ? [0xFFC34B9A, 0xFF00FFFF, 0xFF12FB06, 0xFFF9393F] : colorsOverride; + final hintsNoteDirections:Array = (directionsOverride == null || directionsOverride.length == 0) ? [NoteDirection.LEFT, NoteDirection.DOWN, NoteDirection.UP, NoteDirection.RIGHT] : directionsOverride; final controlsScheme:String = (schemeOverride == null || schemeOverride.length == 0) ? Preferences.controlsScheme : schemeOverride; switch (controlsScheme) diff --git a/source/funkin/ui/MusicBeatState.hx b/source/funkin/ui/MusicBeatState.hx index 343ec0823..ac58dba46 100644 --- a/source/funkin/ui/MusicBeatState.hx +++ b/source/funkin/ui/MusicBeatState.hx @@ -18,6 +18,7 @@ import funkin.graphics.FunkinCamera; import funkin.mobile.ui.FunkinHitbox; import funkin.mobile.input.PreciseInputHandler; import funkin.mobile.ui.FunkinBackspace; +import funkin.play.notes.NoteDirection; #end /** @@ -67,7 +68,8 @@ class MusicBeatState extends FlxTransitionableState implements IEventHandler public var backButton:FunkinBackspace; public var camControls:FunkinCamera; - public function addHitbox(?visible:Bool = true, ?initInput:Bool = true, ?schemeOverride:String = null):Void + public function addHitbox(?visible:Bool = true, ?initInput:Bool = true, ?schemeOverride:String = null, ?directionsOverride:Array = null, + ?colorsOverride:Array = null):Void { if (hitbox != null) { @@ -83,7 +85,7 @@ class MusicBeatState extends FlxTransitionableState implements IEventHandler camControls.bgColor = 0x0; } - hitbox = new FunkinHitbox(schemeOverride); + hitbox = new FunkinHitbox(schemeOverride, directionsOverride, colorsOverride); hitbox.cameras = [camControls]; hitbox.visible = visible; add(hitbox); diff --git a/source/funkin/ui/MusicBeatSubState.hx b/source/funkin/ui/MusicBeatSubState.hx index 52ea0817a..c32b4976b 100644 --- a/source/funkin/ui/MusicBeatSubState.hx +++ b/source/funkin/ui/MusicBeatSubState.hx @@ -17,6 +17,7 @@ import funkin.graphics.FunkinCamera; import funkin.mobile.ui.FunkinHitbox; import funkin.mobile.input.PreciseInputHandler; import funkin.mobile.ui.FunkinBackspace; +import funkin.play.notes.NoteDirection; #end /** @@ -52,7 +53,8 @@ class MusicBeatSubState extends FlxSubState implements IEventHandler public var backButton:FunkinBackspace; public var camControls:FunkinCamera; - public function addHitbox(?visible:Bool = true, ?initInput:Bool = true, ?schemeOverride:String = null):Void + public function addHitbox(?visible:Bool = true, ?initInput:Bool = true, ?schemeOverride:String = null, ?directionsOverride:Array = null, + ?colorsOverride:Array = null):Void { if (hitbox != null) { @@ -68,7 +70,7 @@ class MusicBeatSubState extends FlxSubState implements IEventHandler camControls.bgColor = 0x0; } - hitbox = new FunkinHitbox(schemeOverride); + hitbox = new FunkinHitbox(schemeOverride, directionsOverride, colorsOverride); hitbox.cameras = [camControls]; hitbox.visible = visible; add(hitbox);