diff --git a/Assets/Resources/Games/rhythmTweezers.prefab b/Assets/Resources/Games/rhythmTweezers.prefab
index d30196df..8384d608 100644
--- a/Assets/Resources/Games/rhythmTweezers.prefab
+++ b/Assets/Resources/Games/rhythmTweezers.prefab
@@ -2185,6 +2185,7 @@ MonoBehaviour:
Vegetable: {fileID: 6331401567023014501}
VegetableDupe: {fileID: 9096051369561297840}
VegetableAnimator: {fileID: 3603513546661280919}
+ bg: {fileID: 5813499711658895221}
Tweezers: {fileID: 3391455012319192365}
hairBase: {fileID: 4104508031135416673}
longHairBase: {fileID: 2904820922900361117}
diff --git a/Assets/Scripts/Games/RhythmTweezers/RhythmTweezers.cs b/Assets/Scripts/Games/RhythmTweezers/RhythmTweezers.cs
index 145246e0..4e19c973 100644
--- a/Assets/Scripts/Games/RhythmTweezers/RhythmTweezers.cs
+++ b/Assets/Scripts/Games/RhythmTweezers/RhythmTweezers.cs
@@ -17,6 +17,7 @@ namespace RhythmHeavenMania.Games.RhythmTweezers
public SpriteRenderer Vegetable;
public SpriteRenderer VegetableDupe;
public Animator VegetableAnimator;
+ public SpriteRenderer bg;
public Tweezers Tweezers;
public GameObject hairBase;
public GameObject longHairBase;
@@ -42,6 +43,7 @@ namespace RhythmHeavenMania.Games.RhythmTweezers
Tween transitionTween;
bool transitioning = false;
+ Tween bgColorTween;
private static Color _defaultOnionColor;
public static Color defaultOnionColor
@@ -63,6 +65,16 @@ namespace RhythmHeavenMania.Games.RhythmTweezers
}
}
+ private static Color _defaultBgColor;
+ public static Color defaultBgColor
+ {
+ get
+ {
+ ColorUtility.TryParseHtmlString("#D8FFC1", out _defaultBgColor);
+ return _defaultBgColor;
+ }
+ }
+
public static RhythmTweezers instance { get; set; }
private void Awake()
@@ -171,6 +183,29 @@ namespace RhythmHeavenMania.Games.RhythmTweezers
VegetableDupe.color = newColor;
}
+ public void ChangeBackgroundColor(Color color, float beats)
+ {
+ var seconds = Conductor.instance.secPerBeat * beats;
+
+ if (bgColorTween != null)
+ bgColorTween.Kill(true);
+
+ if (seconds == 0)
+ {
+ bg.color = color;
+ }
+ else
+ {
+ bgColorTween = bg.DOColor(color, seconds);
+ }
+ }
+
+ public void FadeBackgroundColor(Color start, Color end, float beats)
+ {
+ ChangeBackgroundColor(start, 0f);
+ ChangeBackgroundColor(end, beats);
+ }
+
private void Update()
{
if (!Conductor.instance.isPlaying && !Conductor.instance.isPaused && intervalStarted)
diff --git a/Assets/Scripts/Minigames.cs b/Assets/Scripts/Minigames.cs
index 6fb61843..bb90f923 100644
--- a/Assets/Scripts/Minigames.cs
+++ b/Assets/Scripts/Minigames.cs
@@ -216,6 +216,15 @@ namespace RhythmHeavenMania
} ),
new GameAction("set tweezer delay", delegate { RhythmTweezers.instance.tweezerBeatOffset = eventCaller.currentEntity.length; }, 1f, true),
new GameAction("reset tweezer delay", delegate { RhythmTweezers.instance.tweezerBeatOffset = 0f; }, 0.5f),
+ new GameAction("set background color", delegate { var e = eventCaller.currentEntity; RhythmTweezers.instance.ChangeBackgroundColor(e.colorA, 0f); }, 0.5f, false, new List()
+ {
+ new Param("colorA", RhythmTweezers.defaultBgColor, "Background Color")
+ } ),
+ new GameAction("fade background color", delegate { var e = eventCaller.currentEntity; RhythmTweezers.instance.FadeBackgroundColor(e.colorA, e.colorB, e.length); }, 1f, true, new List()
+ {
+ new Param("colorA", Color.white, "Start Color"),
+ new Param("colorB", RhythmTweezers.defaultBgColor, "End Color")
+ } ),
}),
new Minigame("rhythmRally", "Rhythm Rally \n[WIP don't use]", "B888F8", true, false, new List()