์•„ ํฌํ†ค ใ…ˆ๊ฐ™๋„ค ์ง„์งœ..


๊ตฌ๊ธ€๋งํ•ด๋ด๋„ ๋‹ค ๋‹ค๋ฅธ ๋ฐฉ์‹์ด๋ผ ๋‚ด๊ฑฐ์— ํ•ด๋ดค๋Š”๋ฐ ์•ˆ๋ผ..


RoomOptions roomOptions = new RoomOptions();

ย  ย  ย  ย  //๋ฐฉ์ธ์› ๋งฅ์Šค๋ฅผ 5๋กœ ํ•˜๋Š” ์ž‘์—…

ย  ย  ย  ย  roomMax = Convert.ToString(roomCount);


ย  ย  ย  ย  roomOptions.MaxPlayers = Convert.ToByte(roomMax);

ย  ย  ย  ย  roomOptions.CustomRoomProperties = new Hashtable() {

ย  ย  ย  ย  ย  ย  ย  ย  { "name", RoomNameInput.text },

ย  ย  ย  ย  ย  ย  ย  ย  { "pwd", RoomPasswordInput.text } };

ย  ย  ย  ย  roomOptions.CustomRoomPropertiesForLobby = new string[] { "name", "pwd" };


ย  ย  ย  ย  PhotonNetwork.CreateRoom(RoomNameInput.text, roomOptions, null);


๋‚˜๋Š” ๋น„๋ฒˆ๋ฐฉ ๊ฐœ๋…์ด๋ผ์„œ ์ด๋Ÿฐ์‹์œผ๋กœ ๋ฐฉ์„ ๋งŒ๋“ค๊ฑฐ๋“ ?


๋ฌธ์ œ๋Š” ์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์„œ ๊ทธ๋Ÿฐ๊ฐ€..


// ํ”ผ์–ด์˜ ์ƒํƒœ๊ฐ€ Disconnected๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐ

ย  ย  ย  ย  while (PhotonNetwork.NetworkingClient.LoadBalancingPeer.PeerState != ExitGames.Client.Photon.PeerStateValue.Disconnected)

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  Debug.Log("Waiting for client to be fully disconnected..", this);

ย  ย  ย  ย  ย  ย  yield return new WaitForSeconds(0.2f);

ย  ย  ย  ย  }

ย  ย  ย  ย  Debug.Log("Client is disconnected!", this);

ย  ย  ย  ย  yield return new WaitForSeconds(20.0f);

ย  ย  ย  ย  if (!PhotonNetwork.ReconnectAndRejoin()) // ๋ชจ์ข…์˜ ์ด์œ ๋กœ Rejoin์ด ๋ถˆ๊ฐ€๋Šฅํ• ๊ฒฝ์šฐ Reconnect๋งŒ ์‹คํ–‰

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  if (PhotonNetwork.Reconnect())

ย  ย  ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  ย  ย  Debug.Log("Successful reconnected!", this);

ย  ย  ย  ย  ย  ย  }

ย  ย  ย  ย  }

ย  ย  ย  ย  else // Reconnect ๋ฐ Rejoin ์™„๋ฃŒ

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  Debug.Log("Successful reconnected and joined!", this);

ย  ย }


๊ตฌ๊ธ€๋งํ•ด์„œ ์ฐพ์€ ๋ชจ์ข…์˜ ์ด์œ ๋กœ ์„œ๋ฒ„์—์„œ ํŠ•๊ฒผ์„๋•Œ ์žฌ์ ‘์† ํ•˜๋Š”๊ฒŒ ์•ˆ๋จ.. ๋‹ค์‹œ ์ผ์ผํžˆ ๋ฐฉ์ œ ๋น„๋ฒˆ์น˜๊ฒŒํ•˜๋ฉด ํ•ด๋‹น๋ฐฉ์— ์ ‘์† ๋˜๋Š”๋ฐ


๊ทธ๋Ÿฐ ์ž‘์—… ์—†์ด ๋ฐ”๋กœ ์›๋ž˜ ์žˆ๋˜ ๋ฐฉ์— ๋„ฃ์œผ๋ ค๋Š”๊ฒŒ ์•ˆ๋จ..