last of the easy games' touch

This commit is contained in:
minenice55 2023-09-21 23:46:29 -04:00
parent 4d2ae2f636
commit e4aa90def4
16 changed files with 207 additions and 71 deletions

View file

@ -146,8 +146,8 @@ namespace HeavenStudio.Games
if (!want)
{
simul = PlayerInput.GetTouchDown(InputController.ActionsTouch.Right, out dt)
&& instance.IsExpectingInputNow(InputAction_Left.inputLockCategory)
&& instance.IsExpectingInputNow(InputAction_Right.inputLockCategory);
&& instance.IsExpectingInputNow(InputAction_Left)
&& instance.IsExpectingInputNow(InputAction_Right);
}
return want || simul;
}
@ -167,8 +167,8 @@ namespace HeavenStudio.Games
if (!want)
{
simul = PlayerInput.GetTouchDown(InputController.ActionsTouch.Left, out dt)
&& instance.IsExpectingInputNow(InputAction_Left.inputLockCategory)
&& instance.IsExpectingInputNow(InputAction_Right.inputLockCategory);
&& instance.IsExpectingInputNow(InputAction_Left)
&& instance.IsExpectingInputNow(InputAction_Right);
}
return want || simul;
}

View file

@ -297,7 +297,7 @@ namespace HeavenStudio.Games
sfxNumR = sfxNumR,
});
prepare = prepare && PlayerInput.CurrentControlStyle != InputController.ControlStyles.Touch;
prepare = prepare && PlayerInput.CurrentControlStyle != InputController.ControlStyles.Touch && PlayerInput.PlayerHasControl();
if (prepare) DogNinja.instance.DogAnim.SetBool("needPrepare", true);
}
@ -348,7 +348,7 @@ namespace HeavenStudio.Games
public void Prepare(double beat)
{
if (PlayerInput.CurrentControlStyle == InputController.ControlStyles.Touch) return;
if (PlayerInput.CurrentControlStyle == InputController.ControlStyles.Touch && PlayerInput.PlayerHasControl()) return;
if (!DogAnim.GetBool("needPrepare")) DogAnim.DoScaledAnimationAsync("Prepare", 0.5f);
DogAnim.SetBool("needPrepare", true);
}

View file

