Example #1
0
 void Start()
 {
     SocketManger.Socket.On("resWaitingRoom", (data) =>
     {
         string json = JsonConvert.SerializeObject(data.Json.args[0]);
         RoomUserCount response_room = JsonUtility.FromJson <RoomUserCount>(json);
         usercount1     = response_room.room1 + "/5";
         usercount2     = response_room.room2 + "/5";
         isPlayBtnClick = true;
     });
     SocketManger.Socket.On("JoinRoomUserInfo", (data) =>
     {
         string json            = JsonConvert.SerializeObject(data.Json.args[0]);
         UserInfo response_user = JsonUtility.FromJson <UserInfo>(json);
         length  = response_user.USER.Length;
         length2 = response_user.USER.Length;
         for (int i = 0; i < response_user.USER.Length; i++)
         {
             input_userCharacter[i] = response_user.USER[i].UserCharacter;
             input_userName[i]      = response_user.USER[i].UserName;
             ReadyCount             = response_user.GameStartCount;
             UserReadycount[i]      = response_user.USER[i].readyCheck;
         }
     });
     SocketManger.Socket.On("GameStartCount", (data) =>
     {
         string json = JsonConvert.SerializeObject(data.Json.args[0]);
         UserInfo g_response_user = JsonUtility.FromJson <UserInfo>(json);
         length     = g_response_user.USER.Length;
         length2    = g_response_user.USER.Length;
         ReadyCount = g_response_user.GameStartCount;
         for (int i = 0; i < g_response_user.USER.Length; i++)
         {
             UserReadycount[i] = g_response_user.USER[i].readyCheck;
         }
     });
     SocketManger.Socket.On("GameStart", (data) =>
     {
         string json = JsonConvert.SerializeObject(data.Json.args[0]);
         SceneDeliver.sceneDeliver.playerInfo = JsonUtility.FromJson <UserInfo>(json);
         SceneDeliver.sceneDeliver.userID     = ID_text.text;
         GameStart = true;
     });
     SocketManger.Socket.On("NewLeaveRoomUserInfo", (data) =>
     {
         string json         = JsonConvert.SerializeObject(data.Json.args[0]);
         UserInfo leave_user = JsonUtility.FromJson <UserInfo>(json);
         length  = leave_user.USER.Length;
         length2 = leave_user.USER.Length;
         for (int i = 0; i < leave_user.USER.Length; i++)
         {
             input_userCharacter[i] = leave_user.USER[i].UserCharacter;
             input_userName[i]      = leave_user.USER[i].UserName;
             ReadyCount             = leave_user.GameStartCount;
             UserReadycount[i]      = leave_user.USER[i].readyCheck;
         }
     });
 }
