/// #pkgName FGUI包名 /// #panelName UIPanel名字 /// #UIName = $"{#pkgName}{#panelName}" UIKey名字 /// 该脚本由模板创建 /// created by cb 2024 using System.Collections.Generic; using FairyGUI; using FL.Data; using FL.Data.Items; using XGame; using XGame.Database; using XGame.Framework.Database; using XGame.Framework.UI; namespace FL.FGUI { /// /// UI逻辑处理类 /// /// public partial class PartnerSbDetailNestedCtrl : 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 id) { _sbId = id; if (_sbId == 0) { VM.ItemBase.Disable(); VM.IsEmpty.selectedIndex = 1; return; } VM.ItemBase.Enable(null); VM.IsEmpty.selectedIndex = 0; var table = PartnerTableRepo.Get(_sbId); XGame.Framework.Assert.IsNotNull(table, $"圣兵表不存在,id:{_sbId}"); VM.NameLabel.text = table.Name; var attr = PartnersData.Instance.GetPartnerAttrByTableId(_sbId); var level = attr?.Level ?? 1; var star = attr?.RisingStarLv ?? 1; var upLevelTable = partnerStarUpTableRepo.GetPartnerStarTable(_sbId, star); XGame.Framework.Assert.IsNotNull( upLevelTable, $"圣兵升星表不存在,id:{_sbId},level:{level}" ); VM.SpPbar.max = upLevelTable.StarUpCost; VM.SpPbar.value = ItemData.Instance.GetItemNum(upLevelTable.PetId); // ShowStar(star); // ShowSkillBaseInfo(table.Skill[0]); // ShowAttr(level); // VM.ElementLoader.url = AddressableDefine.SbElementType(((int)table.Element)); VM.TypeLoader.url = AddressableDefine.SbTypeIcon(table.Type); // VM.AttrLabel.text = $"+{table.Own_attr[1] / 100f}%"; var item = new PartnerItemBase(); item.Init(_sbId); VM.ItemBase.Ctrl.ShowUI(item); } private void ShowStar(int star) { var starStep = PartnersService.Instance.GetStarStep(star); var starLv = PartnersService.Instance.GetStarLv(star); var list = new List(); for (int i = 0; i < starLv; i++) { list.Add(starStep); } VM.StarList.BindDatas(list); } private void ShowAttr(int level) { var lvTable = partnerLvUpTableRepo.GetPartnerLvUpTable(_sbId, level); XGame.Framework.Assert.IsNotNull(lvTable, $"圣兵等级不存在,id:{_sbId},level:{level}"); 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); XGame.Framework.Assert.IsNotNull(skillInfo, $"技能表不存在,id{skillId}"); VM.DescLabel.text = skillInfo.Desc; } } }