multiple games

This commit is contained in:
minenice55 2023-09-21 21:23:34 -04:00
parent d1f20a3778
commit 4d2ae2f636
26 changed files with 10105 additions and 94 deletions

View file

@ -1310,7 +1310,7 @@ SpriteRenderer:
m_LightmapParameters: {fileID: 0} m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0 m_SortingLayerID: 0
m_SortingLayer: 0 m_SortingLayer: 0
m_SortingOrder: 0 m_SortingOrder: -1
m_Sprite: {fileID: 471275613544938806, guid: 1f442840d85d9e944819c7e21ab38483, type: 3} m_Sprite: {fileID: 471275613544938806, guid: 1f442840d85d9e944819c7e21ab38483, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 0.41960785} m_Color: {r: 1, g: 1, b: 1, a: 0.41960785}
m_FlipX: 0 m_FlipX: 0
@ -12337,7 +12337,7 @@ ParticleSystemRenderer:
m_LightmapParameters: {fileID: 0} m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0 m_SortingLayerID: 0
m_SortingLayer: 0 m_SortingLayer: 0
m_SortingOrder: 4 m_SortingOrder: 0
m_RenderMode: 0 m_RenderMode: 0
m_MeshDistribution: 0 m_MeshDistribution: 0
m_SortMode: 0 m_SortMode: 0
@ -14435,7 +14435,6 @@ MonoBehaviour:
SoundSequences: [] SoundSequences: []
EligibleHits: [] EligibleHits: []
scheduledInputs: [] scheduledInputs: []
firstEnable: 0
soccer: {fileID: 6033749656558512970, guid: 3f09924efb4db354aa2899ebbebfbcf5, type: 3} soccer: {fileID: 6033749656558512970, guid: 3f09924efb4db354aa2899ebbebfbcf5, type: 3}
basket: {fileID: 5811262171106880114, guid: 5f00b13cb8a13dc49b2fc7d78e9c8a5d, type: 3} basket: {fileID: 5811262171106880114, guid: 5f00b13cb8a13dc49b2fc7d78e9c8a5d, type: 3}
football: {fileID: 8037004963704552774, guid: 8945cdc8b29cf4640b7f7d1c678be884, type: 3} football: {fileID: 8037004963704552774, guid: 8945cdc8b29cf4640b7f7d1c678be884, type: 3}
@ -14457,7 +14456,7 @@ MonoBehaviour:
anchor: {fileID: 0} anchor: {fileID: 0}
positions: positions:
- tag: - tag:
pos: {x: -12.2, y: -2.75, z: 0} pos: {x: -12.5, y: -2.75, z: 0}
target: {fileID: 0} target: {fileID: 0}
height: 4.4 height: 4.4
duration: 1 duration: 1
@ -14466,7 +14465,7 @@ MonoBehaviour:
- key: rot - key: rot
value: 135 value: 135
- tag: - tag:
pos: {x: -6.7, y: -2.75, z: 0} pos: {x: -7.75, y: -2.75, z: 0}
target: {fileID: 0} target: {fileID: 0}
height: 2.75 height: 2.75
duration: 1.2 duration: 1.2
@ -14475,19 +14474,19 @@ MonoBehaviour:
- key: rot - key: rot
value: 202.5 value: 202.5
- tag: - tag:
pos: {x: -1.2, y: -2.75, z: 0} pos: {x: -2.15, y: -2.75, z: 0}
target: {fileID: 0} target: {fileID: 0}
height: 2.5 height: 2.5
duration: 1.2 duration: 1.25
useLastRealPos: 0 useLastRealPos: 0
values: values:
- key: rot - key: rot
value: 151.875 value: 151.875
- tag: - tag:
pos: {x: 4.3, y: -2.75, z: 0} pos: {x: 3.5, y: -2.75, z: 0}
target: {fileID: 0} target: {fileID: 0}
height: 1.8 height: 1.8
duration: 1.5 duration: 1.6
useLastRealPos: 0 useLastRealPos: 0
values: values:
- key: rot - key: rot
@ -14582,7 +14581,7 @@ MonoBehaviour:
anchor: {fileID: 0} anchor: {fileID: 0}
positions: positions:
- tag: - tag:
pos: {x: -12, y: -2.75, z: 0} pos: {x: -12.25, y: -2.75, z: 0}
target: {fileID: 0} target: {fileID: 0}
height: 4.4 height: 4.4
duration: 1 duration: 1

View file

@ -5223,3 +5223,10 @@ AnimationClip:
floatParameter: 0 floatParameter: 0
intParameter: 0 intParameter: 0
messageOptions: 0 messageOptions: 0
- time: 0.8
functionName: EnableBop
data:
objectReferenceParameter: {fileID: 0}
floatParameter: 0
intParameter: 0
messageOptions: 0

View file

