private void Awake()
    {
        Notification = FindObjectOfType <AirVRClientNotification>();
        Config       = new AirVRClientAppConfig();

        AirVRClient.Delegate = this;
    }
    public void Connect(string addressText, string portText, string userIDText)
    {
        string message;

        if (!AirVRClientAppConfig.ValidateIPv4(addressText))
        {
            message = "Please enter the correct ip address.";

            Notification.DisplayError(message);
            Debug.Log(message);
            return;
        }

        if (!AirVRClientAppConfig.ValidatePort(portText))
        {
            message = "Please enter the correct port.";

            Notification.DisplayError(message);
            Debug.Log(message);
            return;
        }

        if (!AirVRClientAppConfig.ValidateUserID(userIDText))
        {
            message = "Please enter the correct User ID.";

            Notification.DisplayError(message);
            Debug.Log(message);
            return;
        }

        string address = addressText;
        int    port    = int.Parse(portText);
        int    userID  = int.Parse(userIDText);

        Config.Save(address, port, userID, AirVRClientUIManager.Instance.SettingPanel.AutoPlay.Toggle.isOn, Config.FirstPlay);
        AirVRClientUIManager.Instance.CanvasGroup.blocksRaycasts = false;
        AirVRClientUIManager.Instance.CanvasGroup.interactable   = false;

        AirVRClientUIManager.Instance.SettingPanel.PlayButton.enabled = false;

        IsConnecting = true;
        Notification.DisplayConnecting();

        #if UNITY_ANDROID && !UNITY_EDITOR
        AirVRClient.Connect(address, port, userID.ToString());
        #endif
    }