GameOver









How do I use Game Over
Below are practical examples compiled from projects for learning and reference purposes

Featured Snippets


File name: GameManager.cs Copy
172  void Update () {
173
174#if UNITY_EDITOR
175   if (Input.GetKeyDown(KeyCode.Z)) {
176    GameManager.Instance.GameState.Checkmate();
177    GameOver(p1,GameOverType.CHECKMATE); //TODO delete
178   } else if (Input.GetKeyDown(KeyCode.X)) {
179    GameManager.Instance.GameState.Checkmate();
180    GameOver(p2,GameOverType.CHECKMATE); //TODO delete
181   } else if (Input.GetKeyDown(KeyCode.C)) {
182    GameManager.Instance.GameState.Stalemate();
183    GameOver(p2,GameOverType.STALEMATE);
184   }
185#endif
186
187   if (!ready) return;
188   if (gameState.IsGameOver) return;
189
190
191   //EXPERIMENT_TIMER
192   if (whiteTurn) {
193    whiteTimer -= Time.deltaTime;
194    if (whiteTimer < 0 ) {
195     whiteTimer = 0;
196     GameManager.Instance.GameState.OutOfTime();
197     GameOver(p2, GameOverType.OUT_OF_TIME);
198    }
199    UpdateWhiteTimer();
200   } else {
201    blackTimer -= Time.deltaTime;
202    if (blackTimer < 0 ) {
203     blackTimer = 0;
204     GameManager.Instance.GameState.OutOfTime();
205     GameOver(p1, GameOverType.OUT_OF_TIME);
206    }
207    UpdateBlackTimer();
208   }
209  }
File name: GameManager.cs Copy
232  public void SwitchPlayer() {
233   if (currentPlayer != null) {
234    currentPlayer.DisableInput();
235   }
236
237   if (currentPlayer == p2) {
238    currentPlayer = p1;
239    whiteTurn = true;
240    mainCamera.GetComponent().SwitchCamera(PlayerType.P1);
241   } else if (currentPlayer == p1) {
242    currentPlayer = p2;
243    whiteTurn = false;
244    mainCamera.GetComponent().SwitchCamera(PlayerType.P2);
245   } else {
246    currentPlayer = p1;
247    whiteTurn = true;
248   }
249
250   //IF checkmate
251   if (Rules.HasNoMove()) {
252    InputManager.Instance.UnHighlightTile();
253    if (currentPlayer.IsChecked) {
254     GameManager.Instance.GameState.Checkmate();
255     GameOver(PlayerOponent, GameOverType.CHECKMATE);
256     print("CHECKMATE");
257    } else {
258     GameManager.Instance.GameState.Stalemate();
259     print("STALEMATE");
260     GameOver(currentPlayer, GameOverType.STALEMATE);
261    }
262   }
263
264   currentPlayer.EnableInput();
265   if (SwitchedEvent != null) {
266    SwitchedEvent(); //EXPERIMENTAL
267   }
268
269   print("Turn of: " + currentPlayer.Type); //show on screen
270  }
File name: GameManager.cs Copy
278  public void GameOver(GCPlayer winner, GameOverType gameOverType) {
279   AddGame();
280   switch (gameOverType) {
281    case GameOverType.CHECKMATE:
282     if (winner == p2) {
283      winnerText.text = "CHECKMATE: BLACK wins";
284      AddScore(PLAYER_BLACK);
285     } else if (winner == p1) {
286      winnerText.text = "CHECKMATE: WHITE wins";
287      AddScore(PLAYER_WHITE);
288     }
289    break;
290    case GameOverType.STALEMATE:
291     winnerText.text = "STALEMATE: It's a tie";
292    break;
293    case GameOverType.OUT_OF_TIME:
294     if (winner == p1) {
295      winnerText.text = "OUT OF TIME: WHITE wins";
296      AddScore(PLAYER_WHITE);
297     } else if (winner == p2) {
298      winnerText.text = "OUT OF TIME: BLACK wins";
299      AddScore(PLAYER_BLACK);
300     }
301     break;
302   }
303   continueButton.SetActive(true);
304  }
File name: GameState.cs Copy
64  public void Checkmate() {
65   state = GameStateType.GAME_OVER;
66   gameOverType = GameOverType.CHECKMATE;
67  }
File name: GameState.cs Copy
69  public void OutOfTime() {
70   state = GameStateType.GAME_OVER;
71   gameOverType = GameOverType.OUT_OF_TIME;
72  }
File name: GameState.cs Copy
74  public void Stalemate() {
75   state = GameStateType.GAME_OVER;
76   gameOverType = GameOverType.STALEMATE;
77  }
File name: GameState.cs Copy
79  public bool IsGameOver {
80   get {
81    if (state == GameStateType.GAME_OVER) return true;
82    return false;
83   }
84  }
File name: GameManagerScript.cs Copy
69  public void playAgain () {
70   Time.timeScale = 1f;
71   pauseButton.gameObject.SetActive (true);
72   SceneManager.LoadScene ("Gameplay");
73   gameOverPanel.SetActive (false);
74  }
File name: GameManagerScript.cs Copy
88  public void gameOver (int score, int coins) {
89   coinScore.gameObject.SetActive (false);
90   pauseButton.gameObject.SetActive (false);
91   gameOverPanel.SetActive (true);
92   gameOverBestScore.text = "Your Score: " + score;
93   gameOverHighCoinScore.text = "Your Coin Score: " + coins;
94
95  }
File name: PlayerMoveScript.cs Copy
98  void OnCollisionEnter2D(Collision2D target) {
99   if(target.gameObject.tag == "died" || target.gameObject.tag == "Crates") {
100    jumpForce = 0;
101    scoreCount = 0;
102    anim.SetTrigger ("Died");
103    scoreText.gameObject.SetActive (false);
104    audioSource.PlayOneShot (diedClip);
105    FindObjectOfType ().gameOver (Mathf.RoundToInt(highScoreCount), coinScore);
106    FindObjectOfType ().ifPlayerDiedCoinScore(coinScore);
107    FindObjectOfType ().ifPlayerDiedScore (Mathf.RoundToInt(highScoreCount));
108   }
109  }

Download file with original file name:GameOver

GameOver 298 lượt xem

Gõ tìm kiếm nhanh...