public void Draw_GameOver(GameResultViewData game_result) { GameObject winner; if (game_result.Winning_Type == WinningTypeViewData.DRAW) { winner = draw_game; } else if (game_result.Winning_Player == PlayerViewData.circle) { winner = circle_win; } else { winner = cross_win; } winner.SetActive(true); re_message.SetActive(true); winner.transform.localScale = Vector3.zero; LeanTween.scale(winner, Vector3.one, 2); // victory_animator.SetTrigger("Move To Victory"); Debug.Log("Game Over!"); Debug.Log("Winner: " + game_result.Winning_Player.ToString("g")); Debug.Log("WinningType: " + game_result.Winning_Type.ToString("g")); Debug.Log("WinningPosition: " + game_result.Winning_Pos); }
private void Game_Play(int row, int col) { if (game_over_flag) { game_logic.Restart(); current_player = GameLogic.Player.circle; game_over_flag = false; game_result = new GameLogic.GameResult(); for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { view.Draw_Move(i, j, 0); } } view.Clear_GameOver(); } else { if (game_logic.Make_Move(current_player, row, col) && !(game_over_flag)) { view.Draw_Move(row, col, (int)current_player); game_result = game_logic.Check_Game_Over(); current_player = (GameLogic.Player)(-(int)current_player); } if (game_result.Is_Game_Over && !(game_over_flag)) { PlayerViewData player_view_data = (PlayerViewData)((int)game_result.Winning_Player); WinningTypeViewData winning_type_view_data = (WinningTypeViewData)((int)game_result.Winning_Type); int winning_pos = game_result.Winning_Pos; GameResultViewData game_result_view_data = new GameResultViewData(player_view_data, winning_type_view_data, winning_pos); view.Draw_GameOver(game_result_view_data); game_over_flag = true; } } }