public void SetIsManusPlaying(bool state) { if (state == isPlaying) { return; } isPlaying = state; UISingleton.instance.uiCanvasGroup.blocksRaycasts = !state; skipManusBubble.gameObject.SetActive(state); PMWrapper.speedMultiplier = 0.5f; if (state) { UISingleton.instance.textField.deActivateField(); IDELineMarker.instance.SetState(IDELineMarker.State.Hidden); currentManus = Loader.allManuses[PMWrapper.currentLevel].Copy(); currentManus.NextStep(); } else { if (currentManus != null) { currentManus.FastForwardAllSteps(); currentManus = null; } UISingleton.instance.textField.reActivateField(); UISingleton.instance.manusBubble.HideMessage(); PMWrapper.SetLevelCompleted(); IDELineMarker.SetIDEPosition(PMWrapper.preCode == string.Empty ? 1 : (PMWrapper.preCode.Split('\n').Length + 1)); } }
private IEnumerator ShowFeedbackAndRunNextCase() { string positiveMassage; if (numberOfCases == 1) { positiveMassage = "Bra jobbat!"; } else { positiveMassage = "Test " + (CurrentCase + 1) + " avklarat!"; } UISingleton.instance.taskDescription.ShowPositiveMessage(positiveMassage); yield return(new WaitForSeconds(3 * (1 - PMWrapper.speedMultiplier))); UISingleton.instance.answerBubble.HideMessage(); UISingleton.instance.taskDescription.HideTaskFeedback(); LevelModeButtons.Instance.SetCurrentCaseButtonState(LevelModeButtonState.Completed); CurrentCase++; if (CurrentCase >= numberOfCases) { IsCasesRunning = false; AllCasesCompleted = true; PMWrapper.SetLevelCompleted(); yield break; } SetCurrentCase(CurrentCase); RunCase(CurrentCase); }
private IEnumerator ShowFeedbackAndRunNextCase() { UISingleton.instance.taskDescription.ShowPositiveMessage("Test " + (CurrentCase + 1) + " avklarat!"); yield return(new WaitForSeconds(3 * (1 - PMWrapper.speedMultiplier))); UISingleton.instance.answerBubble.HideMessage(); UISingleton.instance.taskDescription.HideTaskFeedback(); CaseButtons[CurrentCase].GetComponent <CaseButton>().SetButtonCompleted(); CurrentCase++; if (CurrentCase >= numberOfCases) { AllCasesCompleted = true; PMWrapper.SetLevelCompleted(); yield break; } SetCurrentCase(CurrentCase); RunCase(CurrentCase); }
public void OnPMCompilerStopped(StopStatus status) { if (status == StopStatus.Finished) { if (levelMode == LevelMode.Sandbox && Main.instance.levelDefinition.cases != null && Main.instance.levelDefinition.cases.Count > 0) { correctProgramPanel.SetActive(true); } else if (levelMode == LevelMode.Case) { foreach (IPMTimeToCorrectCase ev in UISingleton.FindInterfaces <IPMTimeToCorrectCase>()) { ev.OnPMTimeToCorrectCase(); } } else { PMWrapper.SetLevelCompleted(); } } if (status == StopStatus.RuntimeError) { if (levelMode == LevelMode.Case) { Main.instance.caseHandler.CaseFailed(); } } if (status == StopStatus.UserForced) { if (levelMode == LevelMode.Case) { Main.instance.caseHandler.isCasesRunning = false; } } }