public int CheckPlayersCharacters() { PhotonPlayer[] player = PhotonNetwork.playerList; PlayerLayoutGroup plg = PlayerLayoutGroup.instance; for (int i = 0; i < player.Length; i++) { print(plg.PlayerListings[i] + " myCharacter : " + plg.PlayerListings[i].myCharacter); if (plg.PlayerListings[i].myCharacter == characterIndex) { return(characterIndex); } /*if (plg.PlayerListings[i].myCharacter == 0) * { * return 0; * } * else if (plg.PlayerListings[i].myCharacter == 1) * { * return 1; * } * else if (plg.PlayerListings[i].myCharacter == 2) * { * return 2; * } * else if (plg.PlayerListings[i].myCharacter == 3) * { * return 3; * }*/ } return(0); }
public bool CheckPlayersAreLockedCharacters() { PhotonPlayer[] player = PhotonNetwork.playerList; PlayerLayoutGroup plg = PlayerLayoutGroup.instance; int lockCount = 0; for (int i = 0; i < player.Length; i++) { if (plg.PlayerListings[i].isLockedCharacter == true) { lockCount++; } } // << Example >> // 1master + 2member = 3 players (2 players have ready btn) => 0 // 1master + 1ready member + 1not ready member = 3 players (2 players have ready btn) (1 ready) => 1 // 1master + 2ready member = 3 players (2 players have ready btn) (2 ready) => 2 // 2 == (3-1) if (lockCount == player.Length) { return(true); } else { blockRayCast_NotLockedChar.SetActive(true); return(false); } }
private void Start() { PlayerLayout = GameObject.FindGameObjectWithTag("RedTeamLayout"); plLayoutGroup = PlayerLayout.GetComponent <PlayerLayoutGroup>(); if (PlayerLayout.Equals(null) || plLayoutGroup.Equals(null)) { Debug.Log("(<Color=Red>Missing</Color> PlayerLayoutGroup GameObject or Component"); } }
public override void OnPhotonPlayerDisconnected(PhotonPlayer otherPlayer) { Debug.Log(otherPlayer + "나감"); plLayoutGroup.PlayerLeftRoom(otherPlayer); if (SoundManager.instance != null) { SoundManager.instance.ExitRoom_Sound(); } // 사람이 나가면 방장체크하여 룸설정 바꿔줌 if (PhotonNetwork.isMasterClient) { // 채팅창에 시스템메세지 출력 ChatManager.SendSystemMessage(PhotonTargets.All, otherPlayer.NickName + "님이 룸에서 나갔습니다."); // 룸 설정에서 마스터 변경 ExitGames.Client.Photon.Hashtable cp = PhotonNetwork.room.CustomProperties; cp["MasterName"] = PhotonNetwork.playerName; PhotonNetwork.room.SetCustomProperties(cp); // 해당 플레이어 프리팹 찾아서 방장으로 바꿔주고 강퇴클릭 리스너 없앰 PlayerLayoutGroup plg = GameObject.FindGameObjectWithTag("RedTeamLayout").GetComponent <PlayerLayoutGroup>(); foreach (PlayerListing pl in plg.playerListings) { if (pl.PlayerName.text == PhotonNetwork.playerName) { pl.transform.Find("KickButton").GetComponent <Image>().sprite = Resources.Load <Sprite>("UI/crown"); pl.transform.Find("KickButton").GetComponent <Button>().onClick.RemoveAllListeners(); break; } } // 스타트 버튼 활성화 GameObject.FindGameObjectWithTag("CurrentRoom").GetComponent <CurrentRoomCanvas>().StartButtonActive(); } if (PhotonNetwork.room.PlayerCount == 1) { if (PhotonNetwork.isMasterClient) { PhotonPlayer Leftplayer = PhotonNetwork.playerList[0]; PhotonNetwork.SetMasterClient(Leftplayer); Debug.Log(Leftplayer + "이(가) 방장이 되었습니다."); } } }
public void OnClickStartGame() { PlayerLayoutGroup playerLayoutGroup = PlayerLayoutGroupObj.GetComponent <PlayerLayoutGroup>(); if (!PhotonNetwork.isMasterClient) { playerLayoutGroup.OnClickReady(); print("Clicked ready"); } else { if (playerLayoutGroup.EveryoneReady() && PhotonNetwork.room.PlayerCount > 1) { PhotonNetwork.room.IsOpen = false; PhotonNetwork.room.IsVisible = false; PhotonNetwork.LoadLevel(2); } else { print("Not ready yet"); } } }
private void Start() { playerLayoutGroup = GameObject.FindGameObjectWithTag("RedTeamLayout").GetComponent <PlayerLayoutGroup>(); }
//public bool isUpdateViewID = false; //public int curViewID = 1; private void Awake() { instance = this; }