// public void TurnFinished(int numberSelectedDuringTurn){ // // //Need to move all code away from this function into PlayerScript for consistency. // return; // // bool turnPlayerDetected = false; // print("Tick validity"); // // List<PhotonPlayerScript> clientScripts = new List<PhotonPlayerScript>(); // // if(AllPlayersObj == null) AllPlayersObj = ConnectedPlayersStaticScript.instance; // foreach (Transform child in AllPlayersObj.transform) // { // PhotonPlayerScript clientPlayerScript = child.gameObject.GetComponent<PhotonPlayerScript>(); // // clientScripts.Add(clientPlayerScript); // // } // // for(int i = 0; i < clientScripts.Count; i++){ // PhotonPlayerScript clientPlayerScript = clientScripts[i]; // if(clientPlayerScript.isTurn == true){ // clientPlayerScript.isTurn = false; // turnPlayerDetected = true; // }else if(turnPlayerDetected == true){ // if(clientPlayerScript.gameWon == false){ // clientPlayerScript.isTurn = true; // return; // } // } // } // // //If it survived the check, then select first player. // foreach (Transform child in AllPlayersObj.transform) // { // PhotonPlayerScript clientPlayerScript = child.gameObject.GetComponent<PhotonPlayerScript>(); // if(clientPlayerScript.gameWon == false){ // clientPlayerScript.isTurn = true; // return; // } // } // } void FixedUpdate() { //This code isnt supposed to be run if game has allready started. if (PhotonGameManagerBingo.scriptInstance.gameStarted) { return; } winnersCount = 0; if (AllPlayersObj == null) { AllPlayersObj = ConnectedPlayersStaticScript.instance; } foreach (Transform child in AllPlayersObj.transform) { PhotonPlayerScript clientPlayerScript = child.gameObject.GetComponent <PhotonPlayerScript>(); if (clientPlayerScript.gameWon) { winnersCount += 1; } } //Assume everyone's ready. bool everyOneReady = true; if (AllPlayersObj == null) { AllPlayersObj = ConnectedPlayersStaticScript.instance; } //Constantly check if all players are ready; foreach (Transform child in AllPlayersObj.transform) { PhotonPlayerScript clientPlayerScript = child.gameObject.GetComponent <PhotonPlayerScript>(); if (!clientPlayerScript.ready) { everyOneReady = false; } } if (PhotonNetwork.IsMasterClient) { DisplayContentManager.scriptInstance.StartButtonScript.gameObject.SetActive(true); } EveryOneReady = everyOneReady; if (PhotonNetwork.IsMasterClient) { DisplayContentManager.scriptInstance.StartButtonScript.interactable = EveryOneReady; } }
void FixedUpdate() { if (AllPlayersObj == null) { AllPlayersObj = ConnectedPlayersStaticScript.instance.gameObject; } string connectedListString = ""; List <Transform> childrenList = AllPlayersObj.transform.Cast <Transform>().ToList(); Transform child; for (int i = 0; childrenList.Count > i; i++) { child = childrenList[i]; PhotonPlayerScript clientPlayerScript = child.gameObject.GetComponent <PhotonPlayerScript>(); string clientDisplayName = clientPlayerScript.playerName; //If game started, get from PhotonGameManagerBingo. if (PhotonGameManagerBingo.scriptInstance.gameStarted == true) { //Do something if player won game. if (clientPlayerScript.gameWon == true) { clientDisplayName += " (Won " + clientPlayerScript.winOrder + " )"; } //If this player yet to win, do somethign if its turn. else if (clientPlayerScript.isTurn) { clientDisplayName += " (Current Turn)"; } } //If still in selection round, check if player ready. else if (clientPlayerScript.ready) { clientDisplayName += " (Ready)"; } clientDisplayName += "\n"; connectedListString += clientDisplayName; } //Set the player display list text. connectedPlayersText.text = connectedListString; }
void Update() { if (!transformed) { ChangeParent(); } if (AllPlayersObj == null) { AllPlayersObj = ConnectedPlayersStaticScript.instance; } if (!photonView.IsMine) { return; } //If game started. if (PhotonGameManagerBingo.scriptInstance.gameStarted) { //Find who has the turn... PhotonPlayerScript mostCurrentTurnSciptInstance = null; List <PhotonPlayerScript> otherPhotonPlayerScripts = AllPlayersObj.GetComponentsInChildren <PhotonPlayerScript>().ToList();; for (int i = 0; i < otherPhotonPlayerScripts.Count; i++) { if (otherPhotonPlayerScripts[i].isTurn) { mostCurrentTurnSciptInstance = otherPhotonPlayerScripts[i]; break; } } //If game just started... if (currentTurnScriptInstance == null) { currentTurnScriptInstance = mostCurrentTurnSciptInstance; } else if (currentTurnScriptInstance != mostCurrentTurnSciptInstance) { //TODO: Run this script only if others turn Finished? //So turn changed and previous turn just finished. //Now we need to update our cards with data from turn. //First check if the number is updated. Return if not. if (PhotonPlayerScript.scriptInstance.selfId == currentTurnScriptInstance.nextPlayerid) { PhotonPlayerScript.scriptInstance.isTurn = true; mostCurrentTurnSciptInstance = this; } //Update Cards now. PhotonGameManagerBingo.scriptInstance.OtherPlayersTurnFinished(currentTurnScriptInstance.thisTurnNumberSelected); //Now we know whose current turn. if (mostCurrentTurnSciptInstance != null) { currentTurnScriptInstance = mostCurrentTurnSciptInstance; } print("Updating cards now."); } } }
public void StartLocalPlayer() { scriptInstance = this; selfId = PhotonNetwork.LocalPlayer.ActorNumber; nextPlayerid = PhotonNetwork.LocalPlayer.GetNext().ActorNumber; }