@ -18,7 +18,7 @@ namespace HeavenStudio.Games.Scripts_Kitties
private bool hasClapped = false;
public bool canClap = false;
private bool hasSpun = true;
private bool hasSpun = false;
private bool checkSpin = false;
private bool hasFish = false;
@ -34,17 +34,21 @@ namespace HeavenStudio.Games.Scripts_Kitties
{
var cond = Conductor.instance;
if (PlayerInput.Pressed() && canClap && !Kitties.instance.IsExpectingInputNow(InputType.STANDARD_DOWN))
if (PlayerInput.GetIsAction(Kitties.InputAction_BasicPress) && canClap && !Kitties.instance.IsExpectingInputNow(Kitties.InputAction_BasicPress))
{
SoundByte.PlayOneShot("miss");
if (spawnType != 3)
anim.Play("ClapFail", 0, 0);
else
anim.Play("FaceClapFail", 0, 0);
if (PlayerInput.CurrentControlStyle == InputSystem.InputController.ControlStyles.Touch && !Kitties.instance.IsExpectingInputNow(Kitties.InputAction_AltStart))
{
SoundByte.PlayOneShot("miss");
if (spawnType != 3)
anim.Play("ClapFail", 0, 0);
else
anim.Play("FaceClapFail", 0, 0);
}
}
if (PlayerInput.AltPressed() && canClap && !Kitties.instance.IsExpectingInputNow(InputType.STANDARD_ALT_DOWN)
|| PlayerInput.AltPressedUp() && canClap && !Kitties.instance.IsExpectingInputNow(InputType.STANDARD_ALT_UP) && hasSpun)
if ((PlayerInput.GetIsAction(Kitties.InputAction_AltStart) && canClap && !(Kitties.instance.IsExpectingInputNow(Kitties.InputAction_AltStart) || Kitties.instance.IsExpectingInputNow(Kitties.InputAction_BasicPress)))
|| (PlayerInput.GetIsAction(Kitties.InputAction_AltFinish) && canClap && !Kitties.instance.IsExpectingInputNow(Kitties.InputAction_AltFinish) && hasSpun)
|| ((PlayerInput.GetIsAction(Kitties.InputAction_TouchRelease) && !PlayerInput.GetIsAction(Kitties.InputAction_AltFinish)) && canClap && hasSpun))
{
RollFail();
}
@ -53,25 +57,24 @@ namespace HeavenStudio.Games.Scripts_Kitties
public void ScheduleClap(double beat, int type)
{
spawnType = type;
Kitties.instance.ScheduleInput(beat, 2.5f, InputType.STANDARD_DOWN, ClapSuccessOne, ClapMissOne, ClapEmpty);
Kitties.instance.ScheduleInput(beat, 3f, InputType.STANDARD_DOWN, ClapSuccessTwo, ClapMissTwo, ClapEmpty);
Kitties.instance.ScheduleInput(beat, 2.5f, Kitties.InputAction_BasicPress, ClapSuccessOne, ClapMissOne, ClapEmpty);
Kitties.instance.ScheduleInput(beat, 3f, Kitties.InputAction_BasicPress, ClapSuccessTwo, ClapMissTwo, ClapEmpty);
}
public void ScheduleRoll(double beat)
{
Kitties.instance.ScheduleInput(beat, 2f, InputType.STANDARD_ALT_DOWN, SpinSuccessOne, SpinMissOne, SpinEmpty);
Kitties.instance.ScheduleInput(beat, 2f, Kitties.InputAction_AltStart, SpinSuccessOne, SpinMissOne, SpinEmpty);
}
public void ScheduleRollFinish(double beat)
{
Debug.Log(hasSpun);
if (hasSpun)
Kitties.instance.ScheduleInput(beat, 2.75f, InputType.STANDARD_ALT_UP, SpinSuccessTwo, SpinMissTwo, SpinEmpty);
Kitties.instance.ScheduleInput(beat, 2.75f, Kitties.InputAction_AltFinish, SpinSuccessTwo, SpinMissTwo, SpinEmpty);
}
public void ScheduleFish(double beat)
{
Kitties.instance.ScheduleInput(beat, 2.75f, InputType.STANDARD_DOWN, FishSuccess, FishMiss, FishEmpty);
Kitties.instance.ScheduleInput(beat, 2.75f, Kitties.InputAction_BasicPress, FishSuccess, FishMiss, FishEmpty);
}
public void ClapSuccessOne(PlayerActionEvent Caller, float state)
@ -152,12 +155,14 @@ namespace HeavenStudio.Games.Scripts_Kitties
hasSpun = true;
SoundByte.PlayOneShotGame("kitties/roll5");
anim.Play("Rolling", 0, 0);
ScheduleRollFinish(caller.startBeat);
}
public void SpinSuccessTwo(PlayerActionEvent caller, float beat)
{
SoundByte.PlayOneShotGame("kitties/roll6");
anim.Play("RollEnd", 0, 0);
hasSpun = false;
}
public void SpinMissOne(PlayerActionEvent caller)

View file

