diff --git a/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_EN_0000000A.wav b/Assets/Resources/Sfx/games/lockstep/wayOff.wav
similarity index 100%
rename from Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_EN_0000000A.wav
rename to Assets/Resources/Sfx/games/lockstep/wayOff.wav
diff --git a/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_EN_0000000A.wav.meta b/Assets/Resources/Sfx/games/lockstep/wayOff.wav.meta
similarity index 100%
rename from Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_EN_0000000A.wav.meta
rename to Assets/Resources/Sfx/games/lockstep/wayOff.wav.meta
diff --git a/Assets/Resources/Sprites/Games/Lockstep/Animations/OffbeatMiss.anim b/Assets/Resources/Sprites/Games/Lockstep/Animations/OffbeatMiss.anim
new file mode 100644
index 000000000..90a96278d
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/Animations/OffbeatMiss.anim
@@ -0,0 +1,53 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: OffbeatMiss
+ serializedVersion: 6
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves: []
+ m_FloatCurves: []
+ m_PPtrCurves: []
+ m_SampleRate: 60
+ m_WrapMode: 0
+ m_Bounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 0, y: 0, z: 0}
+ m_ClipBindingConstant:
+ genericBindings: []
+ pptrCurveMapping: []
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 1
+ m_OrientationOffsetY: 0
+ m_Level: 0
+ m_CycleOffset: 0
+ m_HasAdditiveReferencePose: 0
+ m_LoopTime: 1
+ m_LoopBlend: 0
+ m_LoopBlendOrientation: 0
+ m_LoopBlendPositionY: 0
+ m_LoopBlendPositionXZ: 0
+ m_KeepOriginalOrientation: 0
+ m_KeepOriginalPositionY: 1
+ m_KeepOriginalPositionXZ: 0
+ m_HeightFromFeet: 0
+ m_Mirror: 0
+ m_EditorCurves: []
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Resources/Sprites/Games/Lockstep/Animations/OffbeatMiss.anim.meta b/Assets/Resources/Sprites/Games/Lockstep/Animations/OffbeatMiss.anim.meta
new file mode 100644
index 000000000..4bd2deb9c
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/Animations/OffbeatMiss.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a0391d705521050499f5e17f0c0e55f3
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sprites/Games/Lockstep/Animations/OffbeatMissRest.anim b/Assets/Resources/Sprites/Games/Lockstep/Animations/OffbeatMissRest.anim
new file mode 100644
index 000000000..c99547b81
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/Animations/OffbeatMissRest.anim
@@ -0,0 +1,53 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: OffbeatMissRest
+ serializedVersion: 6
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves: []
+ m_FloatCurves: []
+ m_PPtrCurves: []
+ m_SampleRate: 60
+ m_WrapMode: 0
+ m_Bounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 0, y: 0, z: 0}
+ m_ClipBindingConstant:
+ genericBindings: []
+ pptrCurveMapping: []
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 1
+ m_OrientationOffsetY: 0
+ m_Level: 0
+ m_CycleOffset: 0
+ m_HasAdditiveReferencePose: 0
+ m_LoopTime: 1
+ m_LoopBlend: 0
+ m_LoopBlendOrientation: 0
+ m_LoopBlendPositionY: 0
+ m_LoopBlendPositionXZ: 0
+ m_KeepOriginalOrientation: 0
+ m_KeepOriginalPositionY: 1
+ m_KeepOriginalPositionXZ: 0
+ m_HeightFromFeet: 0
+ m_Mirror: 0
+ m_EditorCurves: []
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Resources/Sprites/Games/Lockstep/Animations/OffbeatMissRest.anim.meta b/Assets/Resources/Sprites/Games/Lockstep/Animations/OffbeatMissRest.anim.meta
new file mode 100644
index 000000000..d0a4cbed8
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/Animations/OffbeatMissRest.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3a8aefb8918345043b3e2ba05f611993
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sprites/Games/Lockstep/Animations/OnbeatMiss.anim b/Assets/Resources/Sprites/Games/Lockstep/Animations/OnbeatMiss.anim
new file mode 100644
index 000000000..90485b3b5
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/Animations/OnbeatMiss.anim
@@ -0,0 +1,53 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: OnbeatMiss
+ serializedVersion: 6
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves: []
+ m_FloatCurves: []
+ m_PPtrCurves: []
+ m_SampleRate: 60
+ m_WrapMode: 0
+ m_Bounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 0, y: 0, z: 0}
+ m_ClipBindingConstant:
+ genericBindings: []
+ pptrCurveMapping: []
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 1
+ m_OrientationOffsetY: 0
+ m_Level: 0
+ m_CycleOffset: 0
+ m_HasAdditiveReferencePose: 0
+ m_LoopTime: 1
+ m_LoopBlend: 0
+ m_LoopBlendOrientation: 0
+ m_LoopBlendPositionY: 0
+ m_LoopBlendPositionXZ: 0
+ m_KeepOriginalOrientation: 0
+ m_KeepOriginalPositionY: 1
+ m_KeepOriginalPositionXZ: 0
+ m_HeightFromFeet: 0
+ m_Mirror: 0
+ m_EditorCurves: []
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Resources/Sprites/Games/Lockstep/Animations/OnbeatMiss.anim.meta b/Assets/Resources/Sprites/Games/Lockstep/Animations/OnbeatMiss.anim.meta
new file mode 100644
index 000000000..63172e72e
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/Animations/OnbeatMiss.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fd009c5e24879964c9b411e96aaaf553
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sprites/Games/Lockstep/Animations/OnbeatMissRest.anim b/Assets/Resources/Sprites/Games/Lockstep/Animations/OnbeatMissRest.anim
new file mode 100644
index 000000000..18b97666d
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/Animations/OnbeatMissRest.anim
@@ -0,0 +1,53 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: OnbeatMissRest
+ serializedVersion: 6
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves: []
+ m_FloatCurves: []
+ m_PPtrCurves: []
+ m_SampleRate: 60
+ m_WrapMode: 0
+ m_Bounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 0, y: 0, z: 0}
+ m_ClipBindingConstant:
+ genericBindings: []
+ pptrCurveMapping: []
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 1
+ m_OrientationOffsetY: 0
+ m_Level: 0
+ m_CycleOffset: 0
+ m_HasAdditiveReferencePose: 0
+ m_LoopTime: 1
+ m_LoopBlend: 0
+ m_LoopBlendOrientation: 0
+ m_LoopBlendPositionY: 0
+ m_LoopBlendPositionXZ: 0
+ m_KeepOriginalOrientation: 0
+ m_KeepOriginalPositionY: 1
+ m_KeepOriginalPositionXZ: 0
+ m_HeightFromFeet: 0
+ m_Mirror: 0
+ m_EditorCurves: []
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Resources/Sprites/Games/Lockstep/Animations/OnbeatMissRest.anim.meta b/Assets/Resources/Sprites/Games/Lockstep/Animations/OnbeatMissRest.anim.meta
new file mode 100644
index 000000000..7765186d9
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/Animations/OnbeatMissRest.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c21dac4c6abf5c146b7c6087463d3f51
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/Games/Lockstep/Lockstep.cs b/Assets/Scripts/Games/Lockstep/Lockstep.cs
index 6154c6a79..76b43f633 100644
--- a/Assets/Scripts/Games/Lockstep/Lockstep.cs
+++ b/Assets/Scripts/Games/Lockstep/Lockstep.cs
@@ -17,65 +17,36 @@ namespace HeavenStudio.Games.Loaders
return new Minigame("lockstep", "Lockstep \n[WIP]", "0058CE", false, false, new List()
{
new GameAction("bop", "Bop")
+ {
+ function = delegate { var e = eventCaller.currentEntity; Lockstep.instance.Bop(e.beat, e["toggle"]); },
+ parameters = new List()
{
- function = delegate { var e = eventCaller.currentEntity; Lockstep.instance.Bop(e.beat, e["toggle"]); },
- parameters = new List()
- {
- new Param("toggle", false, "Reset Pose", "Resets to idle pose.")
- },
- defaultLength = 1f,
+ new Param("toggle", false, "Reset Pose", "Resets to idle pose.")
},
-
-
-
+ defaultLength = 1f,
+ },
new GameAction("hai", "Hai!")
- {
- function = delegate { var e = eventCaller.currentEntity; Lockstep.instance.Hai(e.beat); },
- defaultLength = 1f,
- inactiveFunction = delegate { var e = eventCaller.currentEntity; Lockstep.instance.Hai(e.beat);}
-
-
- },
-
+ {
+ function = delegate { var e = eventCaller.currentEntity; Lockstep.instance.Hai(e.beat); },
+ defaultLength = 1f,
+ inactiveFunction = delegate { var e = eventCaller.currentEntity; Lockstep.instance.Hai(e.beat);}
+ },
new GameAction("offbeatSwitch", "Switch to Offbeat")
- {
- function = delegate { var e = eventCaller.currentEntity; Lockstep.instance.OnbeatSwitch(e.beat); },
- defaultLength = 8f
-
-
- },
-
+ {
+ preFunction = delegate { var e = eventCaller.currentEntity; Lockstep.OffbeatSwitch(e.beat); },
+ defaultLength = 8f
+ },
new GameAction("onbeatSwitch", "Switch to Onbeat")
- {
- function = delegate { var e = eventCaller.currentEntity; Lockstep.instance.OffbeatSwitch(e.beat); },
- defaultLength = 2f
-
-
- },
-
- new GameAction("marching", "Onbeat Stepping")
- {
- function = delegate { var e = eventCaller.currentEntity; Lockstep.instance.OnbeatStep(e.beat, e.length); },
- defaultLength = 4f,
- resizable = true,
- hidden = true
- },
-
- new GameAction("startStepping", "Start Stepping")
- {
- function = delegate { var e = eventCaller.currentEntity; Lockstep.instance.BeginStepping(e.beat); },
- defaultLength = 1f,
- hidden = true
-
- },
-
- new GameAction("test1", "onbeat march test")
- {
- function = delegate { var e = eventCaller.currentEntity; Lockstep.instance.OnbeatMarch(e.beat); },
- defaultLength = 1f,
- hidden = true
- }
-
+ {
+ preFunction = delegate { var e = eventCaller.currentEntity; Lockstep.OnbeatSwitch(e.beat); },
+ defaultLength = 2f
+ },
+ new GameAction("marching", "Marching")
+ {
+ preFunction = delegate {var e = eventCaller.currentEntity; Lockstep.Marching(e.beat, e.length);},
+ defaultLength = 4f,
+ resizable = true
+ }
});
}
@@ -87,78 +58,53 @@ namespace HeavenStudio.Games
// using Scripts_Lockstep;
public class Lockstep : Minigame
{
-
-
- // private Animator stepswitcher;
-
-
- public Animator stepswitcherP;
- public Animator stepswitcher0;
- public Animator stepswitcher1;
-
- public GameObject Player;
+ [Header("Components")]
+ [SerializeField] Animator stepswitcherP;
+ [SerializeField] Animator stepswitcher0;
+ [SerializeField] Animator stepswitcher1;
[Header("Properties")]
- public GameEvent bop = new GameEvent();
- public bool goStep;
+ GameEvent bop = new GameEvent();
+ static List queuedInputs = new List();
- public float steppingLength;
- public float steppingStartBeat;
- private float lastReportedBeat = 0f;
+ public static Lockstep instance;
-
- public static Lockstep instance { get; set; }
-
-
- // Start is called before the first frame update
void Awake()
{
instance = this;
- goStep = false;
}
- // Update is called once per frame
public void Update()
{
-
var cond = Conductor.instance;
-
- if (goStep)
+ if (cond.isPlaying && !cond.isPaused)
{
- print("stepping is on");
- if (Conductor.instance.ReportBeat(ref lastReportedBeat))
+ if (queuedInputs.Count > 0)
{
- print("one small step for switch");
- Jukebox.PlayOneShotGame("Lockstep/marchOnBeat1");
- stepswitcherP.DoScaledAnimationAsync("OnbeatMarch", 0.5f);
- stepswitcher0.DoScaledAnimationAsync("OnbeatMarch", 0.5f);
- stepswitcher1.DoScaledAnimationAsync("OnbeatMarch", 0.5f);
+ foreach (var input in queuedInputs)
+ {
+ ScheduleInput(input - 0.5f, 0.5f, InputType.STANDARD_DOWN, Just, Miss, Nothing);
+ BeatAction.New(instance.gameObject, new List()
+ {
+ new BeatAction.Action(input, delegate { EvaluateMarch(); }),
+ });
+ }
+ queuedInputs.Clear();
+ }
+ if (PlayerInput.Pressed() && !IsExpectingInputNow(InputType.STANDARD_DOWN))
+ {
+ var beatAnimCheck = Math.Round(cond.songPositionInBeats * 2);
+ var stepPlayerAnim = (beatAnimCheck % 2 != 0 ? "OffbeatMarch" : "OnbeatMarch");
+ stepswitcherP.DoScaledAnimationAsync(stepPlayerAnim, 0.5f);
}
-
}
-
- if (PlayerInput.Pressed() && !IsExpectingInputNow())
- {
- //Jukebox.PlayOneShot("miss");
-
-
- var beatAnimCheck = Math.Round(Conductor.instance.songPositionInBeats * 2);
- print("check: " + beatAnimCheck);
- var stepPlayerAnim = (beatAnimCheck % 2 != 0 ? "OffbeatMarch" : "OnbeatMarch");
-
- Jukebox.PlayOneShotGame("lockstep/miss");
- stepswitcherP.DoScaledAnimationAsync(stepPlayerAnim, 0.5f);
- }
-
-
}
public void Bop(float beat, bool reset)
{
-
- if(reset)
+ if (reset)
{
stepswitcher0.DoScaledAnimationAsync("BopReset", 0.5f);
stepswitcher1.DoScaledAnimationAsync("BopReset", 0.5f);
@@ -172,10 +118,6 @@ namespace HeavenStudio.Games
stepswitcherP.DoScaledAnimationAsync("Bop", 0.5f);
}
-
-
-
-
}
public void Hai(float beat)
@@ -183,23 +125,21 @@ namespace HeavenStudio.Games
Jukebox.PlayOneShotGame("lockstep/switch1");
}
- public void BeginStepping(float beat)
- {
-
- BeatAction.New(instance.gameObject, new List()
- {
- new BeatAction.Action(beat, delegate { goStep = true; }),
- });
-
- print("Start Stepping");
- print(goStep);
- }
-
-
- public void OnbeatSwitch(float beat)
+ public static void OnbeatSwitch(float beat)
{
MultiSound.Play(new MultiSound.Sound[]
- {
+ {
+ new MultiSound.Sound("lockstep/switch5", beat),
+ new MultiSound.Sound("lockstep/switch6", beat + 0.5f),
+ new MultiSound.Sound("lockstep/switch5", beat + 1f),
+ new MultiSound.Sound("lockstep/switch6", beat + 1.5f)
+ }, forcePlay: true);
+ }
+
+ public static void OffbeatSwitch(float beat)
+ {
+ MultiSound.Play(new MultiSound.Sound[]
+ {
new MultiSound.Sound("lockstep/switch1", beat),
new MultiSound.Sound("lockstep/switch1", beat + 1f),
new MultiSound.Sound("lockstep/switch1", beat + 2f),
@@ -210,44 +150,100 @@ namespace HeavenStudio.Games
new MultiSound.Sound("lockstep/switch4", beat + 5.5f),
new MultiSound.Sound("lockstep/switch4", beat + 6.5f),
new MultiSound.Sound("lockstep/switch4", beat + 7.5f),
- }, forcePlay: false);
+ }, forcePlay: true);
}
- public void OffbeatSwitch(float beat)
+ public static void Marching(float beat, float length)
{
- var sound = new MultiSound.Sound[]
+ if (GameManager.instance.currentGame == "lockstep")
+ {
+ for (int i = 0; i < length + 1; i++)
{
- new MultiSound.Sound("lockstep/switch5", beat),
- new MultiSound.Sound("lockstep/switch6", beat + 0.5f),
- new MultiSound.Sound("lockstep/switch5", beat + 1f),
- new MultiSound.Sound("lockstep/switch6", beat + 1.5f)
- };
-
-
- MultiSound.Play(sound);
-
-
+ Lockstep.instance.ScheduleInput(beat - 1, 1 + i, InputType.STANDARD_DOWN, Lockstep.instance.Just, Lockstep.instance.Miss, Lockstep.instance.Nothing);
+ BeatAction.New(instance.gameObject, new List()
+ {
+ new BeatAction.Action(beat + i, delegate { Lockstep.instance.EvaluateMarch(); }),
+ });
+ }
+ }
+ else
+ {
+ for (int i = 0; i < length + 1; i++)
+ {
+ queuedInputs.Add(beat + i);
+ }
+ }
}
- public void OnbeatStep(float beat, float length)
+ public void EvaluateMarch()
{
- /*marching.length = length;
- marching.startBeat = beat;
- print("onbeatstep len: " + marching.length);
- print("onbeatstep start: " + marching.startBeat);*/
+ var cond = Conductor.instance;
+ var beatAnimCheck = Math.Round(cond.songPositionInBeats * 2);
+ if (beatAnimCheck % 2 != 0)
+ {
+ stepswitcher0.DoScaledAnimationAsync("OffbeatMarch", 0.5f);
+ stepswitcher1.DoScaledAnimationAsync("OffbeatMarch", 0.5f);
+ }
+ else
+ {
+ stepswitcher0.DoScaledAnimationAsync("OnbeatMarch", 0.5f);
+ stepswitcher1.DoScaledAnimationAsync("OnbeatMarch", 0.5f);
+ }
}
- public void OnbeatMarch(float beat)
+ public void Just(PlayerActionEvent caller, float state)
{
-
- stepswitcher0.DoScaledAnimationAsync("OnbeatMarch", 0.5f);
- stepswitcher1.DoScaledAnimationAsync("OnbeatMarch", 0.5f);
- stepswitcherP.DoScaledAnimationAsync("OnbeatMarch", 0.5f);
- Jukebox.PlayOneShotGame("lockstep/marchOnbeat1");
-
-
-
+ if (state >= 1f || state <= -1f)
+ {
+ var cond = Conductor.instance;
+ var beatAnimCheck = Math.Round(cond.songPositionInBeats * 2);
+ if (beatAnimCheck % 2 != 0)
+ {
+ Jukebox.PlayOneShotGame("lockstep/miss");
+ stepswitcherP.DoScaledAnimationAsync("OffbeatMarch", 0.5f);
+ }
+ else
+ {
+ Jukebox.PlayOneShotGame("lockstep/miss");
+ stepswitcherP.DoScaledAnimationAsync("OnbeatMarch", 0.5f);
+ }
+ Debug.Log("Barely");
+ return;
+ }
+ Success();
}
+ public void Success()
+ {
+ var cond = Conductor.instance;
+ var beatAnimCheck = Math.Round(cond.songPositionInBeats * 2);
+ if (beatAnimCheck % 2 != 0)
+ {
+ Jukebox.PlayOneShotGame($"lockstep/marchOffbeat{UnityEngine.Random.Range(1, 3)}");
+ stepswitcherP.DoScaledAnimationAsync("OffbeatMarch", 0.5f);
+ }
+ else
+ {
+ Jukebox.PlayOneShotGame($"lockstep/marchOnbeat{UnityEngine.Random.Range(1, 3)}");
+ stepswitcherP.DoScaledAnimationAsync("OnbeatMarch", 0.5f);
+ }
+ }
+
+ public void Miss(PlayerActionEvent caller)
+ {
+ var cond = Conductor.instance;
+ var beatAnimCheck = Math.Round(cond.songPositionInBeats * 2);
+ Jukebox.PlayOneShotGame("lockstep/wayOff");
+ if (beatAnimCheck % 2 != 0)
+ {
+ stepswitcherP.Play("OffbeatMiss", 0, 0);
+ }
+ else
+ {
+ stepswitcherP.Play("OnbeatMiss", 0, 0);
+ }
+ }
+
+ public void Nothing(PlayerActionEvent caller) {}
}
}