mirror of
https://github.com/RHeavenStudioPlus/HeavenStudioPlus.git
synced 2024-11-10 03:35:10 +00:00
Mr Upbeat and Lockstep Animation fixes (#238)
* mr upbeat input fix + lockstep offbeat switch event seperation * Lockstep + MrUpbeat animation fixes
This commit is contained in:
parent
07b9f8dff1
commit
a70a175783
3 changed files with 26 additions and 10 deletions
|
@ -1,6 +1,7 @@
|
|||
/* I do not know crap about Unity or C#
|
||||
Almost none of this code is mine, but it's all fair game when the game you're stealing from
|
||||
borrowed from other games */
|
||||
//Don't worry Raffy everyone starts somewhere - Rasmus
|
||||
|
||||
using HeavenStudio.Util;
|
||||
using System;
|
||||
|
@ -275,7 +276,7 @@ namespace HeavenStudio.Games
|
|||
if (state >= 1f || state <= -1f)
|
||||
{
|
||||
var cond = Conductor.instance;
|
||||
var beatAnimCheck = Math.Round(cond.songPositionInBeats * 2);
|
||||
var beatAnimCheck = Math.Round(caller.startBeat * 2);
|
||||
if (beatAnimCheck % 2 != 0)
|
||||
{
|
||||
Jukebox.PlayOneShotGame("lockstep/tink");
|
||||
|
@ -288,13 +289,12 @@ namespace HeavenStudio.Games
|
|||
}
|
||||
return;
|
||||
}
|
||||
Success();
|
||||
Success(caller.startBeat);
|
||||
}
|
||||
|
||||
public void Success()
|
||||
public void Success(float beat)
|
||||
{
|
||||
var cond = Conductor.instance;
|
||||
var beatAnimCheck = Math.Round(cond.songPositionInBeats * 2);
|
||||
var beatAnimCheck = Math.Round(beat * 2);
|
||||
if (beatAnimCheck % 2 != 0)
|
||||
{
|
||||
Jukebox.PlayOneShotGame($"lockstep/marchOffbeat{UnityEngine.Random.Range(1, 3)}");
|
||||
|
@ -309,8 +309,7 @@ namespace HeavenStudio.Games
|
|||
|
||||
public void Miss(PlayerActionEvent caller)
|
||||
{
|
||||
var cond = Conductor.instance;
|
||||
var beatAnimCheck = Math.Round(cond.songPositionInBeats * 2);
|
||||
var beatAnimCheck = Math.Round(caller.startBeat * 2);
|
||||
|
||||
if (beatAnimCheck % 2 != 0 && currentMissStage != HowMissed.MissedOff)
|
||||
{
|
||||
|
|
|
@ -58,6 +58,7 @@ namespace HeavenStudio.Games
|
|||
public float beat;
|
||||
public bool goRight;
|
||||
}
|
||||
bool startLeft;
|
||||
|
||||
public static MrUpbeat instance;
|
||||
|
||||
|
@ -101,6 +102,14 @@ namespace HeavenStudio.Games
|
|||
});
|
||||
}
|
||||
}
|
||||
if (queuedInputs.Count % 2 != 0)
|
||||
{
|
||||
startLeft = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
startLeft = false;
|
||||
}
|
||||
queuedInputs.Clear();
|
||||
}
|
||||
if (PlayerInput.Pressed() && !IsExpectingInputNow(InputType.STANDARD_DOWN))
|
||||
|
@ -132,7 +141,7 @@ namespace HeavenStudio.Games
|
|||
if (GameManager.instance.currentGame == "mrUpbeat")
|
||||
{
|
||||
float offSet = 0;
|
||||
if (!MrUpbeat.instance.isPlaying(MrUpbeat.instance.metronomeAnim, "MetronomeIdle") && !MrUpbeat.instance.isPlaying(MrUpbeat.instance.metronomeAnim, "MetronomeGoRight"))
|
||||
if (MrUpbeat.instance.startLeft)
|
||||
{
|
||||
offSet = 1;
|
||||
}
|
||||
|
@ -157,6 +166,14 @@ namespace HeavenStudio.Games
|
|||
}
|
||||
|
||||
}
|
||||
if ((length + 1) % 2 != 0)
|
||||
{
|
||||
MrUpbeat.instance.startLeft = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
MrUpbeat.instance.startLeft = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -24,13 +24,13 @@ namespace HeavenStudio.Games.Loaders
|
|||
{
|
||||
function = delegate {var e = eventCaller.currentEntity; Tambourine.instance.MonkeyInput(e.beat, false); },
|
||||
defaultLength = 0.5f,
|
||||
priority = 1
|
||||
priority = 2
|
||||
},
|
||||
new GameAction("hit", "Hit")
|
||||
{
|
||||
function = delegate {var e = eventCaller.currentEntity; Tambourine.instance.MonkeyInput(e.beat, true); },
|
||||
defaultLength = 0.5f,
|
||||
priority = 1
|
||||
priority = 2
|
||||
},
|
||||
new GameAction("pass turn", "Pass Turn")
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue