diff --git a/Assets/Scripts/Games/BonOdori/BonOdori.cs b/Assets/Scripts/Games/BonOdori/BonOdori.cs
index 9b457bf7..ce10566a 100644
--- a/Assets/Scripts/Games/BonOdori/BonOdori.cs
+++ b/Assets/Scripts/Games/BonOdori/BonOdori.cs
@@ -18,7 +18,7 @@ namespace HeavenStudio.Games.Loaders
{
public static Minigame AddGame(EventCaller eventCaller)
- {
+ {
return new Minigame("bonOdori", "The☆Bon Odori \n(Za☆Bon Odori)", "312B9F", false, false, new List()
{ new GameAction("bop", "Bop")
{ function = delegate {BonOdori.instance.Bop(eventCaller.currentEntity.beat, eventCaller.currentEntity.length, eventCaller.currentEntity["toggle"], eventCaller.currentEntity["auto"]);},
@@ -30,14 +30,14 @@ namespace HeavenStudio.Games.Loaders
},
},
-
+
new GameAction("pan", "Pan")
{
-
- function = delegate {
+
+ preFunction = delegate {
var e = eventCaller.currentEntity;
string variation = "variation" + (new string[] { "Pan", "Pa", "Pa_n" })[e["type"]];
- BonOdori.instance.Clap(e.beat, e[variation], e["type"], e["mute"],e["clapType"]);
+ BonOdori.instance.PreClap(e.beat, e[variation], e["type"], e["mute"],e["clapType"], e["semitone"]);
},
defaultLength = 1f,
parameters = new List()
@@ -51,17 +51,18 @@ namespace HeavenStudio.Games.Loaders
new Param("variationPan", BonOdori.variationPan.PanC, "Pan Type", "Set the variation of the voice line."),
new Param("variationPa", BonOdori.variationPa.PaG, "Pa Type", "Set the variation of the voice line."),
new Param("variationPa_n", BonOdori.variationPa_n.Pa_nA , "Pa-n Type", "Set the variation of the voice line."),
- new Param("clapType", BonOdori.typeClap.SideClap, "Clap Type", "Set the type of clap.")
+ new Param("clapType", BonOdori.typeClap.SideClap, "Clap Type", "Set the type of clap."),
+ new Param("semitone", new EntityTypes.Integer(-24, 24, 0), "Semitone", "Set the number of semitones up or down this note should be pitched."),
}
},
-
+
new GameAction("don", "Don")
{
-
+
function = delegate {
var e = eventCaller.currentEntity;
string variation = "variation" + (new string[] { "Don", "Do", "Do_n" })[e["type"]];
- BonOdori.instance.Sound(e.beat, e[variation], e["type"]);
+ BonOdori.instance.Sound(e.beat, e[variation], e["type"], e["semitone"]);
},
defaultLength = 1f,
parameters = new List()
@@ -74,9 +75,10 @@ namespace HeavenStudio.Games.Loaders
new Param("variationDon", BonOdori.variationDon.DonA, "Don Type", "Set the variation of the voice line."),
new Param("variationDo", BonOdori.variationDo.DoC, "Do Type", "Set the variation of the voice line."),
new Param("variationDo_n", BonOdori.variationDo_n.Do_nA, "Do-n Type", "Set the variation of the voice line."),
+ new Param("semitone", new EntityTypes.Integer(-24, 24, 0), "Semitone", "Set the number of semitones up or down this note should be pitched."),
}
},
-
+
new GameAction("show text", "Show Text")
{
function = delegate {BonOdori.instance.ShowText(eventCaller.currentEntity["line 1"], eventCaller.currentEntity["line 2"], eventCaller.currentEntity["line 3"], eventCaller.currentEntity["line 4"], eventCaller.currentEntity["line 5"]);},
@@ -97,7 +99,7 @@ namespace HeavenStudio.Games.Loaders
-
+
},
priority = 1
},
@@ -153,13 +155,13 @@ namespace HeavenStudio.Games.Loaders
}
},
-
-
-
+
+
+
});
-
- }
+
+ }
};
};
namespace HeavenStudio.Games
@@ -170,8 +172,9 @@ namespace HeavenStudio.Games
public class BonOdori : Minigame
{
- string prefix;
- double beatUniversal;
+
+ string prefix;
+ double beatUniversal;
string suffix;
SpriteRenderer darkPlane;
bool goBopDonpans;
@@ -209,7 +212,7 @@ namespace HeavenStudio.Games
[SerializeField] TMP_Text Text3;
[SerializeField] TMP_Text Text4;
[SerializeField] TMP_Text Text5;
-
+
[SerializeField] TMP_Text Text6;
[SerializeField] TMP_Text Text7;
[SerializeField] TMP_Text Text8;
@@ -227,6 +230,19 @@ namespace HeavenStudio.Games
{
SideClap = 0,
FrontClap = 1
+ }
+ private static List queuedClaps = new();
+
+ private struct QueuedClaps
+ {
+ public double beat;
+ public int variation;
+ public int typeSpeak;
+ public bool muted;
+ public int clapType;
+ public int semitone;
+
+
}
public enum typePan
{
@@ -253,7 +269,7 @@ namespace HeavenStudio.Games
Pa_nC = 1
}
public enum variationPa
- {
+ {
PaG = 0
}
@@ -261,7 +277,7 @@ namespace HeavenStudio.Games
{
DonA = 0,
DonD = 1,
- DonC = 2,
+ DonC = 2,
DonG = 3
}
public enum variationDo_n
@@ -284,7 +300,7 @@ namespace HeavenStudio.Games
-
+
clapTypeGlobal = 0;
instance = this;
Text1_GUI = Text1.GetComponent();
@@ -298,14 +314,14 @@ namespace HeavenStudio.Games
Text9_GUI = Text9.GetComponent();
Text10_GUI = Text10.GetComponent();
-
+
}
public void OnStop()
{
- DarkPlane.GetComponent().color = new Color(1f, 1f, 1f, 0f);
-
+ DarkPlane.GetComponent().color = new Color(1f, 1f, 1f, 0f);
+
}
public void Update()
{
@@ -339,47 +355,77 @@ namespace HeavenStudio.Games
}
-
-
- if (PlayerInput.GetIsAction(BonOdori.InputAction_BasicPress) && !IsExpectingInputNow(InputAction_BasicPress)){
+
+
+ if (PlayerInput.GetIsAction(BonOdori.InputAction_BasicPress) && !IsExpectingInputNow(InputAction_BasicPress))
+ {
ScoreMiss();
SoundByte.PlayOneShotGame("bonOdori/clap");
if (clapTypeGlobal == 0)
- {
+ {
clapTypeString = "ClapSide";
}
else
{
clapTypeString = "ClapFront";
}
-
- Player.Play(clapTypeString);
- if (!goBopDonpans)
- {
-
+ Player.Play(clapTypeString);
+ if (!goBopDonpans)
+ {
+
+
BeatAction.New(instance, new List()
{
- new BeatAction.Action(beatUniversal + 1d, delegate { Player.Play("NeutralClapped"); CPU1.Play("NeutralClapped"); CPU2.Play("NeutralClapped"); CPU3.Play("NeutralClapped"); goBopDonpans = true;})
+ new BeatAction.Action(beatUniversal + 1d, delegate { Player.Play("NeutralClapped"); CPU1.Play("NeutralClapped"); CPU2.Play("NeutralClapped"); CPU3.Play("NeutralClapped");}),
});
}
-
-
-
-
-
+
+
+
+
+
+ }
+
}
+ public override void OnGameSwitch(double beat)
+ {
+
+ if (queuedClaps.Count > 0)
+ {
+ foreach (var clap in queuedClaps) Clap(clap.beat, clap.variation, clap.typeSpeak, clap.muted, clap.clapType, clap.semitone);
+ queuedClaps.Clear();
+ }
+
}
-
-
- public void Clap(double beat, int variation, int typeSpeak, bool muted, int clapType)
- {
+ public void PreClap(double beat, int variation, int typeSpeak, bool muted, int clapType, int semitone)
+ {
+ if (GameManager.instance.currentGame == "bonOdori")
+ {
+ instance.Clap(beat, variation, typeSpeak, muted, clapType, semitone);
+ }
+ else
+ {
+ queuedClaps.Add(new QueuedClaps()
+ {
+ beat = beat,
+ variation = variation,
+ typeSpeak = typeSpeak,
+ muted = muted,
+ clapType = clapType,
+ semitone = semitone
+ });
+ }
+ }
+ public void Clap(double beat, int variation, int typeSpeak, bool muted, int clapType, int semitone)
+
+ {
if (clapType == 1)
{
clapTypeGlobal = 1;
@@ -391,192 +437,145 @@ namespace HeavenStudio.Games
if (muted)
{
ScheduleInput(beat, 0f, InputAction_BasicPress, Success, Miss, Empty);
- }
+ }
else
{
-
-
-
- switch (typeSpeak){
- case 0:
-
- switch (variation){
- case 0:
- SoundByte.PlayOneShotGame("bonOdori/pan1");
- break;
- case 1:
- SoundByte.PlayOneShotGame("bonOdori/pan2"); break;
- case 2:
- SoundByte.PlayOneShotGame("bonOdori/pan3");
- break;}
- break;
- case 2:
- switch (variation){
- case 0:
- SoundByte.PlayOneShotGame("bonOdori/pa_n1");
- break;
- case 1:
- SoundByte.PlayOneShotGame("bonOdori/pa_n2");
- break;}
- break;
- case 1:
- SoundByte.PlayOneShotGame("bonOdori/pa1");
- break;
+ string clip = typeSpeak switch
+ {
+ 0 => "pan",
+ 1 => "pa_n",
+ 2 or _ => "pa",
+ };
+ var pitch = SoundByte.GetPitchFromSemiTones(semitone, true);
+ SoundByte.PlayOneShotGame($"bonOdori/" + clip + (variation + 1), beat, pitch);
+
+
+
+
+ beatUniversal = beat;
+ ScheduleInput(beat, 0f, InputAction_BasicPress, Success, Miss, Empty);
+ }
+ }
+ public void Sound(double beat, int variation, int typeSpeak, int semitone)
+ {
+ string clip = typeSpeak switch
+ {
+ 0 => "don",
+ 1 => "do_n",
+ 2 or _ => "do",
+
+ };
+ var pitch = SoundByte.GetPitchFromSemiTones(semitone, true);
+
+ SoundByte.PlayOneShotGame($"bonOdori/" + clip + (variation + 1), beat, pitch);
-
-
-
}
- beatUniversal = beat;
- ScheduleInput(beat, 0f, InputAction_BasicPress, Success, Miss, Empty);}
- }
- public void Sound(double beat, int variation, int typeSpeak )
- { switch (typeSpeak){
- case 0:
- switch (variation){
- case 0:
- SoundByte.PlayOneShotGame("bonOdori/don1");
- break;
- case 1:
- SoundByte.PlayOneShotGame("bonOdori/don2");
- break;
- case 2:
- SoundByte.PlayOneShotGame("bonOdori/don3");
- break;
- case 3:
- SoundByte.PlayOneShotGame("bonOdori/don4");
- break;
- }
-
-
- break;
- case 2:
- switch (variation) {
- case 0:
- SoundByte.PlayOneShotGame("bonOdori/do_n1");
- break;
- case 1:
- SoundByte.PlayOneShotGame("bonOdori/do_n2");
- break;
- }
- break;
-
- case 1:
- switch (variation){
- case 0:
- SoundByte.PlayOneShotGame("bonOdori/do1");
- break;
- case 1:
- SoundByte.PlayOneShotGame("bonOdori/do2");
- break;
- }
-
-
- break;
- }
- }
public void Success(PlayerActionEvent caller, float state)
{
if (clapTypeGlobal == 0)
- {
- clapTypeString = "ClapSide";
- }
- else
- {
- clapTypeString = "ClapFront";
- }
-
- Player.Play(clapTypeString);
- CPU1.Play(clapTypeString);
- CPU2.Play(clapTypeString);
- CPU3.Play(clapTypeString);
- if (!goBopDonpans)
- {
+ {
+ clapTypeString = "ClapSide";
+ }
+ else
+ {
+ clapTypeString = "ClapFront";
+ }
-
- BeatAction.New(instance, new List()
+ Player.Play(clapTypeString);
+ CPU1.Play(clapTypeString);
+ CPU2.Play(clapTypeString);
+ CPU3.Play(clapTypeString);
+ if (!goBopDonpans)
+ {
+
+
+ BeatAction.New(instance, new List()
{
new BeatAction.Action(beatUniversal + 1d, delegate { Player.Play("NeutralClapped"); CPU1.Play("NeutralClapped"); CPU2.Play("NeutralClapped"); CPU3.Play("NeutralClapped");}),
});
- }
+ }
SoundByte.PlayOneShotGame("bonOdori/clap");
}
-
+
public void Miss(PlayerActionEvent caller)
{
- CPU1.Play(clapTypeString);
- CPU2.Play(clapTypeString);
- CPU3.Play(clapTypeString);
- SoundByte.PlayOneShot("miss");
- BeatAction.New(instance, new List()
+ CPU1.Play(clapTypeString);
+ CPU2.Play(clapTypeString);
+ CPU3.Play(clapTypeString);
+ SoundByte.PlayOneShot("miss");
+ BeatAction.New(instance, new List()
{
new BeatAction.Action(beatUniversal + 1d, delegate { Face.Play("Sad");}),
new BeatAction.Action(beatUniversal + 3d, delegate {Face.Play("Neutral");})
});
-
+
}
-
-
+
+
public void Empty(PlayerActionEvent caller)
{
if (clapTypeGlobal == 0)
- {
- clapTypeString = "ClapSide";
- }
- else
- {
- clapTypeString = "ClapFront";
- }
-
- Player.Play(clapTypeString);
- CPU1.Play(clapTypeString);
- CPU2.Play(clapTypeString);
- CPU3.Play(clapTypeString);
- if (!goBopDonpans)
- {
-
-
- BeatAction.New(instance, new List()
- {
- new BeatAction.Action(beatUniversal + 1d, delegate { Player.Play("NeutralClapped"); CPU1.Play("NeutralClapped"); CPU2.Play("NeutralClapped"); CPU3.Play("NeutralClapped");}),
- });
- }
-
- SoundByte.PlayOneShot("nearMiss");
-
-
- }
- string ChangeColor(string text, bool isScroll)
- {
- if (text.Contains("r|") | text.Contains("y|") | text.Contains("g|")){
- if (!isScroll){
-
-
- return text.Replace("r|", "")
- .Replace("g|", "")
- .Replace("y|", "")
- + "";
+ {
+ clapTypeString = "ClapSide";
}
else
{
- return text.Replace("r|", "")
- .Replace("g|", "")
- .Replace("y|", "")
- + "";
+ clapTypeString = "ClapFront";
+ }
- }}
+ Player.Play(clapTypeString);
+ CPU1.Play(clapTypeString);
+ CPU2.Play(clapTypeString);
+ CPU3.Play(clapTypeString);
+ if (!goBopDonpans)
+ {
+
+
+ BeatAction.New(instance, new List()
+ {
+ new BeatAction.Action(beatUniversal + 1d, delegate { Player.Play("NeutralClapped"); CPU1.Play("NeutralClapped"); CPU2.Play("NeutralClapped"); CPU3.Play("NeutralClapped");}),
+ });
+ }
+
+ SoundByte.PlayOneShot("nearMiss");
+
+
+ }
+ string ChangeColor(string text, bool isScroll)
+ {
+ if (text.Contains("r|") | text.Contains("y|") | text.Contains("g|"))
+ {
+ if (!isScroll)
+ {
+
+
+ return text.Replace("r|", "")
+ .Replace("g|", "")
+ .Replace("y|", "")
+ + "";
+ }
+ else
+ {
+ return text.Replace("r|", "")
+ .Replace("g|", "")
+ .Replace("y|", "")
+ + "";
+
+ }
+ }
return text;
- }
+ }
public void ShowText(string text1, string text2, string text3, string text4, string text5)
{
-
- if (text1 is not "" && text1 is not "Type r| for red text, g| for green text and y| for yellow text. These can be used multiple times in a single line."){
+
+ if (text1 is not "" && text1 is not "Type r| for red text, g| for green text and y| for yellow text. These can be used multiple times in a single line.")
+ {
if (Scroll1 is not null)
{
StopCoroutine(Scroll1);
@@ -587,12 +586,13 @@ namespace HeavenStudio.Games
text1 = ChangeColor(text1, false);
Text1.text = text1;
-
-
+
+
Text6.text = ChangeColor(originalText1, true);
-
- }
- if (text2 is not ""){
+
+ }
+ if (text2 is not "")
+ {
if (Scroll2 is not null)
{
StopCoroutine(Scroll2);
@@ -603,9 +603,10 @@ namespace HeavenStudio.Games
text2 = ChangeColor(text2, false);
Text2.text = text2;
Text7.text = ChangeColor(originalText2, true);
-
- }
- if (text3 is not ""){
+
+ }
+ if (text3 is not "")
+ {
if (Scroll3 is not null)
{
StopCoroutine(Scroll3);
@@ -613,14 +614,15 @@ namespace HeavenStudio.Games
}
originalText3 = text3;
Text8.GetComponent().SetMask(0, new Vector4(-10f, -10f, -10f, 10));
-
+
text3 = ChangeColor(text3, false);
-
+
Text3.text = text3;
Text8.text = ChangeColor(originalText3, true);
-
- }
- if (text4 is not ""){
+
+ }
+ if (text4 is not "")
+ {
if (Scroll4 is not null)
{
StopCoroutine(Scroll4);
@@ -631,11 +633,12 @@ namespace HeavenStudio.Games
text4 = ChangeColor(text4, false);
Text4.text = text4;
- Text9.text = text4;
+ Text9.text = text4;
Text9.text = ChangeColor(originalText4, true);
- }
- if (text5 is not ""){
+ }
+ if (text5 is not "")
+ {
if (Scroll5 is not null)
{
StopCoroutine(Scroll5);
@@ -647,12 +650,14 @@ namespace HeavenStudio.Games
Text5.text = text5;
Text10.text = ChangeColor(originalText5, true);
- }
-
+ }
+
}
- public void DeleteText(bool text1, bool text2, bool text3, bool text4, bool text5){
- if (text1 == true){
+ public void DeleteText(bool text1, bool text2, bool text3, bool text4, bool text5)
+ {
+ if (text1 == true)
+ {
if (Scroll1 is not null)
{
StopCoroutine(Scroll1);
@@ -662,7 +667,8 @@ namespace HeavenStudio.Games
Text1.text = "";
Text6.text = "";
}
- if (text2 == true){
+ if (text2 == true)
+ {
if (Scroll2 is not null)
{
StopCoroutine(Scroll2);
@@ -672,7 +678,8 @@ namespace HeavenStudio.Games
Text2.text = "";
Text7.text = "";
}
- if (text3 == true){
+ if (text3 == true)
+ {
if (Scroll3 is not null)
{
StopCoroutine(Scroll3);
@@ -682,7 +689,8 @@ namespace HeavenStudio.Games
Text3.text = "";
Text8.text = "";
}
- if (text4 == true){
+ if (text4 == true)
+ {
if (Scroll4 is not null)
{
StopCoroutine(Scroll4);
@@ -692,7 +700,8 @@ namespace HeavenStudio.Games
Text4.text = "";
Text9.text = "";
}
- if (text5 == true){
+ if (text5 == true)
+ {
if (Scroll5 is not null)
{
StopCoroutine(Scroll5);
@@ -705,49 +714,57 @@ namespace HeavenStudio.Games
}
- IEnumerator SmoothText(TMP_Text text, float length, double beat)
- {
- Conductor conductor = new Conductor();
- float startTime = Time.time;
- float endTime = startTime + length;
- float duration = ((length / conductor.GetBpmAtBeat(beat)) * 60);
-
- while (Time.time < endTime)
+ IEnumerator SmoothText(TMP_Text text, float length, double beat)
{
- float t = ((Time.time - startTime) / duration);
-
- float maskValue = Mathf.Lerp(-10f, -7f, t);
+ Conductor conductor = new Conductor();
+ float startTime = Time.time;
+ float endTime = startTime + length;
+ float duration = ((length / conductor.GetBpmAtBeat(beat)) * 60);
- text.GetComponent().SetMask(0, new Vector4(-10, -10, maskValue, 10));
+ while (Time.time < endTime)
+ {
+ float t = ((Time.time - startTime) / duration);
+
+ float maskValue = Mathf.Lerp(-10f, -7f, t);
+
+ text.GetComponent().SetMask(0, new Vector4(-10, -10, maskValue, 10));
+
+ yield return null;
+
+ }
+
+
+
+ }
+ public void ScrollText(bool text1, bool text2, bool text3, bool text4, bool text5, float length, double beat)
+ {
+ if (text1)
+ {
+ Scroll1 = StartCoroutine(SmoothText(Text6, length, beat));
+ }
+ if (text2)
+ {
+ Scroll2 = StartCoroutine(SmoothText(Text7, length, beat));
+ }
+ if (text3)
+ {
+ Scroll3 = StartCoroutine(SmoothText(Text8, length, beat));
+ }
+ if (text4)
+ {
+ Scroll4 = StartCoroutine(SmoothText(Text9, length, beat));
+ }
+ if (text5)
+ {
+ Scroll5 = StartCoroutine(SmoothText(Text10, length, beat));
+ }
- yield return null;
-
}
-
-
- }
- public void ScrollText(bool text1, bool text2, bool text3, bool text4, bool text5, float length, double beat)
- {
- if (text1){
- Scroll1 = StartCoroutine(SmoothText(Text6, length, beat));}
- if (text2){
- Scroll2 = StartCoroutine(SmoothText(Text7, length, beat));}
- if (text3){
- Scroll3 = StartCoroutine(SmoothText(Text8, length, beat));}
- if (text4){
- Scroll4 = StartCoroutine(SmoothText(Text9, length, beat));}
- if (text5){
- Scroll5 = StartCoroutine(SmoothText(Text10, length, beat));}
-
- }
-
- public void Bop(double beat, float length, bool shouldBop, bool autoBop)
+ public void Bop(double beat, float length, bool shouldBop, bool autoBop)
{
- if (!shouldBop) { goBopDonpans = false; goBopJudge = false; return; }
- goBopDonpans = autoBop;
- goBopJudge = autoBop;
- if (autoBop) { return;}
+ goBopDonpans = autoBop; goBopJudge = autoBop;
+ if (autoBop && shouldBop) { return; }
if (shouldBop)
{
for (int i = 0; i < length; i++)
@@ -774,37 +791,41 @@ namespace HeavenStudio.Games
})
});
}
-
+
+
+ }
+ else
+ {
+ return;
+ }
}
+ public void Bow(double beat, float length)
+ {
+ if (goBopDonpans == true)
+ {
+ bopDonpans = true;
+ }
+ else
+ {
+ bopDonpans = false;
- }
- public void Bow(double beat, float length)
- {
- if (goBopDonpans == true)
- {
- bopDonpans = true;
- }
- else
- {
- bopDonpans = false;
-
- }
- goBopDonpans = false;
- Player.Play("Bow");
- CPU1.Play("Bow");
- CPU2.Play("Bow");
- CPU3.Play("Bow");
- BeatAction.New(instance, new List()
+ }
+ goBopDonpans = false;
+ Player.Play("Bow");
+ CPU1.Play("Bow");
+ CPU2.Play("Bow");
+ CPU3.Play("Bow");
+ BeatAction.New(instance, new List()
{
new BeatAction.Action(beat + length, delegate { Player.Play("NeutralBopped"); CPU1.Play("NeutralBopped");CPU2.Play("NeutralBopped"); CPU3.Play("NeutralBopped"); if (bopDonpans) {goBopDonpans = true;}})
});
- }
- // public void Spin(double beat, float length)
- // {
+ }
+ // public void Spin(double beat, float length)
+ // {
+
+ // }
- // }
-
public override void OnBeatPulse(double beat)
{
if (goBopDonpans)
@@ -820,69 +841,73 @@ namespace HeavenStudio.Games
Judge.Play("Bop");
}
}
-public void DarkBG(double beat, bool toggle, float length)
-{
- DarkerBG = StartCoroutine(DarkBGCoroutine(beat, toggle, length));
-
-}
-IEnumerator DarkBGCoroutine(double beat, bool toggle, float length)
-{
- if (toggle)
- {
- if (darkBgIsOn)
+ public void DarkBG(double beat, bool toggle, float length)
{
- yield return null;
+ DarkerBG = StartCoroutine(DarkBGCoroutine(beat, toggle, length));
+
}
- else
- {
-
-
- float startTime = Time.time;
- Conductor con = new Conductor();
- float realLength = length / con.GetBpmAtBeat(beat) * 60;
- while (Time.time < realLength + startTime)
+ IEnumerator DarkBGCoroutine(double beat, bool toggle, float length)
{
+ if (toggle)
+ {
+ if (darkBgIsOn)
+ {
+ yield return null;
+ }
+ else
+ {
-
-
- darkPlane.color = new Color(1f, 1f, 1f, Mathf.Lerp(0f, 0.4666f, (Time.time - startTime) / realLength));
- darkBgIsOn = true;
- yield return null;
+ float startTime = Time.time;
+ Conductor con = new Conductor();
+ float realLength = length / con.GetBpmAtBeat(beat) * 60;
+ while (Time.time < realLength + startTime)
+ {
- }}}
- else
- {
- if (!darkBgIsOn)
- {
- yield return null;
+
+ darkPlane.color = new Color(1f, 1f, 1f, Mathf.Lerp(0f, 0.4666f, (Time.time - startTime) / realLength));
+ darkBgIsOn = true;
+ yield return null;
+
+
+
+ }
+ }
+ }
+ else
+ {
+ if (!darkBgIsOn)
+ {
+ yield return null;
+ }
+ else
+ {
+
+
+ float startTime = Time.time;
+ Conductor con = new Conductor();
+ float realLength = length / con.GetBpmAtBeat(beat) * 60;
+ while (Time.time < realLength + startTime)
+ {
+
+
+
+
+ darkPlane.color = new Color(1f, 1f, 1f, Mathf.Lerp(0.4666f, 0f, (Time.time - startTime) / realLength));
+
+ darkBgIsOn = true;
+ yield return null;
+
+
+ }
+
+ }
+
+
+
+ }
}
- else
- {
-
-
- float startTime = Time.time;
- Conductor con = new Conductor();
- float realLength = length / con.GetBpmAtBeat(beat) * 60;
- while (Time.time < realLength + startTime)
- {
-
-
-
-
- darkPlane.color = new Color(1f, 1f, 1f, Mathf.Lerp(0.4666f,0f, (Time.time - startTime) / realLength));
-
- darkBgIsOn = true;
- yield return null;
-
-
}
-
-}
-
-
-
- }
-}}}
\ No newline at end of file
+}
\ No newline at end of file