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; } }); }
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 정보 저장 } }); }