Alternate Control Styles Support (#554)

* add mouse controller

* support different control styles in options

deprecate old input check methods

* fully functional input actions system

* btsds InputAction

* blue bear InputAction

* more games

fix bugs with some input related systems

* coin toss re-toss

* cheer readers touch

* dog ninja touch

* multiple games

* last of the easy games' touch

* more specialized games

* specialized games 2

* finish ktb games

* remove legacy settings disclaimer

* "only" two games left

* karate man touch

* rockers touch

still needs fixes and bad judge strum

* DSGuy flicking animation

* playstyle chart property

* improve performance of minigame preloading

* improve look of cursor

make assetbundles use chunk-based compression
refactor assetbundle loading methods a bit

* prime conductor stream playback to stabilize seeking operations

* fix air rally swing on pad release

* use virtual mouse pointer

* add UniTask

* make BeatAction use UniTask

* implement UniTask to replace some coroutines

* add touch style UI elements and effects

games now support the ability to define two cursor colours if they need split screen touch inputs

* update plugins and buildscript

* implement thresholded pointer position clipping

* fix clamping

* instant show / hide

fix discord game SDK crashes
This commit is contained in:
minenice55
2023-10-29 15:44:47 -04:00
committed by GitHub
parent 4afa1f646c
commit 3002e48350
220 changed files with 55447 additions and 8426 deletions

View File

@ -25,8 +25,6 @@ namespace HeavenStudio.Games.Scripts_CatchyTune
private string soundText;
private Minigame.Eligible e = new Minigame.Eligible();
private CatchyTune game;
private float beatLength = 4f;
@ -35,8 +33,6 @@ namespace HeavenStudio.Games.Scripts_CatchyTune
{
game = CatchyTune.instance;
e.gameObject = this.gameObject;
var cond = Conductor.instance;
var tempo = cond.songBpm;
var playbackSpeed = cond.musicSource.pitch;
@ -70,20 +66,19 @@ namespace HeavenStudio.Games.Scripts_CatchyTune
soundText += "Orange";
}
game.ScheduleInput(startBeat, beatLength, side ? InputType.STANDARD_DOWN : InputType.DIRECTION_DOWN,
game.ScheduleInput(startBeat, beatLength, side ? CatchyTune.InputAction_Right : CatchyTune.InputAction_Left,
CatchFruit, Miss, WayOff);
}
// minenice: note - needs PlayerActionEvent implementation
private void Update()
{
if (barelyStart > 0f)
{
anim.DoScaledAnimation("barely", barelyStart, isPineapple ? 2f : 1f);
anim.DoScaledAnimation("barely", barelyStart, isPineapple ? 2f : 1f, clamp: true);
}
else
else
{
anim.DoScaledAnimation("fruit bounce", startBeat, beatLength + (isPineapple ? 4f : 2f));
anim.DoScaledAnimation("fruit bounce", startBeat, beatLength + (isPineapple ? 4f : 2f), clamp: true);
}
}
@ -142,7 +137,7 @@ namespace HeavenStudio.Games.Scripts_CatchyTune
{
//near miss (barely)
barelyStart = Conductor.instance.songPositionInBeatsAsDouble;
game.catchBarely(side);
// play near miss animation
@ -154,7 +149,7 @@ namespace HeavenStudio.Games.Scripts_CatchyTune
});
}
else
else
{
SoundByte.PlayOneShotGame(soundText + "Catch");
game.catchSuccess(side, isPineapple, smile, startBeat + beatLength, endSmile);
@ -172,6 +167,6 @@ namespace HeavenStudio.Games.Scripts_CatchyTune
});
}
private void WayOff(PlayerActionEvent caller) {} // whiffing is handled in the main loop
private void WayOff(PlayerActionEvent caller) { } // whiffing is handled in the main loop
}
}