/// #pkgName FGUI包名 /// #panelName UIPanel名字 /// #UIName = $"{#pkgName}{#panelName}" UIKey名字 /// 该脚本由模板创建 /// created by cb 2024 using System.Collections.Generic; using FL.Data; using XGame; using XGame.Database; using XGame.Framework.UI; namespace FL.FGUI { /// /// UI逻辑处理类 /// /// public partial class PartnerSbDetailNoIconNestedCtrl : UIController { protected override void OnEnable(object intent) { AddUIListenres(); } protected override void OnDisable() { RemoveUIListenres(); } #region UI事件 private void AddUIListenres() { } private void RemoveUIListenres() { } #endregion private int _sbId; public void ShowUI(int sbId) { _sbId = sbId; var table = PartnerTableRepo.Get(_sbId); if (table == null) { Log.Error($"圣兵表不存在,id:{_sbId}"); return; } var attr = PartnersData.Instance.GetPartnerAttrByTableId(_sbId); var level = attr?.Level ?? 1; var star = attr?.RisingStarLv ?? 1; VM.AttrLabel.text = $"+{table.Own_attr[1]/100f}%"; // ShowSkillBaseInfo(table.Skill[0]); // ShowAttr(level); // VM.ElementLoader.url = AddressableDefine.SbElementType(((int)table.Element)); VM.TypeLoader.url = AddressableDefine.SbTypeIcon(table.Type); ShowBuff(star); // var pos = PartnersData.Instance.UpSbPosMap.GetValueOrDefault(_sbId, -1); VM.IsUp.selectedIndex = pos < 0 ? 0 : 1; } private void ShowAttr(int level) { var lvTable = partnerLvUpTableRepo.GetPartnerLvUpTable(_sbId, level); if (lvTable == null) { Log.Error($"圣兵等级不存在,id:{_sbId},level:{level}"); return; } var atkVal = lvTable.LvAttr[1]; //var attributeInfo = AttrDescTableRepo.Get(attrType); string descAtk = atkVal > 0 ? atkVal.ToRealFloat().ToString("F1") : "0"; VM.AtkValLabel.text = descAtk; var atkSpeed = lvTable.LvAttr[3]; string descSpeed = atkSpeed > 0 ? atkSpeed.ToRealFloat().ToString("F1") : "0"; VM.SpeedValLabel.text = descSpeed; } /// /// 基础技能描述 /// /// private void ShowSkillBaseInfo(int skillId) { var skillInfo = SkillTableRepo.Get(skillId); if (skillInfo == null) { Log.Error($"技能表不存在,id{skillId}"); return; } VM.DescLabel.text = skillInfo.Desc; } private void ShowBuff(int starLv) { var table = PartnerTableRepo.Get(_sbId); if (table == null) { Log.Error($"圣兵tableId {_sbId} 不存在"); return; } var starSkillIds = table?.Skill; var dataList = new List(); if (starSkillIds?.Length > 0) { for (int i = 2; i < starSkillIds.Length; i += 2) { var data = new PartnerSbDetailSkillListItemParam() { SkillId = starSkillIds[i], NeedStarLevel = starSkillIds[i + 1], CurStarLevel = starLv, }; dataList.Add(data); } } VM.SkillList.BindDatas(dataList); } } }