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."); } }
void Start() { memory = Camera.main.GetComponent <MemoryScript>(); if (!memory.GetAccess(0)) { memory.OpenAccess(0); } coinsText = coins.GetComponent <Text>(); select = memory.GetSelect(); for (int i = 0; i <= isAccessArr.Length - 1; i++) // get and use ships info { priseObjs[i].GetComponent <Text>().text = "" + priseArr[i]; bool isAccess = memory.GetAccess(i); isAccessArr[i] = isAccess; if (isAccess) { imgs[i].GetComponent <SpriteRenderer>().color = new Vector4(1, 1, 1, 1); priseObjs[i].SetActive(false); backgroundArr[i].GetComponent <SpriteRenderer>().color = new Vector4(1, 1, 1, 1); } else { imgs[i].GetComponent <SpriteRenderer>().color = new Vector4(0, 0, 0, 1); priseObjs[i].SetActive(true); backgroundArr[i].GetComponent <SpriteRenderer>().color = new Vector4(0.5f, 0.5f, 0.5f, 1); } if (i == select) { backgroundArr[i].GetComponent <SpriteRenderer>().color = new Vector4(0, 1, 1, 1); } } }
// Use this for initialization void Start() { MemoryScript memory = GameObject.FindObjectOfType <MemoryScript>(); if (memory == null) { memory = Instantiate <MemoryScript>(memoryPrefab.GetComponent <MemoryScript>()); } }
void Start() { memory = Camera.main.GetComponent <MemoryScript>(); starSystem = stars.GetComponent <ParticleSystem>(); starSystem.startSpeed = MIN_SPEED;//set star speed playerTransform = player.transform; player.GetComponent <SpriteRenderer>().sprite = playerTextures[memory.GetSelect()]; SpawnEnemy(); }
void OnApplicationQuit() { MemoryScript memory = GameObject.FindObjectOfType <MemoryScript>(); if (memory != null) { memory.Save(); } }
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); } } }
void Start() { // Initialize level ending using another scene string sceneName = SceneManager.GetActiveScene().name; MemoryScript memory = GameObject.FindObjectOfType <MemoryScript>(); if (!sceneName.EndsWith("_end") && !memory.getLoaded()) { // Scene used to load end scene and then load back the real scene string endSceneName = sceneName + "_end"; memory.setLoaded(true); SceneManager.LoadSceneAsync(endSceneName); SceneManager.LoadSceneAsync(sceneName); } else if (sceneName.EndsWith("_end")) { //Scene used only for setting the end memory.setEndPlaces(game.view.getPlaces()); memory.setEndTransitions(game.view.getTransitions()); } else { //Scene that we use to play memory.setLoaded(false); } // Initialise game model using the scene game.model.initialisation(game.view.getPlaces(), game.view.getTransitions(), memory.getEndPlaces(), memory.getEndTransitions()); /*string str = ""; * foreach (Transition t in tr) { * str += t.id; * str+=" preconditions: "; * foreach(Arc pre in t.preconditions){ * str+= (pre.idPlace + ", " + pre.coeff+"; "); * } * str+= (" postconditions "); * foreach(Arc post in t.postconditions){ * str+= (post.idPlace + ", " + post.coeff+"; "); * } * } * Debug.Log (str);*/ game.view.updateTransitions(game.model.getTransitions()); }
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."); } }
// Use this for initialization void Start() { RectTransform rt = GetComponent <RectTransform>(); Vector3[] v = new Vector3[4]; rt.GetLocalCorners(v); float width = v[2][0] * 2; float height = v[2][1] * 2; float limit = Mathf.Min(new float[] { width, height }); // Menu button rt = transform.GetChild(1).GetComponent <RectTransform>(); rt.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, limit / 16, limit / 8); rt.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Left, limit / 16, limit / 8); // SUB PANEL rt = transform.GetChild(2).GetComponent <RectTransform>(); rt.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, 0.1f * height, 0.8f * height); rt.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Left, 0.1f * width, 0.8f * width); rt.GetLocalCorners(v); width = v[2][0] * 2; height = v[2][1] * 2; limit = Mathf.Min(new float[] { width, height }); // Sub panel button - music rt = transform.GetChild(2).GetChild(0).GetComponent <RectTransform>(); rt.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, height / 3 - limit / 8, limit / 4); rt.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Left, width / 4 - limit / 8, limit / 4); // Sub panel button - volume rt = transform.GetChild(2).GetChild(1).GetComponent <RectTransform>(); RectTransform volumeRt = rt; rt.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, height / 3 - limit / 8, limit / 4); rt.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Left, 2 * width / 4 - limit / 8, limit / 4); // Sub panel button - trash rt = transform.GetChild(2).GetChild(2).GetComponent <RectTransform>(); rt.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, height / 3 - limit / 8, limit / 4); rt.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Left, 3 * width / 4 - limit / 10, limit / 5); // Sub panel button - exit rt = transform.GetChild(2).GetChild(3).GetComponent <RectTransform>(); rt.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, limit / 10, limit / 10); rt.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Right, limit / 8, limit / 10); // Sub panel button - quit rt = transform.GetChild(2).GetChild(4).GetComponent <RectTransform>(); rt.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, 3 * height / 4 - limit / 16, limit / 8); rt.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Left, width / 2 - limit / 4, limit / 2); // Sub panel button - volume - slider volumeRt.GetLocalCorners(v); width = v[2][0] * 2; height = v[2][1] * 2; rt = transform.GetChild(2).GetChild(1).GetChild(0).GetComponent <RectTransform>(); rt.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 0.4f * height); rt.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, height + height / 5, height / 4); // Handle size transform.GetChild(2).GetChild(1).GetChild(0).GetChild(2).GetChild(0).GetComponent <RectTransform>().SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 0.5f * height); transform.GetChild(2).GetChild(1).GetChild(0).GetChild(2).GetChild(0).GetComponent <RectTransform>().SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 0.4f * width); MemoryScript memory = GameObject.FindObjectOfType <MemoryScript>(); GameObject holder = GameObject.Find("LevelButtons"); Button[] levelButtons = holder.GetComponentsInChildren <Button> (); //GameObject[] levelButtons = GameObject.FindGameObjectsWithTag ("LevelButton"); Debug.Log(memory); int lastLevelCompleted = memory.getLastLevelCompleted(); Debug.Log(lastLevelCompleted); for (int i = 0; i < levelButtons.Length; i++) { if (i + 1 > lastLevelCompleted + 1) { levelButtons[i].GetComponent <Image> ().sprite = locker; levelButtons [i].interactable = false; } } }
void Start() { coinsText = coinsTextObj.GetComponent <Text>(); memory = Camera.main.GetComponent <MemoryScript>(); }