@ -81,6 +81,12 @@ AnimatorStateMachine:
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: 3405943571545831607} m_State: {fileID: 3405943571545831607}
m_Position: {x: 435, y: 565, z: 0} m_Position: {x: 435, y: 565, z: 0}
- serializedVersion: 1
m_State: {fileID: 124305183826925708}
m_Position: {x: -150, y: 280, z: 0}
- serializedVersion: 1
m_State: {fileID: -1689300076074279085}
m_Position: {x: 60, y: 280, z: 0}
m_ChildStateMachines: [] m_ChildStateMachines: []
m_AnyStateTransitions: [] m_AnyStateTransitions: []
m_EntryTransitions: [] m_EntryTransitions: []
@ -189,6 +195,33 @@ AnimatorState:
m_MirrorParameter: m_MirrorParameter:
m_CycleOffsetParameter: m_CycleOffsetParameter:
m_TimeParameter: m_TimeParameter:
--- !u!1102 &-1689300076074279085
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: UnReady
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 5072795465433690740}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 12ed406172ab704469eef9441d6ced24, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!91 &9100000 --- !u!91 &9100000
AnimatorController: AnimatorController:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -211,6 +244,32 @@ AnimatorController:
m_IKPass: 0 m_IKPass: 0
m_SyncedLayerAffectsTiming: 0 m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000} m_Controller: {fileID: 9100000}
--- !u!1102 &124305183826925708
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Ready
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 1e68bbb68caf176428534ae09e098aa4, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &388957863343072032 --- !u!1102 &388957863343072032
AnimatorState: AnimatorState:
serializedVersion: 6 serializedVersion: 6
@ -263,6 +322,28 @@ AnimatorState:
m_MirrorParameter: m_MirrorParameter:
m_CycleOffsetParameter: m_CycleOffsetParameter:
m_TimeParameter: m_TimeParameter:
--- !u!1101 &5072795465433690740
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions: []
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 388957863343072032}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 1
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &8680951295974053903 --- !u!1101 &8680951295974053903
AnimatorStateTransition: AnimatorStateTransition:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1

View file

