diff --git a/Assets/MagnetismHeroes/Tests/PlayMode/ContentPlayTests.cs b/Assets/MagnetismHeroes/Tests/PlayMode/ContentPlayTests.cs index 5d20ef0..aa285cb 100644 --- a/Assets/MagnetismHeroes/Tests/PlayMode/ContentPlayTests.cs +++ b/Assets/MagnetismHeroes/Tests/PlayMode/ContentPlayTests.cs @@ -154,6 +154,26 @@ namespace MagnetismHeroes.Tests Assert.That(_app.Presenter.Balls.Values.Where(ball=>ball.Hinted).Select(ball=>ball.BallId), Is.EquivalentTo(hint.BallIds)); Assert.That(_app.Voice.CurrentClipId, Is.EqualTo(hint.VoiceId)); } + [UnityTest] public IEnumerator CollectingCurrentHelpTargetCancelsOldFindGuideWithoutLosingNumberQueue() + { + _app.StartStage(3); yield return null; _app.ShowHelp(); var hint=_app.Session.Hint; + Assert.That(_app.Voice.CurrentClipId, Is.EqualTo("guide_find")); + _app.CommitMove(hint.FirstGroupId,new Position3(.1f,0,0)); + Assert.That(_app.Voice.CurrentClipId, Is.Null,"Committed collection invalidates that old target guide."); + _app.StartStage(2); var groups=_app.Session.Board.Groups; + _app.CommitMove(groups[0].id,new Position3(.1f,0,0),groups[1].id); _app.CountBall(_app.Session.Board.Balls[0].id); + _app.ShowHelp(); int pending=_app.Voice.PendingCount; + _app.CommitMove(_app.Session.Board.Groups[0].id,new Position3(.1f,0,0)); + Assert.That(_app.Voice.PendingCount, Is.EqualTo(pending)); Assert.That(_app.Voice.CurrentClipId, Is.EqualTo("count_01")); + } + [UnityTest] public IEnumerator SuccessfulCurrentHelpMergeCancelsCompositionGuideInSameFreeBoard() + { + _app.StartStage(7); yield return null; _app.ShowHelp(); var hint=_app.Session.Hint; + Assert.That(_app.Voice.CurrentClipId, Is.EqualTo("guide_merge")); + _app.CommitMove(hint.FirstGroupId,new Position3(.1f,0,0),hint.SecondGroupId); + Assert.That(_app.Session.Screen, Is.EqualTo(SessionScreen.FreePlay)); + Assert.That(_app.Voice.CurrentClipId, Is.Null,"Successful merge cannot retain the obsolete composition guide."); + } } } #endif diff --git a/Assets/MagnetismHeroes/UnityRuntime/Bootstrap/GameApp.cs b/Assets/MagnetismHeroes/UnityRuntime/Bootstrap/GameApp.cs index f16d40a..7cbc259 100644 --- a/Assets/MagnetismHeroes/UnityRuntime/Bootstrap/GameApp.cs +++ b/Assets/MagnetismHeroes/UnityRuntime/Bootstrap/GameApp.cs @@ -139,6 +139,7 @@ namespace MagnetismHeroes.UnityRuntime.Bootstrap public void CommitMove(string groupId, Position3 delta, string mergeTarget = null) { var result = mergeTarget == null ? Session.MoveGroup(groupId, delta) : Session.MoveAndMerge(groupId, delta, mergeTarget); + if (result.Accepted) _voice.CancelGuide(); Refresh(false); if (result.Accepted && Session.Screen == SessionScreen.Puzzle && Session.Board.CanCount) _voice.Guide("guide_count"); }