@ -1,4 +1,5 @@
using HeavenStudio.Util;
using HeavenStudio.InputSystem;
using System;
using System.Collections.Generic;
using UnityEngine;
@ -110,6 +111,42 @@ namespace HeavenStudio.Games
public static Kitties instance;
const int IAAltDownCat = 4;
const int IAAltUpCat = 5;
protected static bool IA_PadAltPress(out double dt)
{
return PlayerInput.GetPadDown(InputController.ActionsPad.South, out dt);
}
protected static bool IA_BatonAltPress(out double dt)
{
return PlayerInput.GetSqueezeDown(out dt);
}
protected static bool IA_TouchAltPress(out double dt)
{
return PlayerInput.GetTouchDown(InputController.ActionsTouch.Tap, out dt)
&& instance.IsExpectingInputNow(InputAction_AltStart);
}
protected static bool IA_PadAltRelease(out double dt)
{
return PlayerInput.GetPadUp(InputController.ActionsPad.South, out dt);
}
protected static bool IA_BatonAltRelease(out double dt)
{
return PlayerInput.GetSqueezeUp(out dt);
}
public static PlayerInput.InputAction InputAction_AltStart =
new("CtrTeppanAltStart", new int[] { IAAltDownCat, IAAltDownCat, IAAltDownCat },
IA_PadAltPress, IA_TouchAltPress, IA_BatonAltPress);
public static PlayerInput.InputAction InputAction_AltFinish =
new("CtrTeppanAltFinish", new int[] { IAAltUpCat, IAFlickCat, IAAltUpCat },
IA_PadAltRelease, IA_TouchFlick, IA_BatonAltRelease);
public static PlayerInput.InputAction InputAction_TouchRelease =
new("CtrTeppanTouchRelease", new int[] { IAEmptyCat, IAReleaseCat, IAEmptyCat },
IA_Empty, IA_TouchBasicRelease, IA_Empty);
void Awake()
{
instance = this;
@ -229,7 +266,7 @@ namespace HeavenStudio.Games
new BeatAction.Action(beat + 1.5f, delegate { kitties[0].Play("RollStart", 0, 0); }),
new BeatAction.Action(beat + 2f, delegate { kitties[0].Play("Rolling", 0, 0); }),
new BeatAction.Action(beat + 2.75f, delegate { kitties[0].Play("RollEnd", 0, 0); })
});
});
BeatAction.New(instance, new List<BeatAction.Action>()
{
@ -246,9 +283,8 @@ namespace HeavenStudio.Games
new BeatAction.Action(beat, delegate { kitties[2].Play("RollStart", 0, 0); }),
new BeatAction.Action(beat + .5f, delegate { kitties[2].Play("RollStart", 0, 0); }),
new BeatAction.Action(beat + 1f, delegate { kitties[2].Play("RollStart", 0, 0); }),
new BeatAction.Action(beat + 1.5f, delegate { kitties[2].Play("RollStart", 0, 0); }),
new BeatAction.Action(beat + 2f, delegate { player.ScheduleRollFinish(beat); })
});
new BeatAction.Action(beat + 1.5f, delegate { kitties[2].Play("RollStart", 0, 0); })
});
if (!keepSpawned)
{

View file

@ -18,7 +18,7 @@ namespace HeavenStudio.Games.Scripts_RhythmTweezers
{
game = RhythmTweezers.instance;
tweezers = tweezer;
game.ScheduleInput(beat, length, InputType.STANDARD_DOWN | InputType.DIRECTION_DOWN, Just, Miss, Out);
game.ScheduleInput(beat, length, RhythmTweezers.InputAction_Press, Just, Miss, Out);
}
public void Ace()

View file

@ -32,7 +32,7 @@ namespace HeavenStudio.Games.Scripts_RhythmTweezers
anim = GetComponent<Animator>();
tweezers = tweezer;
inputBeat = beat + length;
game.ScheduleInput(beat, length, InputType.STANDARD_DOWN | InputType.DIRECTION_DOWN, StartJust, StartMiss, Out);
game.ScheduleInput(beat, length, RhythmTweezers.InputAction_Press, StartJust, StartMiss, Out);
}
private void Update()
@ -46,7 +46,7 @@ namespace HeavenStudio.Games.Scripts_RhythmTweezers
float normalizedBeat = Conductor.instance.GetPositionFromBeat(inputBeat, 0.5f);
anim.Play("LoopPull", 0, normalizedBeat);
tweezers.anim.Play("Tweezers_LongPluck", 0, normalizedBeat);
if (!game.IsExpectingInputNow(InputType.STANDARD_UP | InputType.DIRECTION_DOWN_UP) && (PlayerInput.PressedUp() || PlayerInput.GetAnyDirectionUp()) && normalizedBeat < 1f)
if (!game.IsExpectingInputNow(RhythmTweezers.InputAction_Release) && PlayerInput.GetIsAction(RhythmTweezers.InputAction_Release) && normalizedBeat < 1f)
{
EndEarly();
endEvent.Disable();
@ -92,7 +92,7 @@ namespace HeavenStudio.Games.Scripts_RhythmTweezers
}
pullSound = SoundByte.PlayOneShotGame($"rhythmTweezers/longPull{UnityEngine.Random.Range(1, 5)}");
pluckState = 1;
endEvent = game.ScheduleInput(inputBeat, 0.5f, InputType.STANDARD_UP | InputType.DIRECTION_DOWN_UP, EndJust, Out, Out);
endEvent = game.ScheduleInput(inputBeat, 0.5f, RhythmTweezers.InputAction_Release, EndJust, Out, Out);
}
private void StartMiss(PlayerActionEvent caller)

