123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- /// #pkgName FGUI包名
- /// #panelName UIPanel名字
- /// #UIName = $"{#pkgName}{#panelName}" UIKey名字
- /// 该脚本由模板创建
- /// created by cb 2024
- using FairyGUI;
- using FL.Data.Items;
- using XGame;
- using XGame.Database;
- using XGame.Framework.UI;
- namespace FL.FGUI
- {
- public class UiParam
- {
- public bool bShowName;
- public bool bShowCount;
- public bool bShowBtn; // 是否可点击
- public bool bShowMask;
- public bool bShowLevel;
- public bool bShowBaseInfo; // 点击道具是否只显示物品简易信息
- }
- /// <summary>
- /// UI逻辑处理类
- /// </summary>
- /// <typeparam name=""></typeparam>
- public partial class CommonItemBaseCtrl : UIController<CommonItemBaseVM>
- {
- private IItem data;
- private bool bShowBaseInfo;
- protected override void OnEnable(object intent)
- {
- AddUIListenres();
- }
- protected override void OnDisable()
- {
- RemoveUIListenres();
- }
- #region UI事件
- private void AddUIListenres()
- {
- if (VM.ItemBtn != null)
- {
- VM.ItemBtn.onClick.Add(OnClickBtn);
- }
- }
- private void RemoveUIListenres()
- {
- if (VM.ItemBtn != null)
- {
- VM.ItemBtn.onClick.Remove(OnClickBtn);
- }
- }
- #endregion
- private void OnClickBtn(EventContext context)
- {
- if (data == null)
- {
- return;
- }
- else if (bShowBaseInfo)
- {
- ShowItemInfoPanel();
- }
- else if (data?.ItemType == EItemType.Equip)
- {
- Context.UI.OpenAsync(UIKeys.EquipEquipPanel, data);
- }
- else
- {
- ShowItemInfoPanel();
- }
- }
- private void ShowItemInfoPanel()
- {
- Log.Debug($"显示道具:{data.Name}详情界面");
- Context.UI.OpenAsync(UIKeys.ItemInformationPanel, new ItemInfoParam
- {
- itemInfo = ItemTableRepo.Get(data.TableId),
- numDesc = data?.ItemType == EItemType.Equip ? $"LV.{data.Level}" : (int.Parse(data.Count) > 1 ? data.Count : null),
- });
- }
- public void ShowUI(IItem item, UiParam uiParam)
- {
- data = item;
- bShowBaseInfo = uiParam.bShowBaseInfo;
- if (VM.QualityImg != null)
- {
- VM.QualityImg.icon = AddressableDefine.ItemFrame(item.Quality);
- }
- if (VM.ItemIcon != null)
- {
- VM.ItemIcon.icon = item.Icon;
- }
- if (VM.NameLabel != null)
- {
- VM.NameLabel.visible = uiParam.bShowName;
- if (uiParam.bShowName)
- {
- VM.NameLabel.text = item.Name;
- }
- }
- if (VM.LvLabel != null)
- {
- VM.LvLabel.visible = uiParam.bShowLevel;
- if (uiParam.bShowLevel)
- {
- VM.LvLabel.text = $"LV.{item.Level}";
- }
- }
- if (VM.CountLabel != null)
- {
- VM.CountLabel.visible = uiParam.bShowCount;
- if (uiParam.bShowCount)
- {
- VM.CountLabel.text = item.Count;
- }
- }
- if (VM.MaskImg != null)
- {
- VM.MaskImg.visible = uiParam.bShowMask;
- }
- if (VM.ItemBtn != null)
- {
- VM.ItemBtn.visible = uiParam.bShowBtn;
- }
- }
- }
- }
|