using Photon.Pun; using Photon.Realtime; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class JoinParty : MonoBehaviour { [SerializeField] private StringSharedField partyName; [SerializeField] private Button button; private void Start() { button.interactable = false; } public void OnInputFieldChanged(string value) { partyName.Value = value; button.interactable = !string.IsNullOrEmpty(value); } public void JoinOrCreateParty() { if(!PhotonNetwork.IsConnectedAndReady) { PhotonNetwork.ConnectUsingSettings(); StartCoroutine(JoinOrCreateAfterConnect()); button.interactable = false; return; } PhotonNetwork.JoinOrCreateRoom(partyName.Value, new RoomOptions { MaxPlayers = 0, EmptyRoomTtl = 0 }, TypedLobby.Default); button.interactable = false; } IEnumerator JoinOrCreateAfterConnect() { while (!PhotonNetwork.IsConnectedAndReady) { yield return null; } JoinOrCreateParty(); } }