View file

@ -5,6 +5,7 @@ using System;
using Starpelly;
using DG.Tweening;
using HeavenStudio.Util;
using HeavenStudio.InputSystem;
namespace HeavenStudio.Games.Loaders
{
@ -208,6 +209,35 @@ namespace HeavenStudio.Games
}
private static List<QueuedInterval> queuedIntervals = new List<QueuedInterval>();
protected static bool IA_PadAnyDown(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);
}
protected static bool IA_PadAnyUp(out double dt)
{
bool face = PlayerInput.GetPadUp(InputController.ActionsPad.East, out dt)
&& !(PlayerInput.GetPad(InputController.ActionsPad.Up)
|| PlayerInput.GetPad(InputController.ActionsPad.Down)
|| PlayerInput.GetPad(InputController.ActionsPad.Left)
|| PlayerInput.GetPad(InputController.ActionsPad.Right));
bool pad = (PlayerInput.GetPadUp(InputController.ActionsPad.Up)
|| PlayerInput.GetPadUp(InputController.ActionsPad.Down)
|| PlayerInput.GetPadUp(InputController.ActionsPad.Left)
|| PlayerInput.GetPadUp(InputController.ActionsPad.Right))
&& !PlayerInput.GetPad(InputController.ActionsPad.East);
return face || pad;
}
public static PlayerInput.InputAction InputAction_Press =
new("AgbHairPress", new int[] { IAPressCat, IAPressCat, IAPressCat },
IA_PadAnyDown, IA_TouchBasicPress, IA_BatonBasicPress);
public static PlayerInput.InputAction InputAction_Release =
new("AgbHairRelease", new int[] { IAReleaseCat, IAReleaseCat, IAReleaseCat },
IA_PadAnyUp, IA_TouchBasicRelease, IA_BatonBasicRelease);
private void Awake()
{
instance = this;

View file

@ -60,20 +60,15 @@ namespace HeavenStudio.Games.Scripts_RhythmTweezers
Destroy(gameObject);
}
}
if (PlayerInput.GetIsAction(RhythmTweezers.InputAction_Press) && !game.IsExpectingInputNow(RhythmTweezers.InputAction_Press))
{
DropHeldHair();
anim.Play("Tweezers_Pluck", 0, 0);
}
}
private void LateUpdate()
{
if (PlayerInput.Pressed() || PlayerInput.GetAnyDirectionDown())
{
if (!pluckingThisFrame) // Did you do a successful pluck earlier in the frame?
{
DropHeldHair();
anim.Play("Tweezers_Pluck", 0, 0);
}
}
pluckingThisFrame = false;
}
public void Pluck(bool ace, Hair hair)
@ -110,7 +105,7 @@ namespace HeavenStudio.Games.Scripts_RhythmTweezers
anim.Play("Tweezers_Pluck_Fail", 0, 0);
}
pluckingThisFrame = true; // Prevents standard pluck from playing in LateUpdate().
// pluckingThisFrame = true; // Prevents standard pluck from playing in LateUpdate().
holdingHair = true;
}
@ -138,7 +133,7 @@ namespace HeavenStudio.Games.Scripts_RhythmTweezers
anim.Play("Tweezers_Pluck_Success", 0, 0);
}
pluckingThisFrame = true;
// pluckingThisFrame = true;
holdingHair = true;
}

