Example #1
0
        /// <summary>
        /// Show the modal dialog in the indicated mode, and call the callback when it receives a response
        /// </summary>
        public static void ShowInputModal(
            Mode mode,
            string headerText,
            string bodyText,
            ModalInputCallback inputCallback,
            ModalButtonCallback buttonCallback = null)
        {
            Debug.Assert(
                condition: mode == Mode.InputAccept || mode == Mode.InputConfirmCancel,
                message: "Incorrect method call.  Don't call ShowInputModal if not using input.");

            //Update text
            instance.SetHeaderText(headerText);
            instance.SetBodyText(bodyText);

            //Update buttons
            instance.SetMode(mode);

            //Set dialog visible
            instance.gameObject.SetActive(true);

            //Update callbacks
            instance.buttonCallback      = buttonCallback;
            instance.inputCallback       = inputCallback;
            instance.doubleInputCallback = null;
        }
Example #2
0
        /// <summary>
        /// Show the modal dialog in the indicated mode, and call the callback when it receives a response
        /// </summary>
        public static void ShowSimpleModal(
            Mode mode,
            string headerText,
            string bodyText,
            ModalButtonCallback callback = null)
        {
            Debug.Assert(
                condition: mode != Mode.InputAccept && mode != Mode.InputConfirmCancel,
                message: "Incorrect method call.  Call ShowInputModal instead.");

            Debug.Assert(
                condition: mode != Mode.InputInputConfirmCancel,
                message: "Incorrect method call.  Call ShowInputModal instead.");


            //Update text
            instance.SetHeaderText(headerText);
            instance.SetBodyText(bodyText);

            //Update buttons
            instance.SetMode(mode);

            //Set dialog visible
            instance.gameObject.SetActive(true);

            //Update Callbacks
            instance.buttonCallback      = callback;
            instance.inputCallback       = null;
            instance.doubleInputCallback = null;
        }
        /// <summary>
        /// Show the modal dialog in the indicated mode, and call the callback when it receives a response
        /// </summary>
        public static void ShowInputModalABC(
            string headerText,
            string bodyText,
            string buttonALabel,
            string buttonBLabel,
            string buttonCLabel,
            ModalInputCallback inputCallback,
            ModalButtonCallback buttonCallback = null,
            InputField.ContentType inputType   = InputField.ContentType.Alphanumeric)
        {
            //Update text
            instance.SetHeaderText(headerText);
            instance.SetBodyText(bodyText);

            //Update buttons
            instance.SetMode(Mode.InputABC);
            instance.SetButtonText(buttonALabel, buttonBLabel, buttonCLabel);

            //Set dialog visible
            instance.gameObject.SetActive(true);

            //Update callbacks
            instance.buttonCallback        = buttonCallback;
            instance.inputCallback         = inputCallback;
            instance.inputToggleCallback   = null;
            instance.doubleInputCallback   = null;
            instance.dropdownInputCallback = null;

            instance.primaryInputField.contentType = inputType;
        }
        /// <summary>
        /// Show the modal dialog in the indicated mode, and call the callback when it receives a response
        /// </summary>
        public static void ShowDropdownInputModal(
            string headerText,
            string primaryBodyText,
            string secondaryBodyText,
            IEnumerable <string> dropdownOptions,
            ModalDropdownInputCallback inputCallback,
            ModalButtonCallback buttonCallback = null,
            InputField.ContentType inputType   = InputField.ContentType.Alphanumeric)
        {
            //Update text
            instance.SetHeaderText(headerText);
            instance.SetBodyText(primaryBodyText, secondaryBodyText);

            //Update buttons
            instance.SetMode(Mode.DropdownInput);

            //Update dropdown
            instance.optionDropdown.ClearOptions();
            instance.optionDropdown.AddOptions(dropdownOptions.ToList());
            instance.optionDropdown.value = 0;
            instance.optionDropdown.RefreshShownValue();

            //Set dialog visible
            instance.gameObject.SetActive(true);

            //Update callbacks
            instance.buttonCallback        = buttonCallback;
            instance.inputCallback         = null;
            instance.inputToggleCallback   = null;
            instance.doubleInputCallback   = null;
            instance.dropdownInputCallback = inputCallback;

            instance.secondaryInputField.contentType = inputType;
        }
        /// <summary>
        /// Show the modal dialog in the indicated mode, and call the callback when it receives a response
        /// </summary>
        public static void ShowInputModal(
            string headerText,
            string primaryBodyText,
            string secondaryBodyText,
            ModalDoubleInputCallback inputCallback,
            ModalButtonCallback buttonCallback        = null,
            InputField.ContentType primaryInputType   = InputField.ContentType.Alphanumeric,
            InputField.ContentType secondaryInputType = InputField.ContentType.Alphanumeric)
        {
            //Update text
            instance.SetHeaderText(headerText);
            instance.SetBodyText(primaryBodyText, secondaryBodyText);

            //Update buttons
            instance.SetMode(Mode.InputInputConfirmCancel);

            //Set dialog visible
            instance.gameObject.SetActive(true);

            //Update callbacks
            instance.buttonCallback        = buttonCallback;
            instance.inputCallback         = null;
            instance.inputToggleCallback   = null;
            instance.doubleInputCallback   = inputCallback;
            instance.dropdownInputCallback = null;

            instance.primaryInputField.contentType   = primaryInputType;
            instance.secondaryInputField.contentType = secondaryInputType;
        }
        /// <summary>
        /// Show the modal dialog in the indicated mode, and call the callback when it receives a response
        /// </summary>
        public static void ShowCustomSimpleModal(
            string headerText,
            string bodyText,
            string buttonALabel,
            string buttonBLabel,
            string buttonCLabel,
            ModalButtonCallback callback)
        {
            //Update Text
            instance.SetHeaderText(headerText);
            instance.SetBodyText(bodyText);

            //Update buttons
            instance.SetMode(Mode.ABC);
            instance.SetButtonText(buttonALabel, buttonBLabel, buttonCLabel);

            //Set dialog visible
            instance.gameObject.SetActive(true);

            //Update Callbacks
            instance.buttonCallback        = callback;
            instance.inputCallback         = null;
            instance.inputToggleCallback   = null;
            instance.doubleInputCallback   = null;
            instance.dropdownInputCallback = null;
        }