Example #2
0
 public static bool isPlayBtnClick = false, GameStart = false; //각각 false로 초기화.
 //게임을 시작할 때(소켓통신의 경우 시작과 함께 연결해야하기 때문에 stat에 쓴다.)
 void Start()
 {
     //소켓서버에서 데이터를 받을 때
     SocketManger.Socket.On("resWaitingRoom", (data) => //"resWaitingRoom" 이벤트(PlayMenu의 각 방의 참여자 수)의 데이터
     {
         //서버로부터 데이터를 받기 위한 변수 선언.
         string json = JsonConvert.SerializeObject(data.Json.args[0]);
         //서버의 데이터를 받기 위한 클래스 선언
         RoomUserCount response_room = JsonUtility.FromJson <RoomUserCount>(json);//RoomUserCount 클래스에 데이터 저장.
         //전역 변수에 각 데이터 저장.
         usercount1     = response_room.room1 + "/5";
         usercount2     = response_room.room2 + "/5";
         isPlayBtnClick = true;//FixedUpdate문의 if문을 동작시키기 위한 isPlayBtnClick(boolean) True로 변경.
     });
     //소켓서버에서 데이터를 받을 때
     SocketManger.Socket.On("JoinRoomUserInfo", (data) => //"JoinRoomUserInfo" 이벤트(한 유저가 방에 참가할 때)의 데이터
     {
         //서버로부터 데이터를 받기 위한 변수 선언.
         string json = JsonConvert.SerializeObject(data.Json.args[0]);
         //서버의 데이터를 받기 위한 클래스 선언
         UserInfo response_user = JsonUtility.FromJson <UserInfo>(json); //Userinfo 클래스에 데이터 저장.
         //전역 변수에 각 데이터 저장.
         length  = response_user.USER.Length;                            //length에 한 방에 접속한 유저의 수 저장.
         length2 = response_user.USER.Length;                            //length2에 한 방에 접속한 유저의 수 저장.
         for (int i = 0; i < response_user.USER.Length; i++)             //한 방에 접속한 유저의 수 만큼 반복
         {
             //전역 변수(배열)에 각 데이터 저장.
             input_userCharacter[i] = response_user.USER[i].UserCharacter; //각 유저의 캐릭터 정보 저장
             input_userName[i]      = response_user.USER[i].UserName;      //각 유저의 닉네임 정보 저장
             ReadyCount             = response_user.GameStartCount;        //Ready버튼을 누른 유저의 수 저장.
             UserReadycount[i]      = response_user.USER[i].readyCheck;    //각 유저의 Ready 정보 저장
         }
     });
     //소켓서버에서 데이터를 받을 때
     SocketManger.Socket.On("GameStartCount", (data) => //"GameStartCount" 이벤트(참여한 유저가 Ready버튼을 누를 때)의 데이터
     {
         //서버로부터 데이터를 받기 위한 변수 선언.
         string json = JsonConvert.SerializeObject(data.Json.args[0]);
         //서버의 데이터를 받기 위한 클래스 선언
         UserInfo g_response_user = JsonUtility.FromJson <UserInfo>(json); //Userinfo 클래스에 데이터 저장.
         //전역 변수에 각 데이터 저장.
         length     = g_response_user.USER.Length;                         //length에 한 방에 접속한 유저의 수 저장.
         length2    = g_response_user.USER.Length;                         //length2에 한 방에 접속한 유저의 수 저장.
         ReadyCount = g_response_user.GameStartCount;                      //Ready버튼을 누른 유저의 수 저장.
         for (int i = 0; i < g_response_user.USER.Length; i++)
         {
             UserReadycount[i] = g_response_user.USER[i].readyCheck;
         }
     });
     //소켓서버에서 데이터를 받을 때
     SocketManger.Socket.On("GameStart", (data) => //"GameStart" 이벤트(유저 5명 모두 Ready버튼을 눌렀을 때)의 데이터
     {
         //서버로부터 데이터를 받기 위한 변수 선언.
         string json = JsonConvert.SerializeObject(data.Json.args[0]);
         SceneDeliver.sceneDeliver.playerInfo = JsonUtility.FromJson <UserInfo>(json); //UserInfo클래스에 저장되어있는 정보를 SceneDeliver스크립트의 playerInfo에 저장.
         SceneDeliver.sceneDeliver.userID     = ID_text.text;                          //ID_text의 값(사용자의 ID)을 SceneDeliver스크립트의 userID(string)에 저장.
         GameStart = true;                                                             //FixedUpdate문의 if문을 동작시키기 위한 GameStart(boolean) True로 변경.
     });
     //소켓서버에서 데이터를 받을 때
     SocketManger.Socket.On("NewLeaveRoomUserInfo", (data) => //"NewLeaveRoomUserInfo" 이벤트(한 유저가 방을 떠날 때)의 데이터
     {
         //서버로부터 데이터를 받기 위한 변수 선언.
         string json = JsonConvert.SerializeObject(data.Json.args[0]);
         //서버의 데이터를 받기 위한 클래스 선언
         UserInfo leave_user = JsonUtility.FromJson <UserInfo>(json);   //Userinfo 클래스에 데이터 저장.
         //전역 변수에 각 데이터 저장.
         length  = leave_user.USER.Length;                              //length에 한 방에 접속한 유저의 수 저장.
         length2 = leave_user.USER.Length;                              //length2에 한 방에 접속한 유저의 수 저장.
         for (int i = 0; i < leave_user.USER.Length; i++)               //한 방에 접속한 유저의 수 만큼 반복
         {
             input_userCharacter[i] = leave_user.USER[i].UserCharacter; //각 유저의 캐릭터 정보 저장
             input_userName[i]      = leave_user.USER[i].UserName;      //각 유저의 닉네임 정보 저장
             ReadyCount             = leave_user.GameStartCount;        //Ready버튼을 누른 유저의 수 저장.
             UserReadycount[i]      = leave_user.USER[i].readyCheck;    //각 유저의 Ready 정보 저장
         }
     });
 }