fix weird edge case in toss boys autodispense

let beataction throw exceptions
This commit is contained in:
minenice55
2024-01-21 00:15:06 -05:00
parent dbf28debe0
commit b4ceb15743
3 changed files with 18 additions and 2 deletions

View File

@ -466,8 +466,15 @@ namespace HeavenStudio.Games
if (passBallDict.TryGetValue(beat + lastLength, out var e))
{
if (e.datamodel == "tossBoys/pop") return;
curReceiver = e["who"];
blurSet = e.datamodel == "tossBoys/blur";
if (blurSet)
{
curReceiver = (int)WhichTossKid.None;
}
else
{
curReceiver = e["who"];
}
currentLength = e.length;
nextIsSpecial = IsSpecialEvent(e.datamodel);
eventDatamodel = e.datamodel;

View File

@ -58,7 +58,14 @@ namespace HeavenStudio.Util
if (behaviour == null || !(conductor.isPlaying || conductor.isPaused))
return;
actions[idx].function.Invoke();
try
{
actions[idx].function.Invoke();
}
catch (System.Exception e)
{
Debug.LogError($"Exception thrown while executing BeatAction: {e}");
}
idx++;
}
}