// Token: 0x060046BD RID: 18109 RVA: 0x0017FCC4 File Offset: 0x0017E0C4 private void CreateButtons(DialogActions buttons, string focusButton) { this.defaultButton.gameObject.SetActive(false); if (buttons == null) { return; } buttons.ForEach(delegate(KeyValuePair <string, Func <bool> > x) { Button button = this.GetButton(); UnityAction value = delegate { if (x.Value()) { this.Hide(); } }; this.buttonsInUse.Add(x.Key, button); this.buttonsActions.Add(x.Key, value); button.gameObject.SetActive(true); button.transform.SetAsLastSibling(); Text componentInChildren = button.GetComponentInChildren <Text>(); if (componentInChildren) { componentInChildren.text = x.Key; } button.onClick.AddListener(this.buttonsActions[x.Key]); if (x.Key == focusButton) { button.Select(); } }); }
// Token: 0x060046BB RID: 18107 RVA: 0x0017FB44 File Offset: 0x0017DF44 public void Show(string title = null, string message = null, DialogActions buttons = null, string focusButton = null, Vector3?position = null, Sprite icon = null, bool modal = false, Sprite modalSprite = null, Color?modalColor = null, Canvas canvas = null) { if (position == null) { position = new Vector3?(new Vector3(0f, 0f, 0f)); } if (title != null && this.TitleText != null) { this.TitleText.text = title; } if (message != null && this.ContentText != null) { this.contentText.text = message; } if (icon != null && this.Icon != null) { this.Icon.sprite = icon; } Transform parent = (!(canvas != null)) ? Utilites.FindCanvas(base.gameObject.transform) : canvas.transform; base.transform.SetParent(parent, false); if (modal) { this.modalKey = new int?(ModalHelper.Open(this, modalSprite, modalColor)); } else { this.modalKey = null; } base.transform.SetAsLastSibling(); base.transform.localPosition = position.Value; base.gameObject.SetActive(true); this.CreateButtons(buttons, focusButton); }
/// <summary> /// Show dialog. /// </summary> /// <param name="title">Title.</param> /// <param name="message">Message.</param> /// <param name="buttons">Buttons.</param> /// <param name="focusButton">Set focus on button with specified name.</param> /// <param name="position">Position.</param> /// <param name="icon">Icon.</param> /// <param name="modal">If set to <c>true</c> modal.</param> /// <param name="modalSprite">Modal sprite.</param> /// <param name="modalColor">Modal color.</param> /// <param name="canvas">Canvas.</param> public void Show(string title = null, string message = null, DialogActions buttons = null, string focusButton = null, Vector3?position = null, Sprite icon = null, bool modal = false, Sprite modalSprite = null, Color?modalColor = null, Canvas canvas = null) { if (position == null) { position = new Vector3(0, 0, 0); } if ((title != null) && (TitleText != null)) { TitleText.text = title; } if ((message != null) && (ContentText != null)) { contentText.text = message; } if ((icon != null) && (Icon != null)) { Icon.sprite = icon; } var parent = (canvas != null) ? canvas.transform : Utilites.FindCanvas(gameObject.transform); if (parent != null) { transform.SetParent(parent, false); } if (modal) { modalKey = ModalHelper.Open(this, modalSprite, modalColor); } else { modalKey = null; } transform.SetAsLastSibling(); transform.localPosition = (Vector3)position; gameObject.SetActive(true); CreateButtons(buttons, focusButton); }
/// <summary> /// Creates the buttons. /// </summary> /// <param name="buttons">Buttons.</param> /// <param name="focusButton">Focus button.</param> protected virtual void CreateButtons(DialogActions buttons, string focusButton) { defaultButton.gameObject.SetActive(false); if (buttons == null) { return; } buttons.ForEach(x => { var button = GetButton(); UnityAction callback = () => { if (x.Value()) { Hide(); } }; buttonsInUse.Add(button); buttonsActions.Add(callback); button.gameObject.SetActive(true); button.transform.SetAsLastSibling(); var dialog_button = button.GetComponentInChildren <DialogButtonComponentBase>(); if (dialog_button != null) { dialog_button.SetButtonName(x.Key); } else { var text = button.GetComponentInChildren <Text>(); if (text != null) { text.text = x.Key; } } button.onClick.AddListener(callback); if (x.Key == focusButton) { button.Select(); } }); }
/// <summary> /// Show dialog. /// </summary> /// <param name="title">Title.</param> /// <param name="message">Message.</param> /// <param name="buttons">Buttons.</param> /// <param name="focusButton">Set focus on button with specified name.</param> /// <param name="position">Position.</param> /// <param name="icon">Icon.</param> /// <param name="modal">If set to <c>true</c> modal.</param> /// <param name="modalSprite">Modal sprite.</param> /// <param name="modalColor">Modal color.</param> /// <param name="canvas">Canvas.</param> public virtual void Show(string title = null, string message = null, DialogActions buttons = null, string focusButton = null, Vector3?position = null, Sprite icon = null, bool modal = false, Sprite modalSprite = null, Color?modalColor = null, Canvas canvas = null) { if (IsTemplate) { Debug.LogWarning("Use the template clone, not the template itself: DialogTemplate.Clone().Show(...), not DialogTemplate.Show(...)"); } if (position == null) { position = new Vector3(0, 0, 0); } SetInfo(title, message, icon); var parent = (canvas != null) ? canvas.transform : Utilites.FindTopmostCanvas(gameObject.transform); if (parent != null) { transform.SetParent(parent, false); } if (modal) { ModalKey = ModalHelper.Open(this, modalSprite, modalColor); } else { ModalKey = null; } transform.SetAsLastSibling(); transform.localPosition = (Vector3)position; gameObject.SetActive(true); CreateButtons(buttons, focusButton); }
/* 在刚进入主城时判断是否需要本命弹窗 * 本命弹窗逻辑: * 1、从战场结算界面返回主城 * 2、还没有收集完本命英雄 * 3、本命记录里没有该英雄 * 4、比赛必须满员 * 5、比赛类型必须满足配置要求的比赛类型(lifehero.csv) */ private void OpenLifeHeroDialog() { if (!LogicDataCenter.lifeHeroDataManager.IsFromWarExit) { return; } LogicDataCenter.lifeHeroDataManager.IsFromWarExit = false; if (StageManager.Instance.getCurrentState() != EStage_State.ESS_GAME && StageManager.Instance.getCurrentState() != EStage_State.ESS_LOADSCENE) { Debug.Log("recv all lifehero at gamestate=" + StageManager.Instance.getCurrentState() + ", so dont show dialog."); return; } if (!LogicDataCenter.lifeHeroDataManager.HasCollectedAllLifeHero() && (GuideManager.Instance.IsCurrentGuideGreaterEqual(ENNOVICEGUIDE_TYPE.ENNOVICEGUIDE_TYPE_GUIDE_LIFEHEROCULTURE) || (LogicDataCenter.playerSystemDataManager.GetActorPlayerInfo().playerInfo.nLv > 3))) { List <cmd_warstatistic_history_record> recordList = LogicDataCenter.lifeHeroDataManager.HistoryRecord; if (recordList == null || recordList.Count < 1) { Debug.LogWarning("lifehero entance: history record is empty."); return; } cmd_warstatistic_history_record record = recordList[0]; if (!record.bIsFull) { return; } Dictionary <int, cmd_entity_lifehero_info> ownedLifeHero = LogicDataCenter.lifeHeroDataManager.AllLifeHero; if (ownedLifeHero.ContainsKey(record.nHeroID)) { return; } if (!LifeHeroConfig.Instance.IsMeetWarType(ownedLifeHero.Count, record.wWarType)) { return; } string content; DialogActions buttons; if (LifeHeroRules.IsMeetRule(LogicDataCenter.lifeHeroDataManager.AllLifeHero.Count, record)) { content = ULocalizationService.Instance.Get("UIView", "LifeHeroSelect", "TravelContent_Good"); buttons = new UIWidgets.DialogActions() { { ULocalizationService.Instance.Get("UIView", "LifeHeroSelect", "Confirm"), () => { UISystem.Instance.ShowWnd(WndID.WND_ID_LIFE_HERO_CULTURE, true); return(true); } }, { ULocalizationService.Instance.Get("UIView", "LifeHeroSelect", "Cancel"), null } }; } else { SSchemeLifeHero config; int key = LogicDataCenter.lifeHeroDataManager.AllLifeHero.Count; if (LifeHeroConfig.Instance.LifeHeroConfigDic.TryGetValue(key, out config)) { content = string.Format(ULocalizationService.Instance.Get("UIView", "LifeHeroSelect", "TravelContent_NontDiscourage"), config.rule); buttons = new UIWidgets.DialogActions() { { ULocalizationService.Instance.Get("UIView", "LifeHeroSelect", "Confirm"), () => { UISystem.Instance.ShowWnd(WndID.WND_ID_WAR_MAIN_FRAME, true);; return(true); } }, { ULocalizationService.Instance.Get("UIView", "LifeHeroSelect", "Cancel"), null } }; } else { Debug.LogError("获取本命配置失败.key = " + key); return; } } UBB.toHtml(ref content); TooltipAndDialog.UIDialogData data = new TooltipAndDialog.UIDialogData( title: ULocalizationService.Instance.Get("UIView", "LifeHeroSelect", "TravelTitle"), message: content, buttons: buttons, modal: false, hideByModalClick: false, modalColor: Color.clear, mutex: true, eDialogType: EDialogType.LifeHeroEntrance ); UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_COMMON_DIALOG, data); } }
/// <summary> /// Show dialog. /// </summary> /// <param name="title">Title.</param> /// <param name="message">Message.</param> /// <param name="buttons">Buttons.</param> /// <param name="focusButton">Set focus on button with specified name.</param> /// <param name="position">Position.</param> /// <param name="icon">Icon.</param> /// <param name="modal">If set to <c>true</c> modal.</param> /// <param name="modalSprite">Modal sprite.</param> /// <param name="modalColor">Modal color.</param> /// <param name="canvas">Canvas.</param> public virtual void Show(string title = null, string message = null, DialogActions buttons = null, string focusButton = null, Vector3?position = null, Sprite icon = null, bool modal = false, bool hideByModalClick = true, Sprite modalSprite = null, Color?modalColor = null, Transform canvas = null, UnityAction closeBtnAction = null, UnityAction modalclickAction = null) { if (position == null) { position = new Vector3(0, 0, 0); } SetInfo(title, message, icon); ParentTrans = canvas; var topCanvas = Utilites.FindTopmostCanvas(ParentTrans); if (topCanvas != null) { transform.SetParent(topCanvas, false); } if (modal) { if (hideByModalClick) { ModalKey = ModalHelper.Open(this, modalSprite, modalColor, Hide, transform as RectTransform); } else { ModalKey = ModalHelper.Open(this, modalSprite, modalColor, null, transform as RectTransform); } m_actionModalClick = modalclickAction; } else { ModalKey = null; } transform.SetAsLastSibling(); transform.localPosition = (Vector3)position; gameObject.SetActive(true); CreateButtons(buttons, focusButton); if (CloseButton != null) { CloseButton.onClick.AddListener(Hide); if (closeBtnAction != null) { CloseButton.onClick.AddListener(closeBtnAction); } } }