View file

@ -9,12 +9,13 @@ namespace HeavenStudio.Games.Loaders
using static Minigames;
public static class AgbTapLoader
{
public static Minigame AddGame(EventCaller eventCaller) {
public static Minigame AddGame(EventCaller eventCaller)
{
return new Minigame("tapTrial", "Tap Trial", "94ffb5", false, false, new List<GameAction>()
{
new GameAction("bop", "Bop")
{
function = delegate { var e = eventCaller.currentEntity; TapTrial.instance.Bop(e.beat, e.length, e["toggle"], e["toggle2"]); },
function = delegate { var e = eventCaller.currentEntity; TapTrial.instance.Bop(e.beat, e.length, e["toggle"], e["toggle2"]); },
resizable = true,
parameters = new List<Param>()
{
@ -24,26 +25,26 @@ namespace HeavenStudio.Games.Loaders
},
new GameAction("tap", "Tap")
{
function = delegate { TapTrial.instance.Tap(eventCaller.currentEntity.beat); },
function = delegate { TapTrial.instance.Tap(eventCaller.currentEntity.beat); },
defaultLength = 2.0f
},
new GameAction("double tap", "Double Tap")
{
function = delegate { TapTrial.instance.DoubleTap(eventCaller.currentEntity.beat); },
function = delegate { TapTrial.instance.DoubleTap(eventCaller.currentEntity.beat); },
defaultLength = 2.0f
},
new GameAction("triple tap", "Triple Tap")
{
function = delegate { TapTrial.instance.TripleTap(eventCaller.currentEntity.beat); },
function = delegate { TapTrial.instance.TripleTap(eventCaller.currentEntity.beat); },
defaultLength = 4.0f
},
new GameAction("jump tap prep", "Prepare Stance")
{
function = delegate { TapTrial.instance.JumpPrepare(); },
function = delegate { TapTrial.instance.JumpPrepare(); },
},
new GameAction("jump tap", "Jump Tap")
{
function = delegate { var e = eventCaller.currentEntity; TapTrial.instance.JumpTap(e.beat, e["final"]); },
function = delegate { var e = eventCaller.currentEntity; TapTrial.instance.JumpTap(e.beat, e["final"]); },
defaultLength = 2.0f,
parameters = new List<Param>()
{
@ -52,7 +53,7 @@ namespace HeavenStudio.Games.Loaders
},
new GameAction("scroll event", "Scroll Background")
{
function = delegate { var e = eventCaller.currentEntity; TapTrial.instance.Scroll(e["toggle"], e["flash"], e["m"]); },
function = delegate { var e = eventCaller.currentEntity; TapTrial.instance.Scroll(e["toggle"], e["flash"], e["m"]); },
defaultLength = 1f,
parameters = new List<Param>()
{
@ -66,7 +67,7 @@ namespace HeavenStudio.Games.Loaders
},
new GameAction("giraffe events", "Giraffe Animations")
{
function = delegate { var e = eventCaller.currentEntity; TapTrial.instance.GiraffeAnims(e.beat, e.length, e["toggle"], e["instant"]); },
function = delegate { var e = eventCaller.currentEntity; TapTrial.instance.GiraffeAnims(e.beat, e.length, e["toggle"], e["instant"]); },
resizable = true,
parameters = new List<Param>()
{
@ -82,9 +83,9 @@ namespace HeavenStudio.Games.Loaders
hidden = true
},
},
new List<string>() {"agb", "normal"},
new List<string>() { "agb", "normal" },
"agbtap", "en",
new List<string>() {}
new List<string>() { }
);
}
}
@ -151,7 +152,7 @@ namespace HeavenStudio.Games
currentNormalizedY = 0;
flash.color = new Color(1, 1, 1, 0);
}
private bool scrolling;
private bool flashing;
[SerializeField] private float maxScrollSpeed = 0.25f;
@ -255,7 +256,7 @@ namespace HeavenStudio.Games
if (bop)
{
List<BeatAction.Action> actions = new();
for (int i = 0; i < length; i++)
for (int i = 0; i < length; i++)
{
actions.Add(new BeatAction.Action(beat + i, delegate { SingleBop(); }));
}
@ -302,7 +303,7 @@ namespace HeavenStudio.Games
new MultiSound.Sound("tapTrial/tapMonkey", beat + 1, 1.4f, 0.5f),
});
ScheduleInput(beat, 1, InputType.STANDARD_DOWN, JustTap, Miss, Empty);
ScheduleInput(beat, 1, InputAction_BasicPress, JustTap, Miss, Empty);
}
public void DoubleTap(double beat)
@ -340,8 +341,8 @@ namespace HeavenStudio.Games
new MultiSound.Sound("tapTrial/tapMonkey", beat + 1.5, 1.4f, 0.5f),
});
ScheduleInput(beat, 1, InputType.STANDARD_DOWN, JustDoubleTap, Miss, Empty);
ScheduleInput(beat, 1.5, InputType.STANDARD_DOWN, JustDoubleTap, Miss, Empty);
ScheduleInput(beat, 1, InputAction_BasicPress, JustDoubleTap, Miss, Empty);
ScheduleInput(beat, 1.5, InputAction_BasicPress, JustDoubleTap, Miss, Empty);
}
public void TripleTap(double beat)
@ -384,9 +385,9 @@ namespace HeavenStudio.Games
new MultiSound.Sound("tapTrial/tapMonkey", beat + 3, 1.4f, 0.5f),
});
ScheduleInput(beat, 2, InputType.STANDARD_DOWN, JustTripleTap, Miss, Empty);
ScheduleInput(beat, 2.5, InputType.STANDARD_DOWN, JustTripleTap, Miss, Empty);
ScheduleInput(beat, 3, InputType.STANDARD_DOWN, JustTripleTap, Miss, Empty);
ScheduleInput(beat, 2, InputAction_BasicPress, JustTripleTap, Miss, Empty);
ScheduleInput(beat, 2.5, InputAction_BasicPress, JustTripleTap, Miss, Empty);
ScheduleInput(beat, 3, InputAction_BasicPress, JustTripleTap, Miss, Empty);
}
public void JumpPrepare()
@ -425,7 +426,7 @@ namespace HeavenStudio.Games
new MultiSound.Sound("tapTrial/tapMonkey", beat + 1, 1.4f, 0.5f),
});
ScheduleInput(beat, 1, InputType.STANDARD_DOWN, final ? JustJumpTapFinal : JustJumpTap, final ? MissJumpFinal : MissJump, Empty);
ScheduleInput(beat, 1, InputAction_BasicPress, final ? JustJumpTapFinal : JustJumpTap, final ? MissJumpFinal : MissJump, Empty);
}
private void JustJumpTap(PlayerActionEvent caller, float state)

