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);
        }
    }
Esempio n. 3
0
 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");
     }
 }
Esempio n. 4
0
    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 + "이(가) 방장이 되었습니다.");
            }
        }
    }
Esempio n. 5
0
    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");
            }
        }
    }
Esempio n. 6
0
 private void Start()
 {
     playerLayoutGroup = GameObject.FindGameObjectWithTag("RedTeamLayout").GetComponent <PlayerLayoutGroup>();
 }
Esempio n. 7
0
    //public bool isUpdateViewID = false;
    //public int curViewID = 1;

    private void Awake()
    {
        instance = this;
    }