// Use to process your families. protected override void onProcess(int familiesUpdateCount) { if (Input.GetMouseButtonDown(0) && exit_GO.GetComponent <PointerOver>() != null) { ComponentMonitoring monitor = exit_GO.GetComponent <ComponentMonitoring> (); // Check if hero is near to exit (only hero can produce this component thanks to Unity Physics layers) Triggered3D triggered = exit_GO.GetComponent <Triggered3D> (); if (triggered != null) { MonitoringManager.trace(monitor, "perform", MonitoringManager.Source.PLAYER); GameObjectManager.setGameObjectState(endScreen_GO, true); foreach (FSystem sys in FSystemManager.fixedUpdateSystems()) { sys.Pause = true; } foreach (FSystem sys in FSystemManager.lateUpdateSystems()) { sys.Pause = true; } foreach (FSystem sys in FSystemManager.updateSystems()) { sys.Pause = true; } } } }
//pause or resume the game void pauseGame() { if (!gameInfo.First().GetComponent <GameInfo>().playing) { movingGO.First().GetComponentInChildren <LineRenderer>().positionCount = 0; movingGO.First().GetComponent <Move>().lineRendererPositions.Clear(); } bool gamePaused = gameInfo.First().GetComponent <GameInfo> ().gamePaused; foreach (FSystem s in FSystemManager.fixedUpdateSystems()) { if (s.ToString() == "ApplyForce" || s.ToString() == "MoveSystem") { s.Pause = !gamePaused; } } gameInfo.First().GetComponent <GameInfo> ().gamePaused = !gamePaused; gameInfo.First().GetComponent <GameInfo>().playing = true; Color uipColor = gameInfo.First().GetComponent <GameInfo>().uiParameters.GetComponent <Image>().color; Color uipdColor = gameInfo.First().GetComponent <GameInfo>().uipDelete.GetComponent <Image>().color; Color bpColor = gameInfo.First().GetComponent <GameInfo>().ballParameters.GetComponent <Image>().color; Color urColor = gameInfo.First().GetComponent <GameInfo>().uniformRotator.GetComponent <Image>().color; gameInfo.First().GetComponent <GameInfo>().uiParameters.GetComponent <Image>().color = new Color(uipColor.r, uipColor.g, uipColor.b, 75f / 255); //hide uiP gameInfo.First().GetComponent <GameInfo>().uipDelete.GetComponent <Image>().color = new Color(uipdColor.r, uipdColor.g, uipdColor.b, 75f / 255); //hide uiP delete button gameInfo.First().GetComponent <GameInfo>().ballParameters.GetComponent <Image>().color = new Color(bpColor.r, bpColor.g, bpColor.b, 75f / 255); //hide bP gameInfo.First().GetComponent <GameInfo>().uniformRotator.GetComponent <Image>().color = new Color(urColor.r, urColor.g, urColor.b, 75f / 255); //hide ur }
public void ContinueToPlay() { disableRevolutionEnd = true; ContinueButton.gameObject.SetActive(false); reviewButton.gameObject.SetActive(true); // restart all systems foreach (FSystem sys in FSystemManager.updateSystems()) { sys.Pause = false; } // Forcer le bouton en pause PauseButton.isOn = false; PauseButton.isOn = true; this.enabled = true; transform.GetChild(0).GetComponent <Animator>().Play("ContinueToPlay"); Invoke("DisableChild", 0.25f); // Après que l'animation soit terminée, il faut désactiver le fils pour qu'il soit proprement réactivé lors de la fin du jeu if (music) { music.clip = defaultTheme; music.Play(); } }
// Use to process your families. protected override void onProcess(int familiesUpdateCount) { if (!gameInfo.First().GetComponent <GameInfo>().triggered&& !gameInfo.First().GetComponent <GameInfo>().levelEditorMode) { gameInfo.First().GetComponent <GameInfo>().levelLost = false; foreach (GameObject target in obstacles) { Triggered3D t = target.GetComponent <Triggered3D>(); if (t) { //if the obstacle is triggered foreach (GameObject go in t.Targets) { //for each go that triggered the obstacle if (go.tag == "Object") { //if go is the ball foreach (FSystem s in FSystemManager.fixedUpdateSystems()) { if (s.ToString() == "ApplyForce" || s.ToString() == "MoveSystem") { s.Pause = true;//pause the game } } gameInfo.First().GetComponent <GameInfo>().gamePaused = true; gameInfo.First().GetComponent <GameInfo>().levelLost = true; gameInfo.First().GetComponent <GameInfo>().triggered = true; } } } } } gameInfo.First().GetComponent <GameInfo> ().levelLostText.SetActive(gameInfo.First().GetComponent <GameInfo>().levelLost); //show the text if the level is failed }
// Use to process your families. protected override void onProcess(int familiesUpdateCount) { if (!gameInfo.First().GetComponent <GameInfo>().triggered&& !gameInfo.First().GetComponent <GameInfo>().levelEditorMode) { gameInfo.First().GetComponent <GameInfo>().levelCleared = false; foreach (GameObject target in targets) { Triggered3D t = target.GetComponent <Triggered3D>(); if (t) { //if the target is triggered foreach (GameObject go in t.Targets) { //for each go that triggered the target if (go.tag == "Object") { //if go is the ball foreach (FSystem s in FSystemManager.fixedUpdateSystems()) { if (s.ToString() == "ApplyForce" || s.ToString() == "MoveSystem") { s.Pause = true;//pause the game } } gameInfo.First().GetComponent <GameInfo>().gamePaused = true; gameInfo.First().GetComponent <GameInfo>().levelCleared = true; gameInfo.First().GetComponent <GameInfo>().triggered = true; } } } } } gameInfo.First().GetComponent <GameInfo> ().levelClearedText.SetActive(gameInfo.First().GetComponent <GameInfo>().levelCleared); //show the text if the level is cleared if (editorMode && !gameInfo.First().GetComponent <GameInfo>().levelEditorMode) { if (gameInfo.First().GetComponent <GameInfo>().validating) { foreach (Transform child in gameInfo.First().GetComponent <GameInfo>().levelClearedText.transform) { if (child.gameObject.name == "Retry") { child.gameObject.GetComponentInChildren <Text>().text = "Validate"; } } } else { foreach (Transform child in gameInfo.First().GetComponent <GameInfo>().levelClearedText.transform) { if (child.gameObject.name == "Retry") { child.gameObject.GetComponentInChildren <Text>().text = "Retry"; } } } } editorMode = gameInfo.First().GetComponent <GameInfo>().levelEditorMode; }
private void displayEnd() { nbDeadText = countryPopData.nbDeath.ToString("N0", CultureInfo.CreateSpecificCulture("fr-FR")); nbDead.text = baseNbDeadText + nbDeadText; float debtValue = finances.historySpent[finances.historySpent.Count - 1]; int nbMilliards = (int)(debtValue / 1000000000); if (nbMilliards > 0) { debtText = nbMilliards.ToString("N0", CultureInfo.CreateSpecificCulture("fr-FR")) + " Milliard" + (nbMilliards > 1 ? "s" : "") + " d'euros"; } else { int nbMillions = (int)(debtValue / 1000000); if (nbMillions > 0) { debtText = nbMillions.ToString("N0", CultureInfo.CreateSpecificCulture("fr-FR")) + " Million" + (nbMillions > 1 ? "s" : "") + " d'euros"; } else { debtText = debtValue.ToString("N0", CultureInfo.CreateSpecificCulture("fr-FR")) + " euros"; } } debt.text = baseDebtText + debtText; daysText = ""; int nbYears = time.daysGone / 365; int nbMonths = (time.daysGone % 365) / 30; int nbDays = (time.daysGone % 365) % 30; if (nbYears > 0) { daysText += nbYears.ToString("N0", CultureInfo.CreateSpecificCulture("fr-FR")) + " an" + (nbYears > 1 ? "s " : " "); } if (nbMonths > 0) { daysText += nbMonths + " mois "; } if (nbDays > 0) { daysText += nbDays + " jour" + (nbDays > 1 ? "s " : " "); } days.text = baseDaysText + daysText; // stopper tous les systèmes foreach (FSystem sys in FSystemManager.updateSystems()) { if (sys != BarsSystem.instance && sys != CurvesSystem.instance) { sys.Pause = true; } } this.enabled = false; }
public PauseGame() { foreach (FSystem s in FSystemManager.fixedUpdateSystems()) { if (s.ToString() == "ApplyForce" || s.ToString() == "MoveSystem") { s.Pause = true;//pause the game when level starts } } foreach (GameObject go in buttons) { if (go.name == "PauseButton") { go.GetComponent <Button>().onClick.AddListener(pauseGame);//add listener on pause button } } }
void resetBall() //reset ball parameters to the parameters set by the player { GameObject obj = movingGO.First(); Move mv = obj.GetComponent <Move> (); //set ball values to player values mv.direction = mv.playerDirection; mv.speed = mv.playerSpeed; obj.transform.position = mv.initialPostion; foreach (FSystem s in FSystemManager.fixedUpdateSystems()) { if (s.ToString() == "ApplyForce" || s.ToString() == "MoveSystem") { s.Pause = true; //pause game } } foreach (GameObject g in clickableGO) //unselect all objects { if (g.GetComponent <Clickable> ().isSelected) { g.GetComponent <Clickable> ().isSelected = false; } } //hide end game texts gameInfo.First().GetComponent <GameInfo> ().levelCleared = false; gameInfo.First().GetComponent <GameInfo> ().levelLost = false; gameInfo.First().GetComponent <GameInfo>().triggered = false; gameInfo.First().GetComponent <GameInfo> ().gamePaused = true; gameInfo.First().GetComponent <GameInfo>().playing = false;; Color uipColor = gameInfo.First().GetComponent <GameInfo>().uiParameters.GetComponent <Image>().color; Color uipdColor = gameInfo.First().GetComponent <GameInfo>().uipDelete.GetComponent <Image>().color; Color bpColor = gameInfo.First().GetComponent <GameInfo>().ballParameters.GetComponent <Image>().color; Color urColor = gameInfo.First().GetComponent <GameInfo>().uniformRotator.GetComponent <Image>().color; gameInfo.First().GetComponent <GameInfo>().uiParameters.GetComponent <Image>().color = new Color(uipColor.r, uipColor.g, uipColor.b, 1); //show uiP gameInfo.First().GetComponent <GameInfo>().uipDelete.GetComponent <Image>().color = new Color(uipdColor.r, uipdColor.g, uipdColor.b, 1); //show uiP delete button gameInfo.First().GetComponent <GameInfo>().ballParameters.GetComponent <Image>().color = new Color(bpColor.r, bpColor.g, bpColor.b, 1); //show bP gameInfo.First().GetComponent <GameInfo>().uniformRotator.GetComponent <Image>().color = new Color(urColor.r, urColor.g, urColor.b, 1); //show ur }