OKAY TIME TO SHIP IT

This commit is contained in:
AstrlJelly 2024-06-08 12:54:34 -04:00
parent e4a9bca393
commit 006b2a873f

View file

@ -211,6 +211,18 @@ namespace HeavenStudio.Games
private Faces girlFaceCurrent; private Faces girlFaceCurrent;
private Faces monkeyFaceCurrent; private Faces monkeyFaceCurrent;
public static PlayerInput.InputAction InputAction_Press =
new("PcoDressPress", new int[] { IAPressCat, IAFlickCat, IAPressCat },
IA_PadAny, IA_TouchBasicPress, IA_BatonBasicPress);
protected static bool IA_PadAny(out double dt)
{
return PlayerInput.GetPadDown(InputController.ActionsPad.East, out dt)
|| PlayerInput.GetPadDown(InputController.ActionsPad.Up, out dt)
|| PlayerInput.GetPadDown(InputController.ActionsPad.Down, out dt)
|| PlayerInput.GetPadDown(InputController.ActionsPad.Left, out dt)
|| PlayerInput.GetPadDown(InputController.ActionsPad.Right, out dt);
}
private void Awake() private void Awake()
{ {
@ -223,7 +235,7 @@ namespace HeavenStudio.Games
{ {
bgSpriteRenderer.color = bgColorEase.GetColor(); bgSpriteRenderer.color = bgColorEase.GetColor();
if (PlayerInput.GetIsAction(InputAction_BasicPress) && !IsExpectingInputNow(InputAction_BasicPress)) { if (PlayerInput.GetIsAction(InputAction_Press) && !IsExpectingInputNow(InputAction_Press)) {
ChangeEmotion(Characters.Girl, Faces.Sad); ChangeEmotion(Characters.Girl, Faces.Sad);
sewingAnim.DoScaledAnimationAsync("Miss", 0.5f); sewingAnim.DoScaledAnimationAsync("Miss", 0.5f);
SoundByte.PlayOneShotGame("dressYourBest/whiff_hit"); SoundByte.PlayOneShotGame("dressYourBest/whiff_hit");
@ -232,6 +244,8 @@ namespace HeavenStudio.Games
if (conductor.songPositionInBeatsAsDouble >= startIntervalEndBeat) { if (conductor.songPositionInBeatsAsDouble >= startIntervalEndBeat) {
hasMissed = true; hasMissed = true;
} }
ScoreMiss();
} }
} }
@ -252,12 +266,14 @@ namespace HeavenStudio.Games
{ {
StoreAllCallEntities(); StoreAllCallEntities();
PersistPreviousEntities(beat); PersistPreviousEntities(beat);
DoInactiveStartInterval(beat, false);
} }
public override void OnPlay(double beat) public override void OnPlay(double beat)
{ {
StoreAllCallEntities(); StoreAllCallEntities();
PersistPreviousEntities(beat); PersistPreviousEntities(beat);
DoInactiveStartInterval(beat, true);
} }
private void StoreAllCallEntities() private void StoreAllCallEntities()
@ -287,6 +303,16 @@ namespace HeavenStudio.Games
} }
} }
private void DoInactiveStartInterval(double beat, bool fromPlay)
{
RiqEntity startIntervalEntity = gameManager.Beatmap.Entities.FindLast(e => (fromPlay ? e.beat : e.beat - 2) < beat && e.beat + e.length >= beat && e.datamodel == "dressYourBest/start interval");
Debug.Log("startIntervalEntity.beat : " + (startIntervalEntity?.beat ?? -1));
if (startIntervalEntity != null) {
RiqEntity e = startIntervalEntity;
QueueStartInterval(e.beat, e.length, e["autoPass"], e["autoReact"]);
}
}
private void SetLightFromState(LightState state) private void SetLightFromState(LightState state)
{ {
ColorPair colorPair = lightStates[(int)state]; ColorPair colorPair = lightStates[(int)state];
@ -406,7 +432,7 @@ namespace HeavenStudio.Games
foreach (RiqEntity call in neededCalls) foreach (RiqEntity call in neededCalls)
{ {
double relativeBeat = call.beat - startIntervalBeat; double relativeBeat = call.beat - startIntervalBeat;
_ = ScheduleInput(beat, relativeBeat + 1, InputAction_BasicPress, OnHit, OnMiss, null); _ = ScheduleInput(beat, relativeBeat + 1, InputAction_Press, OnHit, OnMiss, null);
} }
if (autoReact) { if (autoReact) {
double reactBeat = (beat * 2) - startIntervalBeat + 1; double reactBeat = (beat * 2) - startIntervalBeat + 1;