コード例 #1
0
    protected override void OnShow(object data)
    {
        base.OnShow(data);
        if (data != null && data is UIPanelManager.LocalPanelInfo)
        {
            UIPanelManager.LocalPanelInfo uidata = data as UIPanelManager.LocalPanelInfo;
            //Client.UIPanelInfo uidata = data as Client.UIPanelInfo;
            m_label_panelName.text = uidata.TitleName;
            ShowPropety(uidata.TopBarProperty);
        }

        Engine.Utility.EventEngine.Instance().AddEventListener((int)Client.GameEventID.UIEVENT_REFRESHCURRENCYNUM, OnUIEvent);
    }
コード例 #2
0
    /// <summary>
    /// 引导ID
    /// </summary>
    /// <param name="guideId"></param>
    private void ShowGuide(uint guideId)
    {
        GuideDefine.LocalGuideData localData = null;
        if (DataManager.Manager <GuideManager>().TryGetGuideLocalData(guideId, out localData))
        {
            if (null == localData.GuideTargetObj)
            {
                return;
            }
            PanelType ptype = PanelType.SmartPopUp;
            UIPanelManager.LocalPanelInfo localInfo = null;
            if (DataManager.Manager <UIPanelManager>().TryGetLocalPanelInfo(localData.GuideTargetDependPanel, out localInfo))
            {
                ptype = localInfo.PType;
            }
            if (IsShowUnconstrainGuide(guideId))
            {
                //如果不可见重新获取当前面板深度
                UIUnconstraintGrid showGrid = m_dic_showGuide[guideId];
                if (!showGrid.Visible)
                {
                    showGrid.SetVisible(true);
                    GuideTrigger gTrigger = localData.GuideTargetObj.GetComponent <GuideTrigger>();
                    if (null != gTrigger && !gTrigger.enabled)
                    {
                        gTrigger.enabled = true;
                    }
                    int maxDepth = DataManager.Manager <UIPanelManager>().GetTargetRootMaxDepth(ptype);
                    showGrid.SetDepth(maxDepth + 1);
                    if (localData.RefreshPosInTime)
                    {
                        showGrid.RefreshPos();
                    }
                    showGrid.CheckTriggerData(guideId, GuideTriggerDlg);
                }
            }
            else
            {
                int maxDepth            = DataManager.Manager <UIPanelManager>().GetTargetRootMaxDepth(ptype);
                UIUnconstraintGrid grid = GetUnconstrainGrid();
                if (null != grid)
                {
                    grid.CacheTransform.gameObject.name = guideId.ToString();
                    m_dic_showGuide.Add(guideId, grid);
                }
                grid.SetData(maxDepth + 1, guideId, GuideTriggerDlg);

                if (localData.TableData.voiceID != 0)
                {
                    DataManager.Manager <UIManager>().PlayUIAudioEffect(localData.TableData.voiceID);
                }
            }


            GuideTriggerData gtData = localData.GuideTargetObj.GetComponent <GuideTriggerData>();
            if (null == gtData)
            {
                gtData = localData.GuideTargetObj.AddComponent <GuideTriggerData>();
            }
            if (null != gtData && !gtData.IsGuideTrigger)
            {
                gtData.IsGuideTrigger = true;
            }
        }
    }
コード例 #3
0
    private UIItem GetUIItem(string spriteName, uint num, uint itemid = 0, uint itemThisId = 0, Action <UIItemCommonGrid> callback = null, Action <UIItemCommonGrid, bool> pressCallback = null, bool showGetWay = true)
    {
        UnityEngine.Object obj = UIManager.GetResGameObj(GridID.Uiitemcommongrid);
        if (obj == null)
        {
            Engine.Utility.Log.Error("Get GridID.Uiitemcommongrid failed");
            return(null);
        }

        GameObject       gridObj = GameObject.Instantiate(obj) as GameObject;
        UIItemCommonGrid grid    = gridObj.GetComponent <UIItemCommonGrid>();

        if (null == grid)
        {
            grid = gridObj.AddComponent <UIItemCommonGrid>();
        }

        uint qulity = 0;

        table.ItemDataBase db = GameTableManager.Instance.GetTableItem <table.ItemDataBase>(itemid);
        if (db != null)
        {
            qulity = db.quality;
        }
        grid.SetGridData(new ItemDefine.UIItemCommonData()
        {
            DwObjectId = itemid,
            IconName   = spriteName,
            Num        = num,
            ItemThisId = itemThisId,
            Qulity     = qulity,
            ShowGetWay = showGetWay,
        });

        if (itemid != 0)//非零显示tips
        {
            bool blongPress = false;
            grid.RegisterUIEventDelegate((UIEventType eventType, object data, object param) =>
            {
                UIItemCommonGrid uigrid = data as UIItemCommonGrid;
                switch (eventType)
                {
                case UIEventType.Click:
                    blongPress = false;

                    if (callback != null)
                    {
                        callback(uigrid);
                        return;
                    }

                    if (uigrid.Data.Num > 0)
                    {
                        if (uigrid.Data.ItemThisId > 0)
                        {
                            TipsManager.Instance.ShowItemTips(uigrid.Data.ItemThisId, uigrid.gameObject, false);
                        }
                        else
                        {
                            //策划说货币也要弹出Tips
//                                 if (uigrid.Data.DwObjectId == MainPlayerHelper.GoldID || uigrid.Data.DwObjectId == MainPlayerHelper.MoneyTicketID)
//                                 {
//                                     return;
//                                 }
                            TipsManager.Instance.ShowItemTips(uigrid.Data.DwObjectId, uigrid.gameObject, false);
                        }
                    }
                    else
                    {
                        PanelID panelId = UIFrameManager.Instance.CurrShowPanelID;
                        uint itemID     = uigrid.Data.DwObjectId;
                        if (DataManager.Manager <UIPanelManager>().IsShowPanel(panelId))
                        {
                            UIPanelBase panelBase = DataManager.Manager <UIPanelManager>().GetPanel(panelId);
                            UIPanelManager.LocalPanelInfo uidata = panelBase.PanelInfo;
                            //Client.UIPanelInfo uidata = panelBase.PanelShowInfo;
                            if (uidata != null && uidata.NeedBg)
                            {
                                DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.GetWayPanel, data: itemID);
                            }
                        }
                        else if (panelId == PanelID.None)
                        {
                            DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.GetWayPanel, data: itemID);
                        }
                    }
                    break;

                case UIEventType.LongPress:
                    blongPress = true;
                    if (pressCallback != null)
                    {
                        pressCallback(uigrid, blongPress);
                        return;
                    }
                    if (grid.Data.ItemThisId > 0)
                    {
                        TipsManager.Instance.ShowItemTips(grid.Data.ItemThisId, grid.gameObject, false);
                    }
                    else
                    {
                        TipsManager.Instance.ShowItemTips(uigrid.Data.DwObjectId, uigrid.gameObject, false);
                    }
                    break;

                case UIEventType.Press:
                    bool press = (bool)param;
                    if (!press && blongPress)
                    {
                        blongPress = false;
                        if (pressCallback != null)
                        {
                            pressCallback(uigrid, blongPress);
                            return;
                        }
                        DataManager.Manager <UIPanelManager>().HidePanel(PanelID.ItemTipsPanel);
                    }
                    break;
                }
            });
        }

        UIItem item = new UIItem(grid);

        return(item);
    }