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); }
/// <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; } } }
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); }