public void CmdChangeCurrentPlayer(GameObject questionPiece, int id) { QuestionPieceState qs = questionPiece.GetComponent <QuestionPieceState> (); qs.currentPlayerID = id; Debug.Log("CmdChangeCurrentPlayer"); }
public void CmdTotalCorrectChange(GameObject questionPiece, int count) { QuestionPieceState qs = questionPiece.GetComponent <QuestionPieceState> (); qs.totalCorrectGuess = count; Debug.Log("CmdTotalCorrectChange"); }
public void RpcPrepareOrderList(GameObject questionPiece, int[] orderList) { QuestionPieceState qs = questionPiece.GetComponent <QuestionPieceState> (); for (int i = 0; i < orderList.Length; i++) { qs.puzzleOrderList [i] = orderList [i]; } Debug.Log("RpcPrepareOrderList"); }
public void CmdChangeImage(GameObject questionPiece, int id) { QuestionPieceState qs = questionPiece.GetComponent <QuestionPieceState> (); if (playerID != 1) { qs.PieceID = id; } questionPiece.GetComponent <Image> ().sprite = qs.puzzleImage [qs.PieceID].sprite; Debug.Log("CmdChangeImage"); }
public void RpcChangeResponseLabel(GameObject questionPiece, string label, bool active) { QuestionPieceState qs = questionPiece.GetComponent <QuestionPieceState> (); if (label == "correct") { qs.correctLabel.SetActive(active); } else if (label == "wrong") { qs.wrongLabel.SetActive(active); } Debug.Log("RpcChangeResponseLabel"); }
void CheckIfGameIsFinished() { if (countCorrectGuess == 16) { Debug.Log("GameFinished"); gameStart = false; gameFinish = true; } else if (countCorrectGuess < 16) { Debug.Log("CheckIfGameIsFinished"); QuestionPieceState qs = questionPiece.GetComponent <QuestionPieceState> (); qs.PieceID = puzzleOrderList [puzzleOrderList.FindIndex(x => x == qs.PieceID) + 1]; thisPlayerInfo.CmdChangeImage(qs.gameObject, qs.PieceID); } }
void Update() { if (!isLocalPlayer) { return; } QuestionPieceState qs = GameObject.Find("QuestionPanel").GetComponentInChildren <QuestionPieceState>(true); if (qs.totalCorrectGuess == 16 && PuzzleGame.gameFinish != true) { PuzzleGame.gameStart = false; PuzzleGame.gameFinish = true; StartCoroutine(CheckIfPuzzleMatch()); } }
void correctGuess(GameObject maskObj) { Debug.Log("Correct"); QuestionPieceState qs = questionPiece.GetComponent <QuestionPieceState> (); qs.totalCorrectGuess = qs.totalCorrectGuess + 1; countCorrectGuess = qs.totalCorrectGuess; thisPlayerInfo.CmdTotalCorrectChange(qs.gameObject, countCorrectGuess); thisPlayerInfo.myCorrectGuess++; thisPlayerInfo.CmdChangeMyCorrectGuess(thisPlayerInfo.myCorrectGuess); MaskState maskState = maskObj.GetComponent <MaskState> (); if (maskState != null) { maskState.successGuess = true; thisPlayerInfo.CmdCloseButton(maskState.gameObject); } }
public override void OnStartServer() { MaskState[] ms = GameObject.Find("GameSpace").GetComponentsInChildren <MaskState>(true); for (int i = 0; i < 16; i++) { GameObject mask = ms[i].gameObject; mask.SetActive(true); NetworkServer.Spawn(mask); } puzzleOrderList = PuzzleReady.list; QuestionPieceState qs = GameObject.Find("QuestionPanel").GetComponentInChildren <QuestionPieceState>(true); GameObject questionPiece = qs.gameObject; questionPiece.SetActive(true); qs.PieceID = puzzleOrderList [0]; qs.puzzleOrderList = puzzleOrderList; NetworkServer.Spawn(questionPiece); }
void Update() { GameObject[] playerLists = GameObject.FindGameObjectsWithTag("networkPlayer"); int numberOfPlayers = playerLists.Length; // Client drop connection if (numberOfPlayers == 1) { if (DisconnectPlayer.activeSelf == false) { DisconnectPlayer.SetActive(true); DisconnectPlayerBody.color = pc [1]; int guess = countCorrectGuess - playerLists [0].GetComponent <GamePlayerController> ().myCorrectGuess; DisconnectPlayerGuess.text = guess.ToString(); } } else { DisconnectPlayer.SetActive(false); } // Auto Guess if (gameStart == true && gameFinish == false) { if (numberOfPlayers == 1 && questionPieceState.currentPlayerID == 2) { int randomTime = 12; if (TurnBasedController.time <= randomTime) { QuestionPieceState qs = questionPiece.GetComponent <QuestionPieceState> (); qs.totalCorrectGuess = qs.totalCorrectGuess + 1; countCorrectGuess = qs.totalCorrectGuess; thisPlayerInfo.CmdTotalCorrectChange(qs.gameObject, countCorrectGuess); string name = "GuessMask (" + qs.PieceID + ")"; GameObject maskObj = GameObject.Find(name); MaskState maskState = maskObj.GetComponent <MaskState> (); if (maskState != null) { maskState.MaskCanSeen = false; thisPlayerInfo.CmdCloseMask(maskState.gameObject); maskState.successGuess = true; thisPlayerInfo.CmdCloseButton(maskState.gameObject); int guess = countCorrectGuess - playerLists [0].GetComponent <GamePlayerController> ().myCorrectGuess; DisconnectPlayerGuess.text = guess.ToString(); } CheckIfGameIsFinished(); if (gameStart == false && gameFinish == true) { completeLabel.SetActive(true); lines.SetActive(false); resultPanel.SetActive(true); } startGuess = false; TurnBasedController.time = 0.0f; } } } }
IEnumerator CheckIfPuzzleMatch(GameObject maskObj) { QuestionPieceState qs = questionPiece.GetComponent <QuestionPieceState> (); if (guessPuzzleIndex == questionPiece.GetComponent <QuestionPieceState>().PieceID) { correctLabel.SetActive(true); if (thisPlayerInfo.playerID == 1) { thisPlayerInfo.RpcChangeResponseLabel(questionPiece, "correct", true); } else { thisPlayerInfo.CmdChangeResponseLabel(questionPiece, "correct", true); } yield return(new WaitForSeconds(0.3f)); correctGuess(maskObj); yield return(new WaitForSeconds(0.2f)); CheckIfGameIsFinished(); } else { wrongLabel.SetActive(true); if (thisPlayerInfo.playerID == 1) { thisPlayerInfo.RpcChangeResponseLabel(questionPiece, "wrong", true); } else { thisPlayerInfo.CmdChangeResponseLabel(questionPiece, "wrong", true); } yield return(new WaitForSeconds(0.3f)); wrongGuess(maskObj); } yield return(new WaitForSeconds(0.3f)); correctLabel.SetActive(false); wrongLabel.SetActive(false); if (thisPlayerInfo.playerID == 1) { thisPlayerInfo.RpcChangeResponseLabel(questionPiece, "correct", false); thisPlayerInfo.RpcChangeResponseLabel(questionPiece, "wrong", false); } else { thisPlayerInfo.CmdChangeResponseLabel(questionPiece, "correct", false); thisPlayerInfo.CmdChangeResponseLabel(questionPiece, "wrong", false); } if (gameStart == false && gameFinish == true) // Game is finished { completeLabel.SetActive(true); lines.SetActive(false); yield return(new WaitForSeconds(1f)); resultPanel.SetActive(true); } TurnBasedController.time = 0f; startGuess = false; }
IEnumerator StartToRemember() { RememberTime.SetActive(true); lines_4x4.SetActive(false); baseImage.SetActive(true); for (int j = 0; j < 10; j++) { string temp = (thisPlayer != null) ? thisPlayer.name : "null"; Debug.Log("TurnBased FindPlayer " + j + " , " + temp); yield return(new WaitForSeconds(0.5f)); if (thisPlayer == null) { GameObject[] playerLists = GameObject.FindGameObjectsWithTag("networkPlayer"); for (int i = 0; i < playerLists.Length; i++) { if (playerLists [i].GetComponent <GamePlayerController> ().isLocalPlayer) { thisPlayer = playerLists [i]; thisPlayerInfo = playerLists [i].GetComponent <GamePlayerController> (); break; } } } else { break; } } CountDownTimer.SetActive(true); for (int i = 5; i > 0; i--) { CountDownTimer.GetComponent <Text>().text = i.ToString(); if (thisPlayer == null) { GameObject[] lists = GameObject.FindGameObjectsWithTag("networkPlayer"); for (int j = 0; j < lists.Length; j++) { if (lists [i].GetComponent <GamePlayerController> ().isLocalPlayer) { thisPlayer = lists [i]; thisPlayerInfo = lists [i].GetComponent <GamePlayerController> (); break; } } } yield return(new WaitForSeconds(1f)); } if (questionPiece == null) { questionPiece = GameObject.Find("QuestionPiece"); questionPieceState = questionPiece.GetComponent <QuestionPieceState> (); } if (questionPieceState.currentPlayerID == thisPlayerInfo.playerID) { Cover.SetActive(false); YourTurn.SetActive(true); OtherTurn.SetActive(false); } else { Cover.SetActive(true); YourTurn.SetActive(false); OtherTurn.SetActive(true); } Debug.Log("questionPieceState Player ID: " + questionPieceState.currentPlayerID); Debug.Log("thisPlayerInfo ID: " + thisPlayerInfo.playerID); baseImage.SetActive(false); RememberTime.SetActive(false); lines_4x4.SetActive(true); endRemeberTime = true; }