public void OnArcWasDrawn(int transitionId, int placeId, bool direction) { List <Transition> transitions; if (game.model.canPerformAddArc(transitionId, placeId)) { transitions = game.model.performAddArc(transitionId, placeId, direction); game.view.updateTransitions(transitions); int lastLevelCompleted = int.Parse(SceneManager.GetActiveScene().name.Substring("Level_".Length)); if (lastLevelCompleted == 2) { // If end is reached, memorize last level completed if (game.model.targetPetriNetReached2()) { StartCoroutine(game.view.winningScreen()); Debug.Log("End reached."); MemoryScript memory = GameObject.FindObjectOfType <MemoryScript>(); if (lastLevelCompleted > memory.getLastLevelCompleted()) { memory.setLastLevelCompleted(lastLevelCompleted); } } } } else { Debug.Log("Transition or place does not exist."); } }
public void ResetMemory() { MemoryScript memory = GameObject.FindObjectOfType <MemoryScript>(); if (memory != null) { memory.setLastLevelCompleted(0); memory.Save(); SceneManager.LoadSceneAsync(SceneManager.GetActiveScene().name); } }
public void OnAddTokensClicked(int placeId) { game.model.addTokens(placeId); game.view.updatePlaces(game.model.getPlaces()); // If end is reached, memorize last level completed if (game.model.targetPetriNetReached()) { StartCoroutine(game.view.winningScreen()); Debug.Log("End reached."); MemoryScript memory = GameObject.FindObjectOfType <MemoryScript>(); int lastLevelCompleted = int.Parse(SceneManager.GetActiveScene().name.Substring("Level_".Length)); if (lastLevelCompleted > memory.getLastLevelCompleted()) { memory.setLastLevelCompleted(lastLevelCompleted); } } }
public void OnTransitionClicked(int transitionId) { List <Place> places = new List <Place> (); // Check if preconditions are filled. if (game.model.canPerformFire(transitionId)) { // Effectuate the transition on the model places = game.model.performFire(transitionId); Debug.Log("Transition fired."); //Animation game.view.transitionAnimation(transitionId); // Update graphics game.view.updatePlaces(places); game.view.updateTransitions(game.model.getTransitions()); int lastLevelCompleted = int.Parse(SceneManager.GetActiveScene().name.Substring("Level_".Length)); if (lastLevelCompleted != 2) { if ((lastLevelCompleted == 5 && game.model.targetPetriNetReached2()) || lastLevelCompleted != 5) { // If end is reached, memorize last level completed if (game.model.targetPetriNetReached()) { StartCoroutine(game.view.winningScreen()); Debug.Log("End reached."); MemoryScript memory = GameObject.FindObjectOfType <MemoryScript> (); if (lastLevelCompleted > memory.getLastLevelCompleted()) { memory.setLastLevelCompleted(lastLevelCompleted); } } } } } else { Debug.Log("Transition cannot be fired."); } }