@ -12516,3 +12516,10 @@ AnimationClip:
floatParameter: 0 floatParameter: 0
intParameter: 0 intParameter: 0
messageOptions: 0 messageOptions: 0
- time: 0.73333335
functionName: EnableBop
data:
objectReferenceParameter: {fileID: 0}
floatParameter: 0
intParameter: 0
messageOptions: 0

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1e68bbb68caf176428534ae09e098aa4
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 12ed406172ab704469eef9441d6ced24
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -195,7 +195,6 @@ namespace HeavenStudio.Games
new("NtrNinjaTouchRelease", new int[] { IAEmptyCat, IAReleaseCat, IAEmptyCat }, new("NtrNinjaTouchRelease", new int[] { IAEmptyCat, IAReleaseCat, IAEmptyCat },
IA_Empty, IA_TouchBasicRelease, IA_Empty); IA_Empty, IA_TouchBasicRelease, IA_Empty);
private void Awake() private void Awake()
{ {
instance = this; instance = this;

View file

@ -39,7 +39,7 @@ namespace HeavenStudio.Games.Scripts_DoubleDate
public void Init(double beat) public void Init(double beat)
{ {
game.ScheduleInput(beat, 1f, InputType.STANDARD_DOWN, Just, Miss, Empty); game.ScheduleInput(beat, 1f, DoubleDate.InputAction_FlickPress, Just, Miss, Empty);
path = game.GetPath("BasketBallIn"); path = game.GetPath("BasketBallIn");
UpdateLastRealPos(); UpdateLastRealPos();
pathStartBeat = beat - 1f; pathStartBeat = beat - 1f;

View file

@ -96,6 +96,13 @@ namespace HeavenStudio.Games
public BallType type; public BallType type;
} }
public static PlayerInput.InputAction InputAction_TouchPress =
new("RvlDateTouchRelease", new int[] { IAEmptyCat, IAPressCat, IAEmptyCat },
IA_Empty, IA_TouchBasicPress, IA_Empty);
public static PlayerInput.InputAction InputAction_TouchRelease =
new("RvlDateTouchRelease", new int[] { IAEmptyCat, IAReleaseCat, IAEmptyCat },
IA_Empty, IA_TouchBasicRelease, IA_Empty);
// Editor gizmo to draw trajectories // Editor gizmo to draw trajectories
new void OnDrawGizmos() new void OnDrawGizmos()
{ {
@ -167,7 +174,15 @@ namespace HeavenStudio.Games
queuedBalls.Clear(); queuedBalls.Clear();
} }
} }
if (PlayerInput.Pressed() && !IsExpectingInputNow(InputType.STANDARD_DOWN)) if (PlayerInput.GetIsAction(InputAction_TouchPress))
{
boyAnim.DoScaledAnimationAsync("Ready", 1f);
}
if (PlayerInput.GetIsAction(InputAction_TouchRelease) && !IsExpectingInputNow(InputAction_FlickPress))
{
boyAnim.DoScaledAnimationAsync("UnReady", 1f);
}
if (PlayerInput.GetIsAction(InputAction_FlickPress) && !IsExpectingInputNow(InputAction_FlickPress))
{ {
SoundByte.PlayOneShotGame("doubleDate/kick_whiff"); SoundByte.PlayOneShotGame("doubleDate/kick_whiff");
Kick(true, true, false); Kick(true, true, false);

View file

@ -39,7 +39,7 @@ namespace HeavenStudio.Games.Scripts_DoubleDate
public void Init(double beat) public void Init(double beat)
{ {
game.ScheduleInput(beat, 1.5f, InputType.STANDARD_DOWN, Just, Miss, Empty); game.ScheduleInput(beat, 1.5f, DoubleDate.InputAction_FlickPress, Just, Miss, Empty);
path = game.GetPath("FootBallInNoHit"); // there's a second path for footballs that hit the weasels, use that if the weasels haven't been hit recently path = game.GetPath("FootBallInNoHit"); // there's a second path for footballs that hit the weasels, use that if the weasels haven't been hit recently
UpdateLastRealPos(); UpdateLastRealPos();
pathStartBeat = beat - 1f; pathStartBeat = beat - 1f;

View file

@ -39,7 +39,7 @@ namespace HeavenStudio.Games.Scripts_DoubleDate
public void Init(double beat) public void Init(double beat)
{ {
game.ScheduleInput(beat, 1f, InputType.STANDARD_DOWN, Just, Miss, Empty); game.ScheduleInput(beat, 1f, DoubleDate.InputAction_FlickPress, Just, Miss, Empty);
path = game.GetPath("SoccerIn"); path = game.GetPath("SoccerIn");
UpdateLastRealPos(); UpdateLastRealPos();
pathStartBeat = beat - 1f; pathStartBeat = beat - 1f;

View file

@ -42,7 +42,7 @@ namespace HeavenStudio.Games.Scripts_DrummingPractice
private void Update() private void Update()
{ {
if (player && PlayerInput.GetIsAction(DrummingPractice.InputAction_BasicPress) && !DrummingPractice.instance.IsExpectingInputNow(DrummingPractice.InputAction_BasicPress.inputLockCategory)) if (player && PlayerInput.GetIsAction(DrummingPractice.InputAction_BasicPress) && !DrummingPractice.instance.IsExpectingInputNow(DrummingPractice.InputAction_BasicPress))
{ {
Hit(false, false); Hit(false, false);
} }

View file

@ -23,7 +23,7 @@ namespace HeavenStudio.Games.Scripts_Fireworks
public void Init(double beat) public void Init(double beat)
{ {
game.ScheduleInput(beat, 1f, InputType.STANDARD_DOWN, Just, Out, Out); game.ScheduleInput(beat, 1f, Fireworks.InputAction_BasicPress, Just, Out, Out);
startBeat = beat; startBeat = beat;
} }

View file

@ -67,7 +67,7 @@ namespace HeavenStudio.Games.Scripts_Fireworks
{ {
startBeat = beat; startBeat = beat;
startY = transform.position.y - offSet; startY = transform.position.y - offSet;
game.ScheduleInput(beat, isSparkler ? 1f : 3f, InputType.STANDARD_DOWN, Just, Out, Out); game.ScheduleInput(beat, isSparkler ? 1f : 3f, Fireworks.InputAction_BasicPress, Just, Out, Out);
anim.DoScaledAnimationAsync(isSparkler ? "Sparkler" : "Rocket", isSparkler ? 1f : 0.5f); anim.DoScaledAnimationAsync(isSparkler ? "Sparkler" : "Rocket", isSparkler ? 1f : 0.5f);
selectedParticleEffect = particleEffects[explosionToChoose]; selectedParticleEffect = particleEffects[explosionToChoose];
} }

View file

@ -3,6 +3,7 @@ using System.Text;
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
using HeavenStudio.Util; using HeavenStudio.Util;
using HeavenStudio.InputSystem;
using TMPro; using TMPro;
using Jukebox; using Jukebox;
using UnityEngine.Assertions.Must; using UnityEngine.Assertions.Must;
@ -159,6 +160,19 @@ namespace HeavenStudio.Games
idle idle
} }
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);
}
public static PlayerInput.InputAction InputAction_Press =
new("CtrInterpreterPress", new int[] { IAPressCat, IAFlickCat, IAPressCat },
IA_PadAny, IA_TouchBasicPress, IA_BatonBasicPress);
void OnDestroy() void OnDestroy()
{ {
foreach (var evt in scheduledInputs) foreach (var evt in scheduledInputs)
@ -299,7 +313,7 @@ namespace HeavenStudio.Games
lastReportedBeat = Math.Round(Conductor.instance.songPositionInBeatsAsDouble); lastReportedBeat = Math.Round(Conductor.instance.songPositionInBeatsAsDouble);
} }
if ((PlayerInput.Pressed() || PlayerInput.GetAnyDirectionDown()) && !IsExpectingInputNow(InputType.STANDARD_DOWN | InputType.DIRECTION_DOWN)) if (PlayerInput.GetIsAction(InputAction_Press) && !IsExpectingInputNow(InputAction_Press))
{ {
translator.DoScaledAnimationAsync("translator_eh", 0.5f); translator.DoScaledAnimationAsync("translator_eh", 0.5f);
if (isSpeaking) if (isSpeaking)
@ -401,7 +415,7 @@ namespace HeavenStudio.Games
{ {
var input = inputs[i]; var input = inputs[i];
double relativeBeat = input.beat - intervalBeat; double relativeBeat = input.beat - intervalBeat;
ScheduleInput(beat, length + relativeBeat, InputType.STANDARD_DOWN | InputType.DIRECTION_DOWN, AlienTapping, AlienOnMiss, AlienEmpty); ScheduleInput(beat, length + relativeBeat, InputAction_Press, AlienTapping, AlienOnMiss, AlienEmpty);
callDiagList.Add(input["dialogue"]); callDiagList.Add(input["dialogue"]);
} }
BeatAction.New(this, new List<BeatAction.Action>() BeatAction.New(this, new List<BeatAction.Action>()

View file

@ -28,10 +28,6 @@ namespace HeavenStudio.Games.Scripts_FirstContact
{ {
if (ace) if (ace)
{ {
//if(game.version == 1)
//{
// Jukebox.PlayOneShotGame("firstContact/citrusRemix/1_r");
//}
SoundByte.PlayOneShotGame("firstContact/" + RandomizerLines()); SoundByte.PlayOneShotGame("firstContact/" + RandomizerLines());
} }
else else

View file

@ -32,7 +32,7 @@ namespace HeavenStudio.Games.Scripts_LaunchParty
void Update() void Update()
{ {
if (GameManager.instance.currentGame != "launchParty") Destroy(gameObject); if (GameManager.instance.currentGame != "launchParty") Destroy(gameObject);
if (PlayerInput.Pressed() && !game.IsExpectingInputNow(InputType.STANDARD_DOWN) && !noInput) if (PlayerInput.GetIsAction(LaunchParty.InputAction_BasicPress) && !game.IsExpectingInputNow(LaunchParty.InputAction_BasicPress) && !noInput)
{ {
SoundByte.PlayOneShotGame("launchParty/miss"); SoundByte.PlayOneShotGame("launchParty/miss");
SoundByte.PlayOneShotGame("launchParty/rocket_endBad"); SoundByte.PlayOneShotGame("launchParty/rocket_endBad");
@ -50,7 +50,7 @@ namespace HeavenStudio.Games.Scripts_LaunchParty
public void InitFamilyRocket(double beat) public void InitFamilyRocket(double beat)
{ {
game.ScheduleInput(beat, 3f, InputType.STANDARD_DOWN, JustFamilyRocket, Miss, Nothing); game.ScheduleInput(beat, 3f, LaunchParty.InputAction_BasicPress, JustFamilyRocket, Miss, Nothing);
MultiSound.Play(new MultiSound.Sound[] MultiSound.Play(new MultiSound.Sound[]
{ {
@ -74,7 +74,7 @@ namespace HeavenStudio.Games.Scripts_LaunchParty
public void InitPartyCracker(double beat) public void InitPartyCracker(double beat)
{ {
game.ScheduleInput(beat, 2f, InputType.STANDARD_DOWN, JustPartyCracker, Miss, Nothing); game.ScheduleInput(beat, 2f, LaunchParty.InputAction_BasicPress, JustPartyCracker, Miss, Nothing);
MultiSound.Play(new MultiSound.Sound[] MultiSound.Play(new MultiSound.Sound[]
{ {
@ -102,7 +102,7 @@ namespace HeavenStudio.Games.Scripts_LaunchParty
public void InitBell(double beat) public void InitBell(double beat)
{ {
game.ScheduleInput(beat, 2f, InputType.STANDARD_DOWN, JustBell, Miss, Nothing); game.ScheduleInput(beat, 2f, LaunchParty.InputAction_BasicPress, JustBell, Miss, Nothing);
MultiSound.Play(new MultiSound.Sound[] MultiSound.Play(new MultiSound.Sound[]
{ {
@ -134,7 +134,7 @@ namespace HeavenStudio.Games.Scripts_LaunchParty
public void InitBowlingPin(double beat) public void InitBowlingPin(double beat)
{ {
game.ScheduleInput(beat, 2f, InputType.STANDARD_DOWN, JustBowlingPin, Miss, Nothing); game.ScheduleInput(beat, 2f, LaunchParty.InputAction_BasicPress, JustBowlingPin, Miss, Nothing);
MultiSound.Play(new MultiSound.Sound[] MultiSound.Play(new MultiSound.Sound[]
{ {

View file

@ -363,7 +363,7 @@ namespace HeavenStudio.Games
} }
queuedInputs.Clear(); queuedInputs.Clear();
} }
if (PlayerInput.Pressed() && !IsExpectingInputNow(InputType.STANDARD_DOWN)) if (PlayerInput.GetIsAction(InputAction_BasicPress) && !IsExpectingInputNow(InputAction_BasicPress))
{ {
currentMissStage = HowMissed.NotMissed; currentMissStage = HowMissed.NotMissed;
double beatAnimCheck = cond.songPositionInBeatsAsDouble - 0.25; double beatAnimCheck = cond.songPositionInBeatsAsDouble - 0.25;
@ -616,7 +616,7 @@ namespace HeavenStudio.Games
EvaluateMarch(offBeat); EvaluateMarch(offBeat);
}) })
}; };
ScheduleInput(beat - 1, 1, InputType.STANDARD_DOWN, offBeat ? JustOff : JustOn, offBeat ? MissOff : MissOn, Nothing); ScheduleInput(beat - 1, 1, InputAction_BasicPress, offBeat ? JustOff : JustOn, offBeat ? MissOff : MissOn, Nothing);
for (int i = 1; i < length; i++) for (int i = 1; i < length; i++)
{ {
double stepBeat = beat + i; double stepBeat = beat + i;
@ -625,7 +625,7 @@ namespace HeavenStudio.Games
if (BachOnBeat(stepBeat)) bach.DoScaledAnimationAsync(offBeat ? "BachOff" : "BachOn", 0.5f); if (BachOnBeat(stepBeat)) bach.DoScaledAnimationAsync(offBeat ? "BachOff" : "BachOn", 0.5f);
EvaluateMarch(offBeat); EvaluateMarch(offBeat);
})); }));
ScheduleInput(stepBeat - 1, 1, InputType.STANDARD_DOWN, offBeat ? JustOff : JustOn, offBeat ? MissOff : MissOn, Nothing); ScheduleInput(stepBeat - 1, 1, InputAction_BasicPress, offBeat ? JustOff : JustOn, offBeat ? MissOff : MissOn, Nothing);
} }
BeatAction.New(this, steps); BeatAction.New(this, steps);
} }
@ -660,7 +660,7 @@ namespace HeavenStudio.Games
if (NextStepIsSwitch(beat)) beat -= 0.5; if (NextStepIsSwitch(beat)) beat -= 0.5;
bool offBeat = beat % 1 != 0; bool offBeat = beat % 1 != 0;
bool bachOnBeat = BachOnBeat(beat); bool bachOnBeat = BachOnBeat(beat);
ScheduleInput(beat - 1, 1, InputType.STANDARD_DOWN, offBeat ? JustOff : JustOn, offBeat ? MissOff : MissOn, Nothing); ScheduleInput(beat - 1, 1, InputAction_BasicPress, offBeat ? JustOff : JustOn, offBeat ? MissOff : MissOn, Nothing);
BeatAction.New(instance, new List<BeatAction.Action>() BeatAction.New(instance, new List<BeatAction.Action>()
{ {
new BeatAction.Action(beat, delegate new BeatAction.Action(beat, delegate

View file

@ -1,4 +1,5 @@
using HeavenStudio.Util; using HeavenStudio.Util;
using HeavenStudio.InputSystem;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
@ -10,7 +11,8 @@ namespace HeavenStudio.Games.Loaders
using static Minigames; using static Minigames;
public static class pcoMeatLoader public static class pcoMeatLoader
{ {
public static Minigame AddGame(EventCaller eventCaller) { public static Minigame AddGame(EventCaller eventCaller)
{
return new Minigame("meatGrinder", "Meat Grinder", "501d18", false, false, new List<GameAction>() return new Minigame("meatGrinder", "Meat Grinder", "501d18", false, false, new List<GameAction>()
{ {
new GameAction("MeatToss", "Meat Toss") new GameAction("MeatToss", "Meat Toss")
@ -61,9 +63,9 @@ namespace HeavenStudio.Games.Loaders
priority = 1, priority = 1,
}, },
}, },
new List<string>() {"pco", "normal", "repeat"}, new List<string>() { "pco", "normal", "repeat" },
"pcomeat", "en", "pcomeat", "en",
new List<string>() {} new List<string>() { }
); );
} }
} }
@ -106,6 +108,19 @@ namespace HeavenStudio.Games
Light, Light,
} }
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);
}
public static PlayerInput.InputAction InputAction_Press =
new("PcoMeatPress", new int[] { IAPressCat, IAFlickCat, IAPressCat },
IA_PadAny, IA_TouchBasicPress, IA_BatonBasicPress);
private void Awake() private void Awake()
{ {
instance = this; instance = this;
@ -113,7 +128,8 @@ namespace HeavenStudio.Games
void OnDestroy() void OnDestroy()
{ {
if (!Conductor.instance.isPlaying || Conductor.instance.isPaused) { if (!Conductor.instance.isPlaying || Conductor.instance.isPaused)
{
if (queuedInputs.Count > 0) queuedInputs.Clear(); if (queuedInputs.Count > 0) queuedInputs.Clear();
if (queuedIntervals.Count > 0) queuedIntervals.Clear(); if (queuedIntervals.Count > 0) queuedIntervals.Clear();
intervalStarted = false; intervalStarted = false;
@ -124,16 +140,18 @@ namespace HeavenStudio.Games
private void Update() private void Update()
{ {
if ((PlayerInput.Pressed() || PlayerInput.GetAnyDirectionDown()) && (!IsExpectingInputNow(InputType.STANDARD_DOWN) || !IsExpectingInputNow(InputType.DIRECTION_DOWN))) { if (PlayerInput.GetIsAction(InputAction_Press) && !IsExpectingInputNow(InputAction_Press))
{
TackAnim.DoScaledAnimationAsync("TackEmptyHit", 0.5f); TackAnim.DoScaledAnimationAsync("TackEmptyHit", 0.5f);
TackAnim.SetBool("tackMeated", false); TackAnim.SetBool("tackMeated", false);
SoundByte.PlayOneShotGame(sfxName+"whiff"); SoundByte.PlayOneShotGame(sfxName + "whiff");
bossAnnoyed = false; bossAnnoyed = false;
} }
if (bossAnnoyed) BossAnim.SetBool("bossAnnoyed", true); if (bossAnnoyed) BossAnim.SetBool("bossAnnoyed", true);
if (queuedIntervals.Count > 0) { if (queuedIntervals.Count > 0)
{
foreach (var interval in queuedIntervals) StartInterval(interval.beat, interval.length); foreach (var interval in queuedIntervals) StartInterval(interval.beat, interval.length);
queuedIntervals.Clear(); queuedIntervals.Clear();
} }
@ -153,8 +171,10 @@ namespace HeavenStudio.Games
public void Bop(double beat, double length, bool doesBop, bool autoBop) public void Bop(double beat, double length, bool doesBop, bool autoBop)
{ {
bossBop = autoBop; bossBop = autoBop;
if (doesBop) { if (doesBop)
for (int i = 0; i < length; i++) { {
for (int i = 0; i < length; i++)
{
BeatAction.New(instance, new List<BeatAction.Action>() { BeatAction.New(instance, new List<BeatAction.Action>() {
new BeatAction.Action(beat + i, delegate { new BeatAction.Action(beat + i, delegate {
if (!BossAnim.IsPlayingAnimationName("BossCall") && !BossAnim.IsPlayingAnimationName("BossSignal")) { if (!BossAnim.IsPlayingAnimationName("BossCall") && !BossAnim.IsPlayingAnimationName("BossSignal")) {
@ -170,14 +190,16 @@ namespace HeavenStudio.Games
{ {
if (MeatGrinder.instance.intervalStarted || MeatGrinder.queuedIntervals.Count > 0) return; if (MeatGrinder.instance.intervalStarted || MeatGrinder.queuedIntervals.Count > 0) return;
MeatGrinder.queuedIntervals.Add(new QueuedInterval() { MeatGrinder.queuedIntervals.Add(new QueuedInterval()
{
beat = beat, beat = beat,
length = length, length = length,
}); });
SoundByte.PlayOneShotGame("meatGrinder/startSignal", beat - 1, forcePlay: true); SoundByte.PlayOneShotGame("meatGrinder/startSignal", beat - 1, forcePlay: true);
if (GameManager.instance.currentGame == "meatGrinder") { if (GameManager.instance.currentGame == "meatGrinder")
{
BeatAction.New(MeatGrinder.instance, new List<BeatAction.Action>() { BeatAction.New(MeatGrinder.instance, new List<BeatAction.Action>() {
new BeatAction.Action(beat - 1, delegate { new BeatAction.Action(beat - 1, delegate {
MeatGrinder.instance.BossAnim.DoScaledAnimationAsync("BossSignal", 0.5f); MeatGrinder.instance.BossAnim.DoScaledAnimationAsync("BossSignal", 0.5f);
@ -201,7 +223,7 @@ namespace HeavenStudio.Games
public void MeatToss(double beat) public void MeatToss(double beat)
{ {
SoundByte.PlayOneShotGame(sfxName+"toss"); SoundByte.PlayOneShotGame(sfxName + "toss");
MeatToss Meat = Instantiate(MeatBase, gameObject.transform).GetComponent<MeatToss>(); MeatToss Meat = Instantiate(MeatBase, gameObject.transform).GetComponent<MeatToss>();
Meat.startBeat = beat; Meat.startBeat = beat;
@ -213,7 +235,7 @@ namespace HeavenStudio.Games
public void MeatCall(double beat) public void MeatCall(double beat)
{ {
BossAnim.DoScaledAnimationAsync("BossCall", 0.5f); BossAnim.DoScaledAnimationAsync("BossCall", 0.5f);
SoundByte.PlayOneShotGame(sfxName+"signal"); SoundByte.PlayOneShotGame(sfxName + "signal");
StartInterval(beat, beatInterval); StartInterval(beat, beatInterval);

View file

@ -27,7 +27,7 @@ namespace HeavenStudio.Games.Scripts_MeatGrinder
private void Start() private void Start()
{ {
game.ScheduleInput(startBeat, cueLength, InputType.STANDARD_DOWN | InputType.DIRECTION_DOWN, Hit, Miss, Nothing); game.ScheduleInput(startBeat, cueLength, MeatGrinder.InputAction_Press, Hit, Miss, Nothing);
BeatAction.New(this, new List<BeatAction.Action>() { BeatAction.New(this, new List<BeatAction.Action>() {
new BeatAction.Action(cueBased ? startBeat + 0.66f : cueLength + startBeat - 1 + 0.66f, delegate { new BeatAction.Action(cueBased ? startBeat + 0.66f : cueLength + startBeat - 1 + 0.66f, delegate {

View file

@ -255,7 +255,7 @@ namespace HeavenStudio.Games
string dir = (stepIterate % 2 == 1) ? "Right" : "Left"; string dir = (stepIterate % 2 == 1) ? "Right" : "Left";
metronomeAnim.DoScaledAnimationAsync("MetronomeGo" + dir, 0.5f); metronomeAnim.DoScaledAnimationAsync("MetronomeGo" + dir, 0.5f);
SoundByte.PlayOneShotGame("mrUpbeat/metronome" + dir); SoundByte.PlayOneShotGame("mrUpbeat/metronome" + dir);
ScheduleInput(beat, 0.5f, InputType.STANDARD_DOWN, Success, Miss, Nothing); ScheduleInput(beat, 0.5f, InputAction_BasicPress, Success, Miss, Nothing);
BeatAction.New(this, new List<BeatAction.Action>() { BeatAction.New(this, new List<BeatAction.Action>() {
new(beat + 1, delegate { RecursiveStepping(beat + 1); }) new(beat + 1, delegate { RecursiveStepping(beat + 1); })
}); });
@ -267,7 +267,7 @@ namespace HeavenStudio.Games
var actions = new List<BeatAction.Action>(); var actions = new List<BeatAction.Action>();
for (int i = 0; i < length; i++) for (int i = 0; i < length; i++)
{ {
ScheduleInput(beat + i, 0.5f, InputType.STANDARD_DOWN, Success, Miss, Nothing); ScheduleInput(beat + i, 0.5f, InputAction_BasicPress, Success, Miss, Nothing);
actions.Add(new BeatAction.Action(beat + i, delegate { actions.Add(new BeatAction.Action(beat + i, delegate {
string dir = (stepIterate % 2 == 1) ? "Right" : "Left"; string dir = (stepIterate % 2 == 1) ? "Right" : "Left";
metronomeAnim.DoScaledAnimationAsync("MetronomeGo" + dir, 0.5f); metronomeAnim.DoScaledAnimationAsync("MetronomeGo" + dir, 0.5f);

View file

@ -30,7 +30,7 @@ namespace HeavenStudio.Games.Scripts_MrUpbeat
{ {
blipText.transform.localScale = Vector3.one; blipText.transform.localScale = Vector3.one;
if (PlayerInput.Pressed() && !game.IsExpectingInputNow(InputType.STANDARD_DOWN)) { if (PlayerInput.GetIsAction(MrUpbeat.InputAction_BasicPress) && !game.IsExpectingInputNow(MrUpbeat.InputAction_BasicPress)) {
Step(true); Step(true);
} }
} }

View file

@ -278,8 +278,7 @@ namespace HeavenStudio.Games
private void Update() private void Update()
{ {
// input stuff // input stuff
if (PlayerInput.Pressed() && !IsExpectingInputNow(InputType.STANDARD_DOWN)) { if (PlayerInput.GetIsAction(InputAction_BasicPress) && !IsExpectingInputNow(InputAction_BasicPress)) {
Debug.Log("ooops" + PlayerInput.Pressed());
MonkArmsAnim.DoScaledAnimationAsync("WristSlap", 0.5f); MonkArmsAnim.DoScaledAnimationAsync("WristSlap", 0.5f);
SoundByte.PlayOneShotGame(sfxName+"slap"); SoundByte.PlayOneShotGame(sfxName+"slap");
isStaring = false; isStaring = false;
@ -432,7 +431,7 @@ namespace HeavenStudio.Games
DumplingClone.startBeat = beat; DumplingClone.startBeat = beat;
DumplingClone.sr.sprite = dumplingSprites[0]; DumplingClone.sr.sprite = dumplingSprites[0];
dumplings.Add(DumplingClone); dumplings.Add(DumplingClone);
ScheduleInput(beat, 1f, InputType.STANDARD_DOWN, Hit, Miss, Early); ScheduleInput(beat, 1f, InputAction_BasicPress, Hit, Miss, Early);
}), }),
new BeatAction.Action(beat+0.5f, delegate { new BeatAction.Action(beat+0.5f, delegate {
OneGiverAnim.DoScaledAnimationAsync("GiveOut", 0.5f); OneGiverAnim.DoScaledAnimationAsync("GiveOut", 0.5f);
@ -462,7 +461,7 @@ namespace HeavenStudio.Games
DumplingClone1.startBeat = beat-0.5f; DumplingClone1.startBeat = beat-0.5f;
DumplingClone1.sr.sprite = dumplingSprites[1]; DumplingClone1.sr.sprite = dumplingSprites[1];
dumplings.Add(DumplingClone1); dumplings.Add(DumplingClone1);
ScheduleInput(beat, 1f, InputType.STANDARD_DOWN, Hit, Miss, Early); ScheduleInput(beat, 1f, InputAction_BasicPress, Hit, Miss, Early);
//DumplingClone1.otherAnim = DumplingClone2.gameObject.GetComponent<Animator>(); //DumplingClone1.otherAnim = DumplingClone2.gameObject.GetComponent<Animator>();
}), }),
new BeatAction.Action(beat, delegate { new BeatAction.Action(beat, delegate {
@ -473,7 +472,7 @@ namespace HeavenStudio.Games
DumplingClone2.startBeat = beat-0.5f; DumplingClone2.startBeat = beat-0.5f;
DumplingClone2.sr.sprite = dumplingSprites[2]; DumplingClone2.sr.sprite = dumplingSprites[2];
dumplings.Add(DumplingClone2); dumplings.Add(DumplingClone2);
ScheduleInput(beat, 1.5f, InputType.STANDARD_DOWN, Hit, Miss, Early); ScheduleInput(beat, 1.5f, InputAction_BasicPress, Hit, Miss, Early);
}), }),
}); });
} }
@ -502,7 +501,7 @@ namespace HeavenStudio.Games
DumplingClone1.startBeat = beat; DumplingClone1.startBeat = beat;
DumplingClone1.sr.sprite = dumplingSprites[3]; DumplingClone1.sr.sprite = dumplingSprites[3];
dumplings.Add(DumplingClone1); dumplings.Add(DumplingClone1);
ScheduleInput(beat, 1f, InputType.STANDARD_DOWN, Hit, Miss, Early); }), ScheduleInput(beat, 1f, InputAction_BasicPress, Hit, Miss, Early); }),
new BeatAction.Action(beat+0.5f, delegate { new BeatAction.Action(beat+0.5f, delegate {
// first out // first out
@ -517,7 +516,7 @@ namespace HeavenStudio.Games
DumplingClone2.startBeat = beat+1.3f; DumplingClone2.startBeat = beat+1.3f;
DumplingClone2.sr.sprite = dumplingSprites[4]; DumplingClone2.sr.sprite = dumplingSprites[4];
dumplings.Add(DumplingClone2); dumplings.Add(DumplingClone2);
ScheduleInput(beat, 2f, InputType.STANDARD_DOWN, Hit, Miss, Early); }), ScheduleInput(beat, 2f, InputAction_BasicPress, Hit, Miss, Early); }),
new BeatAction.Action(beat+1.75f, delegate { new BeatAction.Action(beat+1.75f, delegate {
// second out // second out
@ -532,7 +531,7 @@ namespace HeavenStudio.Games
DumplingClone3.startBeat = beat+2.3f; DumplingClone3.startBeat = beat+2.3f;
DumplingClone3.sr.sprite = dumplingSprites[5]; DumplingClone3.sr.sprite = dumplingSprites[5];
dumplings.Add(DumplingClone3); dumplings.Add(DumplingClone3);
ScheduleInput(beat, 3f, InputType.STANDARD_DOWN, Hit, Miss, Early); }), ScheduleInput(beat, 3f, InputAction_BasicPress, Hit, Miss, Early); }),
new BeatAction.Action(beat+2.75f, delegate { new BeatAction.Action(beat+2.75f, delegate {
// third out // third out

View file

@ -46,9 +46,9 @@ namespace HeavenStudio.Games.Loaders
} }
} }
}, },
new List<string>() {"pco", "normal"}, new List<string>() { "pco", "normal" },
"pcosomen", "en", "pcosomen", "en",
new List<string>() {} new List<string>() { }
); );
} }
} }
@ -93,7 +93,7 @@ namespace HeavenStudio.Games
SomenPlayer.Play("HeadBob", -1, 0); SomenPlayer.Play("HeadBob", -1, 0);
} }
if (PlayerInput.Pressed() && !IsExpectingInputNow()) if (PlayerInput.GetIsAction(InputAction_BasicPress) && !IsExpectingInputNow(InputAction_BasicPress))
{ {
SoundByte.PlayOneShotGame("rhythmSomen/somen_mistake"); SoundByte.PlayOneShotGame("rhythmSomen/somen_mistake");
FrontArm.Play("ArmPluck", -1, 0); FrontArm.Play("ArmPluck", -1, 0);
@ -146,7 +146,7 @@ namespace HeavenStudio.Games
public void DoFarCrane(double beat) public void DoFarCrane(double beat)
{ {
//Far Drop Multisound //Far Drop Multisound
ScheduleInput(beat, 3f, InputType.STANDARD_DOWN, CatchSuccess, CatchMiss, CatchEmpty); ScheduleInput(beat, 3f, InputAction_BasicPress, CatchSuccess, CatchMiss, CatchEmpty);
MultiSound.Play(new MultiSound.Sound[] { MultiSound.Play(new MultiSound.Sound[] {
new MultiSound.Sound("rhythmSomen/somen_lowerfar", beat), new MultiSound.Sound("rhythmSomen/somen_lowerfar", beat),
new MultiSound.Sound("rhythmSomen/somen_drop", beat + 1f), new MultiSound.Sound("rhythmSomen/somen_drop", beat + 1f),
@ -165,7 +165,7 @@ namespace HeavenStudio.Games
public void DoCloseCrane(double beat) public void DoCloseCrane(double beat)
{ {
//Close Drop Multisound //Close Drop Multisound
ScheduleInput(beat, 2f, InputType.STANDARD_DOWN, CatchSuccess, CatchMiss, CatchEmpty); ScheduleInput(beat, 2f, InputAction_BasicPress, CatchSuccess, CatchMiss, CatchEmpty);
MultiSound.Play(new MultiSound.Sound[] { MultiSound.Play(new MultiSound.Sound[] {
new MultiSound.Sound("rhythmSomen/somen_lowerclose", beat), new MultiSound.Sound("rhythmSomen/somen_lowerclose", beat),
new MultiSound.Sound("rhythmSomen/somen_drop", beat + 1f), new MultiSound.Sound("rhythmSomen/somen_drop", beat + 1f),
@ -184,24 +184,24 @@ namespace HeavenStudio.Games
public void DoBothCrane(double beat) public void DoBothCrane(double beat)
{ {
//Both Drop Multisound //Both Drop Multisound
ScheduleInput(beat, 2f, InputType.STANDARD_DOWN, CatchSuccess, CatchMiss, CatchEmpty); ScheduleInput(beat, 2f, InputAction_BasicPress, CatchSuccess, CatchMiss, CatchEmpty);
ScheduleInput(beat, 3f, InputType.STANDARD_DOWN, CatchSuccess, CatchMiss, CatchEmpty); ScheduleInput(beat, 3f, InputAction_BasicPress, CatchSuccess, CatchMiss, CatchEmpty);
MultiSound.Play(new MultiSound.Sound[] { MultiSound.Play(new MultiSound.Sound[] {
new MultiSound.Sound("rhythmSomen/somen_lowerfar", beat), new MultiSound.Sound("rhythmSomen/somen_lowerfar", beat),
new MultiSound.Sound("rhythmSomen/somen_doublealarm", beat), new MultiSound.Sound("rhythmSomen/somen_doublealarm", beat),
new MultiSound.Sound("rhythmSomen/somen_drop", beat + 1f), new MultiSound.Sound("rhythmSomen/somen_drop", beat + 1f),
new MultiSound.Sound("rhythmSomen/somen_woosh", beat + 1.5f), new MultiSound.Sound("rhythmSomen/somen_woosh", beat + 1.5f),
}); });
BeatAction.New(instance, new List<BeatAction.Action>() BeatAction.New(instance, new List<BeatAction.Action>()
{ {
new BeatAction.Action(beat, delegate { CloseCrane.Play("DropClose", -1, 0);}), new BeatAction.Action(beat, delegate { CloseCrane.Play("DropClose", -1, 0);}),
new BeatAction.Action(beat, delegate { FarCrane.Play("Drop", -1, 0);}), new BeatAction.Action(beat, delegate { FarCrane.Play("Drop", -1, 0);}),
new BeatAction.Action(beat + 1.0f, delegate { CloseCrane.Play("OpenClose", -1, 0);}), new BeatAction.Action(beat + 1.0f, delegate { CloseCrane.Play("OpenClose", -1, 0);}),
new BeatAction.Action(beat + 1.0f, delegate { FarCrane.Play("Open", -1, 0);}), new BeatAction.Action(beat + 1.0f, delegate { FarCrane.Play("Open", -1, 0);}),
new BeatAction.Action(beat + 1.5f, delegate { CloseCrane.Play("LiftClose", -1, 0);}), new BeatAction.Action(beat + 1.5f, delegate { CloseCrane.Play("LiftClose", -1, 0);}),
new BeatAction.Action(beat + 1.5f, delegate { FarCrane.Play("Lift", -1, 0);}), new BeatAction.Action(beat + 1.5f, delegate { FarCrane.Play("Lift", -1, 0);}),
}); });
} }
@ -211,9 +211,9 @@ namespace HeavenStudio.Games
SoundByte.PlayOneShotGame("rhythmSomen/somen_bell"); SoundByte.PlayOneShotGame("rhythmSomen/somen_bell");
BeatAction.New(instance, new List<BeatAction.Action>() BeatAction.New(instance, new List<BeatAction.Action>()
{ {
new BeatAction.Action(beat, delegate { EffectExclam.Play("ExclamAppear", -1, 0);}), new BeatAction.Action(beat, delegate { EffectExclam.Play("ExclamAppear", -1, 0);}),
}); });
} }