Search Unity

OnPlayerEnteredRoom doesn't Called

Discussion in 'Multiplayer' started by Livindaki, Jul 28, 2019.

  1. Livindaki

    Livindaki

    Joined:
    Jun 13, 2017
    Posts:
    49
    i am using Photon Pun2
    i had joinded the room and ather players also joined the same room and OnJoinedRoom() for ather player were called but OnPlayerEnteredRoom() doesn't Called for every new player entering the room ??!!

    my code:
    Code (CSharp):
    1.  
    2.  
    3.  
    4. using System.Collections.Generic;
    5. using ExitGames.Client.Photon;
    6. using Photon.Pun;
    7. using Photon.Realtime;
    8. using UnityEngine;
    9. using UnityEngine.UI;
    10.  
    11. public class Add_Room : MonoBehaviourPunCallbacks
    12. {
    13.  
    14.     public GameObject Prefab,Player_Prefab;
    15.     public Transform trans;
    16.  
    17.     public InputField Room_Name;
    18.     public InputField Room_Size;
    19.     public InputField Room_Password;
    20.     public InputField Room_Coast;
    21.     public InputField Room_Confirm_Code;
    22.     public InputField Room_Master_Confirm_Code;
    23.     Text[] txt;
    24.     public GameObject Start_Screen;
    25.     public GameObject Room_Screen;
    26.     public GameObject Room_Setup;
    27.     public GameObject In_Room;
    28.  
    29.     static public GameObject Room_Screen_Temp, Content_Players_Temp;
    30.     static public bool Create_Room_Is_OK = false;
    31.     bool Temp_Room = false;
    32.    // Load_Rooms LD = new Load_Rooms();
    33.     public static GameObject parents;
    34.     public GameObject source;
    35.     static public GameObject go;
    36.      PhotonView pv;
    37.     public Player My_New_Player;
    38.     Hashtable setPlayerProperties;
    39.  
    40.     //public override void OnEnable()
    41.     //{
    42.     //    Debug.Log("Scene Enabled");
    43.     //    if(!PhotonNetwork.InLobby)
    44.     //       PhotonNetwork.JoinLobby(TypedLobby.Default);
    45.     //}
    46.     private void Start()
    47.     {
    48.  
    49.         if (!PhotonNetwork.InRoom)
    50.         {
    51.             PhotonNetwork.JoinLobby(TypedLobby.Default);
    52.             Debug.Log("Join Add_Room");
    53.         }
    54.         //Room_Screen_Temp = GameObject.Find("Room_Screen");
    55.         //Go_To_INRooms_Screen();
    56.         //Content_Players_Temp= GameObject.Find("Content_Players");
    57.         //Go_To_Rooms_Screen();
    58.        
    59.     }
    60.    
    61.     //public override void OnRoomListUpdate(List<RoomInfo> roomList)
    62.     //{
    63.     //    Debug.Log("room Name: " + ++xxx);
    64.     //    Debug.Log("room List: " + roomList.Count);
    65.     //    if (Load_Rooms.ClientConfirmCode != "" && Load_Rooms.Player_Name != "tamim")
    66.     //        PhotonNetwork.JoinRoom("RG5", null);
    67.     //}
    68.     public override void OnJoinedLobby()
    69.     {
    70.         if (Load_Rooms.ClientConfirmCode != "" && Load_Rooms.Player_Name != "tamim")
    71.         {
    72.             Debug.Log("Joined Lobby");
    73.             PhotonNetwork.JoinRoom("RG5");
    74.            // AddButton.interactable = true;
    75.             //Go_To_INRooms_Screen();
    76.             //GameObject go = PhotonNetwork.Instantiate("My_View", Vector3.zero, Quaternion.identity, 0);
    77.             //GameObject parent = GameObject.Find("Content_Players");
    78.             //go.transform.SetParent(parent.transform, false);
    79.         }
    80.             //Set our Player's property
    81.         //    setPlayerProperties = new Hashtable();
    82.         //    setPlayerProperties.Add("PlayerCC", (string)Load_Rooms.ClientConfirmCode);
    83.         //    setPlayerProperties.Add("PlayerRN", (string)Load_Rooms.ClientRoomName);
    84.         //    setPlayerProperties.Add("PlayerRS", (int)Load_Rooms.ClientRoomSize);
    85.         //    setPlayerProperties.Add("PlayerRP", (string)Load_Rooms.ClintRoomPassword);
    86.         //PhotonNetwork.LocalPlayer.SetCustomProperties(setPlayerProperties);
    87.         //Debug.Log("0-State is: " + PhotonNetwork.NetworkClientState.ToString());
    88.         ////Will print "100"
    89.         //print((string)PhotonNetwork.LocalPlayer.CustomProperties["PlayerHP"]);
    90.         //Debug.Log("0-State is: " + PhotonNetwork.NetworkClientState.ToString());
    91.  
    92.     }
    93.     public void Adding_Room()
    94.     {
    95.         if (PhotonNetwork.InRoom) return;
    96.             if (Room_Name.text!="" && Room_Size.text!="" && Room_Password.text!="" && Room_Confirm_Code.text!="" && Room_Coast.text!="" && Room_Master_Confirm_Code.text=="")
    97.         {          
    98.             if (check_if_Room_name_Not_Present(Room_Name.text) == false)
    99.             {
    100.                 GameObject go = (GameObject)Instantiate(Prefab);
    101.                 go.transform.SetParent(trans, false);
    102.                 txt = go.GetComponentsInChildren<Text>();
    103.                 txt[0].text = Room_Name.text;
    104.                 txt[1].text = "0/" + Room_Size.text;
    105.  
    106.                 Debug.Log(txt[0].text);
    107.                 Debug.Log(txt[1].text);
    108.  
    109.                 //RoomInfo rmf;
    110.                 _RoomsList rm = new _RoomsList();
    111.                 rm.RoomName = Room_Name.text;
    112.  
    113.                 rm.RoomSize = int.Parse(Room_Size.text);
    114.                 rm.RoomPassword = Room_Password.text;
    115.                 rm.Room_Coast_Per_one = int.Parse(Room_Coast.text);
    116.                 rm.RoomConfirmCode = Room_Confirm_Code.text;
    117.                 //rm.Room_Is_Active = true;
    118.                 //rm.Room_Is_Private = false;
    119.                 //RoomOptions ro = new RoomOptions() { IsVisible = true, IsOpen = true, MaxPlayers = (byte)int.Parse(Room_Size.text) };
    120.                 //PhotonNetwork.CreateRoom(Room_Name.text, ro, TypedLobby.Default, null);
    121.                 Debug.Log("had creat a room with name: " + Room_Name.text);
    122.                 First_Connection.MC.Rooms.Add(rm);
    123.                 // First_Connection.MC.rooms
    124.                 First_Connection.Save();
    125.             }
    126.         }
    127.       if (Room_Name.text != "" && Room_Size.text != "" && Room_Password.text != "" && Room_Confirm_Code.text != "" && Room_Coast.text != "" && Room_Master_Confirm_Code.text != "")
    128.         {
    129.            
    130.             Load_Rooms.ClientRoomName = Room_Name.text;
    131.             Load_Rooms.ClientRoomSize = int.Parse(Room_Size.text);
    132.             Load_Rooms.ClintRoomPassword = Room_Password.text;
    133.             Load_Rooms.ClientRoomCoast = int.Parse(Room_Coast.text);
    134.             Load_Rooms.ClientConfirmCode = Room_Confirm_Code.text;
    135.             Load_Rooms.MasterConfirmCode = Room_Master_Confirm_Code.text;
    136.  
    137.             //// setPlayerProperties.Clear();
    138.             setPlayerProperties = new Hashtable();
    139.             setPlayerProperties.Add("PlayerCC", (string)Load_Rooms.ClientConfirmCode);
    140.             setPlayerProperties.Add("PlayerRN", (string)Load_Rooms.ClientRoomName);
    141.             setPlayerProperties.Add("PlayerRS", (int)Load_Rooms.ClientRoomSize);
    142.             setPlayerProperties.Add("PlayerRP", (string)Load_Rooms.ClintRoomPassword);
    143.             setPlayerProperties.Add("PlayerRC", (int)Load_Rooms.ClientRoomCoast);
    144.             PhotonNetwork.LocalPlayer.SetCustomProperties(setPlayerProperties);
    145.             if (PhotonNetwork.InLobby)
    146.             {
    147.                 RoomOptions ro = new RoomOptions() { IsVisible = true, IsOpen = true, MaxPlayers = 4 };
    148.                 PhotonNetwork.JoinOrCreateRoom("RG5", ro, TypedLobby.Default, null);
    149.                 Debug.Log("00-State is: " + PhotonNetwork.NetworkClientState.ToString());
    150.                 Temp_Room = true;              
    151.             }
    152.         }
    153.     }
    154.  
    155.     public override void OnJoinedRoom()
    156.     {
    157.         Debug.Log("Room Joined");
    158.          //go = (GameObject)Instantiate(Player_Prefab) as GameObject;
    159.         go = PhotonNetwork.Instantiate ("My_View", Vector3.zero, Quaternion.identity, 0) as GameObject;//My_View=Player_Prefab
    160.         Go_To_INRooms_Screen();
    161.         //GameObject parent = GameObject.Find("Content_Players");
    162.         //go.transform.SetParent(Content_Players_Temp.transform, false);
    163.        // Go_To_Rooms_Screen();
    164.  
    165.  
    166.  
    167.         //parents.transform.SetParent(source.transform);
    168.         //pv = parents.GetComponent<PhotonView>();
    169.  
    170.     }
    171.     // [PunRPC]
    172.     //public void Create_Room(string rn, int rs, string rp)
    173.     // {
    174.     //     Debug.Log("Creating List Object Room For: " + My_New_Player.NickName);
    175.     //     GameObject go = (GameObject)Instantiate(Prefab);
    176.     //     go.transform.SetParent(trans, false);
    177.     //     txt = go.GetComponentsInChildren<Text>();
    178.     //     txt[0].text = rn;
    179.     //     txt[1].text = "0/" + rs.ToString();
    180.     //    // NetworkPeerType
    181.     // }
    182.     public override void OnPlayerEnteredRoom(Player newPlayer)
    183.     {
    184.  
    185.         print((string)PhotonNetwork.LocalPlayer.CustomProperties["PlayerCC"]);
    186.         print((string)newPlayer.CustomProperties["PlayerCC"]);
    187.         Debug.Log("Player Entered The Room: " + newPlayer.NickName);
    188.         if (PhotonNetwork.PlayerList.Length == 1) PhotonNetwork.SetMasterClient(newPlayer);
    189.  
    190.         if (Load_Rooms.ClientConfirmCode == ((string)PhotonNetwork.LocalPlayer.CustomProperties["PlayerCC"]) && PhotonNetwork.PlayerList.Length > 1)
    191.         {
    192.             Debug.Log("Player Entered The Room: " + newPlayer.NickName);
    193.             //if(!pv.IsMine)
    194.             //pv.RPC("Create_Room", RpcTarget.AllBuffered, (string)PhotonNetwork.LocalPlayer.CustomProperties["PlayerRN"], (int)PhotonNetwork.LocalPlayer.CustomProperties["PlayerRS"], (string)PhotonNetwork.LocalPlayer.CustomProperties["PlayerRP"]);
    195.             Create_Room_Is_OK = true;
    196.             //My_New_Player = newPlayer;
    197.             // PhotonNetwork.LeaveRoom();
    198.             // The easiest thing is probably to call an RPC on the newPlayer object that sets the value of his bool.
    199.             Load_Rooms.ClientRoomName = (string)PhotonNetwork.LocalPlayer.CustomProperties["PlayerRN"];
    200.             Load_Rooms.ClientRoomSize = (int)PhotonNetwork.LocalPlayer.CustomProperties["PlayerRS"];
    201.             Load_Rooms.ClintRoomPassword= (string)PhotonNetwork.LocalPlayer.CustomProperties["PlayerRP"];
    202.             Load_Rooms.ClientRoomCoast = (int)PhotonNetwork.LocalPlayer.CustomProperties["PlayerRC"];
    203.             Load_Rooms.ClientConfirmCode = (string)PhotonNetwork.LocalPlayer.CustomProperties["PlayerCC"];
    204.  
    205.         }
    206.     }
    207.  
    208.     public override void OnLeftRoom()
    209.     {
    210.         //if(Create_Room_Is_OK==true)
    211.         //{
    212.         //    if (check_if_Room_name_Not_Present(Room_Name.text) == false)
    213.         //    {
    214.         //        GameObject go = (GameObject)Instantiate(Prefab);
    215.         //        go.transform.SetParent(trans, false);
    216.         //        txt = go.GetComponentsInChildren<Text>();
    217.         //        txt[0].text = Load_Rooms.ClientRoomName;
    218.         //        txt[1].text = "0/" + Load_Rooms.ClientRoomSize.ToString();
    219.  
    220.         //        Debug.Log(txt[0].text);
    221.         //        Debug.Log(txt[1].text);
    222.  
    223.         //        //RoomInfo rmf;
    224.         //        _RoomsList rm = new _RoomsList();
    225.         //        rm.RoomName = Load_Rooms.ClientRoomName;
    226.  
    227.         //        rm.RoomSize = int.Parse(Load_Rooms.ClientRoomSize.ToString());
    228.         //        rm.RoomPassword = Load_Rooms.ClintRoomPassword;
    229.         //        rm.Room_Coast_Per_one = (Load_Rooms.ClientRoomCoast);
    230.         //        rm.RoomConfirmCode = Load_Rooms.ClientConfirmCode;
    231.         //        //rm.Room_Is_Active = true;
    232.         //        //rm.Room_Is_Private = false;
    233.         //        //RoomOptions ro = new RoomOptions() { IsVisible = true, IsOpen = true, MaxPlayers = (byte)int.Parse(Room_Size.text) };
    234.         //        //PhotonNetwork.CreateRoom(Room_Name.text, ro, TypedLobby.Default, null);
    235.         //        Debug.Log("had creat a room with name: " + Room_Name.text);
    236.         //        First_Connection.MC.Rooms.Add(rm);
    237.         //        // First_Connection.MC.rooms
    238.         //        First_Connection.Save();
    239.         //    }
    240.         //}
    241.         //Go_To_Rooms_Screen();
    242.     }
    243.   public  bool check_if_Room_name_Not_Present(string name)
    244.     {
    245.         if (First_Connection.MC.Rooms == null) return false;
    246.         for (int i = 0; i < First_Connection.MC.Rooms.Count; i++)
    247.         {
    248.             if (First_Connection.MC.Rooms[i].RoomName == name)
    249.             {
    250.                 First_Connection.MC.Rooms[i].RoomName = Room_Name.text;
    251.                 First_Connection.MC.Rooms[i].RoomSize = int.Parse(Room_Size.text);
    252.                 First_Connection.MC.Rooms[i].RoomPassword = Room_Password.text;
    253.                 First_Connection.MC.Rooms[i].RoomConfirmCode = Room_Confirm_Code.text;
    254.                 First_Connection.MC.Rooms[i].Room_Coast_Per_one = int.Parse(Room_Coast.text);
    255.  
    256.                 //First_Connection.MC.Rooms[i].Room_Is_Active = true;
    257.                 //First_Connection.MC.Rooms[i].Room_Is_Private = false;
    258.                 First_Connection.Save();
    259.                 Go_To_Rooms_Screen();
    260.                 return true;
    261.             }
    262.         }
    263.         return false;
    264.     }
    265.  
    266.     public void Go_To_Rooms_Screen()
    267.     {
    268.         Debug.Log("GOOOOOOOOOOOOOOOOOOOOOOOOOOO");
    269.         Start_Screen.SetActive(false);
    270.         Room_Screen.SetActive(true);
    271.         Room_Setup.SetActive(false);
    272.         In_Room.SetActive(false);
    273.     }
    274.     public void Go_To_INRooms_Screen()
    275.     {
    276.         Start_Screen.SetActive(false);
    277.         Room_Screen.SetActive(false);
    278.         Room_Setup.SetActive(false);
    279.         In_Room.SetActive(true);
    280.     }
    281. }
    282.  
    283.  
     
    sickshredzz likes this.