Exemplo n.º 1
0
        ////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////

        /// <summary>
        /// Show the loading modal
        /// </summary>
        protected void ShowLoadingModal(string p_Message = "", bool p_Download = false)
        {
            if (!UICreated)
            {
                Logger.Instance?.Error("[SDK.UI][ViewController.ShowLoadingModal] Show loading modal \"" + p_Message + "\" called before View UI's creation");
                return;
            }

            /// Change modal text
            m_SDK_LoadingModalText.GetComponent <TextMeshProUGUI>().text = p_Download ? "" : p_Message;

            /// Show the modal
            ShowModal("SDK_ShowLoadingModal", () => {
                /// Show animator
                if (!p_Download)
                {
                    m_LoadingModal_Spinner.ShowLoading();
                }
                else
                {
                    m_LoadingModal_Spinner.ShowDownloadingProgress(p_Message, 0);
                }
            });
        }
Exemplo n.º 2
0
        ////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////

        /// <summary>
        /// Show the loading modal
        /// </summary>
        private void ShowLoadingModal(string p_Message = "Loading", bool p_Download = false)
        {
            /// Close old loading modal
            HideLoadingModal();

            /// Change modal text
            m_LoadingModalText = p_Download ? "" : p_Message;

            /// Update UI
            NotifyPropertyChanged("LoadingModalText");

            /// Show the modal
            m_ParserParams.EmitEvent("ShowLoadingModal");

            /// Show animator
            if (!p_Download)
            {
                m_LoadingModalSpinner.ShowLoading();
            }
            else
            {
                m_LoadingModalSpinner.ShowDownloadingProgress(p_Message, 0);
            }
        }
Exemplo n.º 3
0
        private void Awake()
        {
            // Create ModalKeyboard (BSML)
            var modalKeyboardTag = new ModalKeyboardTag();
            var modalKeyboardObj = modalKeyboardTag.CreateObject(transform);

            _modalKeyboard                        = modalKeyboardObj.GetComponent <ModalKeyboard>();
            _modalKeyboard.clearOnOpen            = false;
            _modalKeyboard.keyboard.EnterPressed += OnModalKeyboardSubmit;

            // Create server button
            var createServerButtonTransform = transform.Find("CreateServerButton");

            createServerButtonTransform.localPosition = new Vector3(-76.50f, 40.0f, 0.0f);

            _createServerButton = transform.Find("CreateServerButton").GetComponent <Button>();
            _createServerButton.onClick.AddListener(delegate
            {
                MpModeSelection.OpenCreateServerMenu();
            });

            // Move the top-right loading control up, so the refresh button aligns properly
            (transform.Find("Filters/SmallLoadingControl") as RectTransform).localPosition = new Vector3(62.0f, 3.5f, 0.0f);

            // Resize the filters bar so it doesn't overlap the refresh button
            var filterButtonTransform = (transform.Find("Filters/FilterButton") as RectTransform);

            filterButtonTransform.sizeDelta = new Vector2(-11.0f, 10.0f);
            filterButtonTransform.offsetMax = new Vector2(-11.0f, 5.0f);

            _filterButton = filterButtonTransform.GetComponent <Button>();
            _filterButton.onClick.AddListener(delegate
            {
                _modalKeyboard.keyboard.KeyboardText.text = !String.IsNullOrEmpty(_searchQuery) ? _searchQuery : "";
                //_modalKeyboard.keyboard.KeyboardText.fontSize = 4;

                _modalKeyboard.modalView.Show(true, true, null);
            });

            // Filters lable
            _filterButtonLabel      = transform.Find("Filters/FilterButton/Content/Text").GetComponent <CurvedTextMeshPro>();
            _filterButtonLabel.text = "Hello world!";

            // Hide top-right loading spinners
            Destroy(transform.Find("Filters/SmallLoadingControl/LoadingContainer").gameObject);
            Destroy(transform.Find("Filters/SmallLoadingControl/DownloadingContainer").gameObject);

            // Refresh button (add listener, make visible)
            var smallLoadingControl = transform.Find("Filters/SmallLoadingControl").GetComponent <LoadingControl>();

            smallLoadingControl.didPressRefreshButtonEvent += OnRefreshPressed;

            var refreshContainer = smallLoadingControl.transform.Find("RefreshContainer");

            refreshContainer.gameObject.SetActive(true);

            _refreshButton = refreshContainer.Find("RefreshButton").GetComponent <Button>();

            // Change "Music Packs" table header to "Type"
            transform.Find("GameServersListTableView/GameServerListTableHeader/LabelsContainer/MusicPack").GetComponent <CurvedTextMeshPro>()
            .SetText("Type");

            // Main loading control
            _mainLoadingControl = transform.Find("GameServersListTableView/TableView/Viewport/MainLoadingControl").GetComponent <LoadingControl>();
            _mainLoadingControl.didPressRefreshButtonEvent += OnRefreshPressed;

            _mainLoadingControl.ShowLoading("Initializing");

            // Table view
            _tableView = transform.Find("GameServersListTableView").GetComponent <GameServersListTableView>();

            // Modify content cell prefab (add a background)
            var contentCellPrefab = _tableView.GetField <GameServerListTableCell, GameServersListTableView>("_gameServerListCellPrefab");

            var backgroundBase = Resources.FindObjectsOfTypeAll <ImageView>().First(x => x.gameObject?.name == "Background" &&
                                                                                    x.sprite != null && x.sprite.name.StartsWith("RoundRect10"));

            var backgroundClone = UnityEngine.Object.Instantiate(backgroundBase);

            backgroundClone.transform.SetParent(contentCellPrefab.transform, false);
            backgroundClone.transform.SetAsFirstSibling();
            backgroundClone.name = "Background";

            var backgroundTransform = backgroundClone.transform as RectTransform;

            backgroundTransform.anchorMin = new Vector2(0.0f, 0.0f);
            backgroundTransform.anchorMax = new Vector2(0.95f, 1.0f);
            backgroundTransform.offsetMin = new Vector2(0.5f, 0.0f);
            backgroundTransform.offsetMax = new Vector2(5.0f, 0.0f);
            backgroundTransform.sizeDelta = new Vector2(4.50f, 0.0f);

            var cellBackgroundHelper = contentCellPrefab.gameObject.AddComponent <CellBackgroundHelper>();

            cellBackgroundHelper.Cell       = contentCellPrefab;
            cellBackgroundHelper.Background = backgroundClone;
        }