diff --git a/Assets/Scripts/Games/MonkeyWatch/MonkeyWatch.cs b/Assets/Scripts/Games/MonkeyWatch/MonkeyWatch.cs index a2b4e21d1..aff766583 100644 --- a/Assets/Scripts/Games/MonkeyWatch/MonkeyWatch.cs +++ b/Assets/Scripts/Games/MonkeyWatch/MonkeyWatch.cs @@ -93,11 +93,12 @@ namespace HeavenStudio.Games.Loaders function = delegate { var e = eventCaller.currentEntity; - MonkeyWatch.instance.ZoomOut(e.beat, e["timeMode"], e["hour"], e["minute"]); + MonkeyWatch.instance.ZoomOut(e.beat, e["timeMode"], e["hour"], e["minute"], e["instant"]); }, defaultLength = 2f, parameters = new List() { + new Param("instant", false, "Instant"), new Param("timeMode", MonkeyWatch.TimeMode.RealTime, "Time Mode", "Will the clock set the time to the current time or a certain time?"), new Param("hour", new EntityTypes.Integer(0, 12, 3), "Hour"), new Param("minute", new EntityTypes.Integer(0, 59, 0), "Minute") @@ -108,11 +109,12 @@ namespace HeavenStudio.Games.Loaders function = delegate { var e = eventCaller.currentEntity; - MonkeyWatch.instance.ZoomIn(e.beat, e["timeMode"], e["hour"], e["minute"]); + MonkeyWatch.instance.ZoomIn(e.beat, e["timeMode"], e["hour"], e["minute"], e["instant"]); }, defaultLength = 2f, parameters = new List() { + new Param("instant", false, "Instant"), new Param("timeMode", MonkeyWatch.TimeMode.RealTime, "Time Mode", "Will the clock set the time to the current time or a certain time?"), new Param("hour", new EntityTypes.Integer(0, 12, 3), "Hour"), new Param("minute", new EntityTypes.Integer(0, 59, 0), "Minute") @@ -205,18 +207,18 @@ namespace HeavenStudio.Games monkeyClockArrow.PlayerClap(big, barely, false); } - public void ZoomOut(double beat, int timeMode, int hours, int minutes) + public void ZoomOut(double beat, int timeMode, int hours, int minutes, bool instant) { - zoomOutStartBeat = beat; + zoomOutStartBeat = beat - (instant ? zoomOutBeatLength : 0); zoomIn = false; - backgroundHandler.SetFade(beat, 0.25f, true, (TimeMode)timeMode, hours, minutes); + backgroundHandler.SetFade(beat, instant ? 0 : 0.25f, true, (TimeMode)timeMode, hours, minutes); CameraUpdate(); } - public void ZoomIn(double beat, int timeMode, int hours, int minutes) + public void ZoomIn(double beat, int timeMode, int hours, int minutes, bool instant) { - zoomOutStartBeat = beat; + zoomOutStartBeat = beat - (instant ? zoomInBeatLength : 0); zoomIn = true; - backgroundHandler.SetFade(beat, 0.25f, false, (TimeMode)timeMode, hours, minutes); + backgroundHandler.SetFade(beat, instant ? 0 : 0.25f, false, (TimeMode)timeMode, hours, minutes); CameraUpdate(); } @@ -225,12 +227,12 @@ namespace HeavenStudio.Games var allZooms = EventCaller.GetAllInGameManagerList("monkeyWatch", new string[] { "zoomOut" }).FindAll(x => x.beat < beat && x.beat + x.length > beat); foreach (var zoom in allZooms) { - ZoomOut(zoom.beat, zoom["timeMode"], zoom["hour"], zoom["minute"]); + ZoomOut(zoom.beat, zoom["timeMode"], zoom["hour"], zoom["minute"], zoom["instant"]); } var allZoomsIn = EventCaller.GetAllInGameManagerList("monkeyWatch", new string[] { "zoomIn" }).FindAll(x => x.beat < beat && x.beat + x.length > beat); foreach (var zoom in allZoomsIn) { - ZoomIn(zoom.beat, zoom["timeMode"], zoom["hour"], zoom["minute"]); + ZoomIn(zoom.beat, zoom["timeMode"], zoom["hour"], zoom["minute"], zoom["instant"]); } }