Example #7
0
        /// <summary>
        /// Accept the button repsonse as input, invoke and clear the callbacks, and hide the dialog
        /// </summary>
        private void HandleButtons(Response response)
        {
            //Temporary copy to allow for the calling of the dialog within a callback
            ModalButtonCallback      tmpCallback            = buttonCallback;
            ModalInputCallback       tmpInputCallback       = inputCallback;
            ModalDoubleInputCallback tmpDoubleInputCallback = doubleInputCallback;

            buttonCallback      = null;
            inputCallback       = null;
            doubleInputCallback = null;

            gameObject.SetActive(false);

            tmpCallback?.Invoke(response);
            tmpInputCallback?.Invoke(response, primaryInputField.text);
            tmpDoubleInputCallback?.Invoke(response, primaryInputField.text, secondaryInputField.text);
        }
Example #8
0
        /// <summary>
        /// Show the modal dialog in the indicated mode, and call the callback when it receives a response
        /// </summary>
        public static void ShowInputModal(
            string headerText,
            string primaryBodyText,
            string secondaryBodyText,
            ModalDoubleInputCallback inputCallback,
            ModalButtonCallback buttonCallback = null)
        {
            //Update text
            instance.SetHeaderText(headerText);
            instance.SetBodyText(primaryBodyText, secondaryBodyText);

            //Update buttons
            instance.SetMode(Mode.InputInputConfirmCancel);

            //Set dialog visible
            instance.gameObject.SetActive(true);

            //Update callbacks
            instance.buttonCallback      = buttonCallback;
            instance.inputCallback       = null;
            instance.doubleInputCallback = inputCallback;
        }