View file

@ -31,7 +31,7 @@ namespace HeavenStudio.Games.Scripts_TapTrial
private void Update()
{
if (PlayerInput.Pressed() && !game.IsExpectingInputNow(InputType.STANDARD_DOWN))
if (PlayerInput.GetIsAction(TapTrial.InputAction_BasicPress) && !game.IsExpectingInputNow(TapTrial.InputAction_BasicPress))
{
WhiffTap();
}

View file

@ -233,7 +233,7 @@ namespace HeavenStudio.Games
}
queuedTaps.Clear();
}
if (PlayerInput.Pressed() && !IsExpectingInputNow(InputType.STANDARD_DOWN))
if (PlayerInput.GetIsAction(InputAction_BasicPress) && !IsExpectingInputNow(InputAction_BasicPress))
{
if (canSpit && !useTutorialMissFace) SoundByte.PlayOneShotGame("tapTroupe/spit", -1, 1, 0.5f);
SoundByte.PlayOneShotGame("tapTroupe/miss");
@ -351,7 +351,7 @@ namespace HeavenStudio.Games
{
for (int i = 0; i < length; i++)
{
TapTroupe.instance.ScheduleInput(beat - 1, 1 + i, InputType.STANDARD_DOWN, TapTroupe.instance.JustStep, TapTroupe.instance.MissStep, TapTroupe.instance.Nothing);
TapTroupe.instance.ScheduleInput(beat - 1, 1 + i, InputAction_BasicPress, TapTroupe.instance.JustStep, TapTroupe.instance.MissStep, TapTroupe.instance.Nothing);
BeatAction.New(instance, new List<BeatAction.Action>()
{
new BeatAction.Action(beat + i, delegate
@ -503,7 +503,7 @@ namespace HeavenStudio.Games
soundsToPlay.Add(new MultiSound.Sound($"tapTroupe/{otherSoundToPlay}", beatToSpawn));
shouldDoSecondBam = secondBam;
secondBam = !secondBam;
ScheduleInput(beatToSpawn - 1, 1f, InputType.STANDARD_DOWN, JustTap, MissTap, Nothing);
ScheduleInput(beatToSpawn - 1, 1f, InputAction_BasicPress, JustTap, MissTap, Nothing);
}
int actualOkayType = okayType;
if (actualOkayType == (int)OkayType.Random) actualOkayType = UnityEngine.Random.Range(0, 3);

View file

@ -1,4 +1,5 @@
using HeavenStudio.Util;
using HeavenStudio.InputSystem;
using System;
using System.Collections.Generic;
using UnityEngine;
@ -97,6 +98,61 @@ namespace HeavenStudio.Games
private bool goingUp = true;
private Util.EasingFunction.Ease curtainEase = Util.EasingFunction.Ease.Linear;
const int IALeft = 0;
const int IARight = 1;
protected static bool IA_PadLeft(out double dt)
{
return 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);
}
protected static bool IA_BatonLeft(out double dt)
{
return PlayerInput.GetBatonDown(InputController.ActionsBaton.West, out dt);
}
protected static bool IA_TouchLeft(out double dt)
{
bool want = PlayerInput.GetTouchDown(InputController.ActionsTouch.Left, out dt);
bool simul = false;
if (!want)
{
simul = PlayerInput.GetTouchDown(InputController.ActionsTouch.Right, out dt)
&& instance.IsExpectingInputNow(InputAction_Left)
&& instance.IsExpectingInputNow(InputAction_Right);
}
return want || simul;
}
protected static bool IA_PadRight(out double dt)
{
return PlayerInput.GetPadDown(InputController.ActionsPad.East, out dt);
}
protected static bool IA_BatonRight(out double dt)
{
return PlayerInput.GetBatonDown(InputController.ActionsBaton.East, out dt);
}
protected static bool IA_TouchRight(out double dt)
{
bool want = PlayerInput.GetTouchDown(InputController.ActionsTouch.Right, out dt);
bool simul = false;
if (!want)
{
simul = PlayerInput.GetTouchDown(InputController.ActionsTouch.Left, out dt)
&& instance.IsExpectingInputNow(InputAction_Left)
&& instance.IsExpectingInputNow(InputAction_Right);
}
return want || simul;
}
public static PlayerInput.InputAction InputAction_Left =
new("AgbTramLeft", new int[] { IALeft, IALeft, IALeft },
IA_PadLeft, IA_TouchLeft, IA_BatonLeft);
public static PlayerInput.InputAction InputAction_Right =
new("AgbTramRight", new int[] { IARight, IARight, IARight },
IA_PadRight, IA_TouchRight, IA_BatonRight);
private void Awake()
{
instance = this;
@ -226,14 +282,14 @@ namespace HeavenStudio.Games
{
SoundByte.PlayOneShotGame("tramAndPauline/jump" + UnityEngine.Random.Range(1, 3));
tram.Jump(beat);
ScheduleInput(beat, 1, InputType.DIRECTION_DOWN, audienceReact ? TramJustAudience : TramJust, Empty, Empty);
ScheduleInput(beat, 1, InputAction_Left, audienceReact ? TramJustAudience : TramJust, Empty, Empty);
}
private void PaulineJump(double beat, bool audienceReact)
{
SoundByte.PlayOneShotGame("tramAndPauline/jump" + UnityEngine.Random.Range(1, 3));
pauline.Jump(beat);
ScheduleInput(beat, 1, InputType.STANDARD_DOWN, audienceReact ? PaulineJustAudience : PaulineJust, Empty, Empty);
ScheduleInput(beat, 1, InputAction_Right, audienceReact ? PaulineJustAudience : PaulineJust, Empty, Empty);
}
private void TramJust(PlayerActionEvent caller, float state)

View file

@ -110,7 +110,7 @@ namespace HeavenStudio.Games
{
return;
}
if (PlayerInput.Pressed() && !IsExpectingInputNow())
if (PlayerInput.GetIsAction(InputAction_BasicPress) && !IsExpectingInputNow(InputAction_BasicPress))
{
HitCowbell();
//print("unexpected input");
@ -154,7 +154,7 @@ namespace HeavenStudio.Games
started = true;
for(int i = 0; i < length; i++)
{
ScheduleInput(beat, i, InputType.STANDARD_DOWN, CowbellSuccess, CowbellMiss, CowbellEmpty);
ScheduleInput(beat, i, InputAction_BasicPress, CowbellSuccess, CowbellMiss, CowbellEmpty);
}
}

View file

@ -25,7 +25,7 @@ namespace HeavenStudio.Games.Scripts_WizardsWaltz
public void StartInput(double beat, float length)
{
game.ScheduleInput(beat, length, InputType.STANDARD_DOWN | InputType.DIRECTION_DOWN, Just, Miss, Out);
game.ScheduleInput(beat, length, WizardsWaltz.InputAction_Press, Just, Miss, Out);
}
private void Update()

View file

@ -40,7 +40,7 @@ namespace HeavenStudio.Games.Scripts_WizardsWaltz
private void LateUpdate()
{
if (PlayerInput.Pressed() || PlayerInput.GetAnyDirectionDown())
if (PlayerInput.GetIsAction(WizardsWaltz.InputAction_Press))
{
animator.Play("Magic", 0, 0);
SoundByte.PlayOneShotGame("wizardsWaltz/wand");

View file

@ -6,6 +6,7 @@ using System;
using Starpelly;
using HeavenStudio.Util;
using HeavenStudio.InputSystem;
namespace HeavenStudio.Games.Loaders
{
@ -71,6 +72,18 @@ namespace HeavenStudio.Games
private static CallAndResponseHandler crHandlerInstance;
protected static bool IA_PadAnyDown(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);
}
public static PlayerInput.InputAction InputAction_Press =
new("AgbWizardPress", new int[] { IAPressCat, IAPressCat, IAPressCat },
IA_PadAnyDown, IA_TouchBasicPress, IA_BatonBasicPress);
private void Awake()
{
instance = this;