弹出消息提示框,弹出确认取消,弹出物品获得提示框


一、 弹出提示框

弹出消息提示框,弹出确认取消,弹出物品获得提示框_第1张图片

Globals.MUIManager.CreatMessageLabel("支付失败");

弹出消息提示框,弹出确认取消,弹出物品获得提示框_第2张图片

        public T GetUI() where T : HotFix_Project.UI.UI_Logic
        {
            HotFix_Project.UI.UI_Logic logicPanel = null;

            if (existingUI.TryGetValue(typeof(T).ToString(), out logicPanel))
            {
                return (T)(logicPanel);
            }
            else
            {
                return (T)null;
            }
        }

弹出消息提示框,弹出确认取消,弹出物品获得提示框_第3张图片

 

      public void ShowMessageLabel(string label)
        {
            if (messageLabel_pfb == null)
                return;
            GameObject mlabel = GameObject.Instantiate(messageLabel_pfb) as GameObject;
            mlabel.transform.localPosition = messageLabel_pfb.transform.localPosition;
            mlabel.transform.parent = messageLabel_pfb.transform.parent;
            SetLabelText(GetbyPath("Label", mlabel), label);
            mlabel.GetComponent().width = GetbyPath("Label", mlabel).GetComponent().width + 100;
            mlabel.transform.localScale = Vector3.one;
            mlabel.SetActive(true);
            GameObject.Destroy(mlabel, 2.5f);

        }

弹出消息提示框,弹出确认取消,弹出物品获得提示框_第4张图片

 

  二、弹出确认取消框

 

第一个参数为   点击确认的委托    第二个参数为显示的文字


 Globals.MUIManager.CreatMBSuerDo(delegate (GameObject obj)

                                {

                                    Application.Quit();

                                }, Language.Instance.GetWord(1001936));

 

   public void CreatMBSuerDo(UIEventListener.VoidDelegate secbtEvt, string messge, int skin = 0)
        {
            AddUI(delegate (UI_MessageBox page) { page.CreatMessageBoxSureDo(secbtEvt, messge, skin); });
        }
 public void AddUI(GUICallback callback = null) where T : HotFix_Project.UI.UI_Logic
        {

            T uiLogic = GetUI();
            if (null == uiLogic)
            {
                if (typeof(T) != typeof(UI_Guidance))
                {
                    Rooter.RemoveHand();
                }


                string ui_name = typeof(T).ToString();
                ui_name = ui_name.Substring(ui_name.LastIndexOf('.') + 1);


                GameObject uiObj = ILRT.Instance.MResourceManager.CreatGameObjectAtWord(uiPfbPath + ui_name, Vector2.zero);
                if (uiObj == null)
                {
                    MDebug.LogError("didn't find " + ui_name + "'s perfab");
                    return;
                }
                uiObj.name = ui_name;
                Transform uiTrans = uiObj.transform;
                uiTrans.parent = uiRoot.transform;
                uiTrans.localScale = Vector3.one;
                uiTrans.localPosition = Vector3.zero;

                FindLabel(uiTrans);
                //uiLogic = uiObj.AddComponent();

                uiLogic = System.Activator.CreateInstance();


                uiLogic.Init(uiObj);

                existingUI[typeof(T).ToString()] = uiLogic;

            }
            else
            {
                if (uiLogic.AwaysExits)
                {
                    uiLogic.Hide(false);
                }
            }
            if (null != callback)
                callback(uiLogic);
        }

弹出消息提示框,弹出确认取消,弹出物品获得提示框_第5张图片

 

        public void ShowMessageBox(UIEventListener.VoidDelegate fbtEvt, string fbtLb, UIEventListener.VoidDelegate secbtEvt, string secbtLb, string messge)
        {
            UIGrid grid = BT_PFB.transform.parent.gameObject.GetComponent();
            FR_MessageBox.GetComponent().ResetToBeginning();
            FR_MessageBox.GetComponent().enabled = true;

            Label.text = messge;
            if (buttonlist.Count > 0)
            {
                for (int i = 0; i < buttonlist.Count; i++)
                    GameObject.DestroyImmediate(buttonlist[i]);
            }

            SetBTPerfactStart();
            CreatBt(fbtLb, fbtEvt);
            CreatBt(secbtLb, secbtEvt);
            SetBtPerfectEnd();

            grid.cellWidth = 174f;

            grid.repositionNow = true;
            FR_MessageBox.SetActive(true);
            NoToggle();

        }

 

    void CreatBt(string label, UIEventListener.VoidDelegate btclick)
        {
            GameObject bt1 = GameObject.Instantiate(BT_PFB) as GameObject;
            buttonlist.Add(bt1);
            bt1.transform.parent = BT_PFB.transform.parent;
            bt1.transform.localPosition = Vector3.zero;
            bt1.transform.localScale = Vector3.one;
            var lb = bt1.transform.Find("Label").GetComponent();
            lb.text = label;
            if (lb.width > maxBtLableW)
                maxBtLableW = lb.width;
            UIEventListener.Get(bt1).onClick += delegate (GameObject go)
            {
                CloseMessagebox();
            };
            UIEventListener.Get(bt1).onClick += btclick;
            bt1.SetActive(true);
        }

三、弹出物品获得提示框

弹出消息提示框,弹出确认取消,弹出物品获得提示框_第6张图片

  public void ShowDrops(Dictionary items, UIEventListener.VoidDelegate onClose = null)
        {
            if (items.Count > 0)
            {
                Globals.MUIManager.AddUI(
                    delegate (UI_Event page)
                    {
                        page.ShowItemsElsewhere(items, onClose);
                    });
            }
        }
        public void ShowItemsElsewhere(Dictionary itemList, UIEventListener.VoidDelegate onClose = null)
        {
            transform.Find("Anchor_Center").GetComponent().enabled = false;
            transform.Find("Anchor_Center").localScale = Vector3.one;
            transform.Find("MaskBlack").gameObject.SetActive(false);
            transform.Find("Anchor_Center/Desc").gameObject.SetActive(false);
            List items = new List();
            foreach (var propItem in itemList)
            {
                SPUI_Event.Item item = new SPUI_Event.Item();
                ItemConfig.ItemObject _item = Globals.MDataTableManager.GetConfig().GetConfigElementByID(propItem.Key);
                if (null != _item)
                {
                    item.id = propItem.Key;
                    item.name = _item.Name;
                    item.icon = _item.Icon;
                    item.count = propItem.Value;
                    items.Add(item);
                }
            }

            _spui.SetItems(items);
            if (onClose != null)
            {
                UIEventListener.Get(_spui.BT_ItemClose).onClick += onClose;
            }
            UIEventListener.Get(_spui.BT_ItemClose).onClick += CloseThisElsewhere;
        }

 

你可能感兴趣的:(项目实战)