// -------------------------------------------------------------------------------------------------------------------- // // Part of: Pun Cockpit Demo // // developer@exitgames.com // -------------------------------------------------------------------------------------------------------------------- using System; using System.Collections; using System.Linq; using UnityEngine; using UnityEngine.UI; using UnityEngine.Events; using Photon.Realtime; namespace Photon.Pun.Demo.Cockpit.Forms { /// /// Create room user interface form. /// public class CreateRoomUiForm : MonoBehaviour { public InputField RoomNameInput; public InputField LobbyNameInput; public InputField ExpectedUsersInput; public Dropdown LobbyTypeInput; [System.Serializable] public class OnSubmitEvent : UnityEvent { } public OnSubmitEvent OnSubmit; public void Start() { } // new UI will fire "EndEdit" event also when loosing focus. So check "enter" key and only then StartChat. public void EndEditOnEnter() { if (Input.GetKey(KeyCode.Return) || Input.GetKey(KeyCode.KeypadEnter)) { this.SubmitForm(); } } public void SubmitForm() { LobbyType _t = LobbyType.Default; if (LobbyTypeInput.value == 1) { _t = LobbyType.SqlLobby; } else if (LobbyTypeInput.value == 2) { _t = LobbyType.AsyncRandomLobby; } string[] _expectedUsers = string.IsNullOrEmpty(ExpectedUsersInput.text) ? null : ExpectedUsersInput.text.Split(',').Select(t => t.Trim()).ToArray(); OnSubmit.Invoke( string.IsNullOrEmpty(RoomNameInput.text) ? null : RoomNameInput.text, string.IsNullOrEmpty(LobbyNameInput.text) ? null : LobbyNameInput.text, _t, _expectedUsers); } } }