3 Commity 8126c7e6b4 ... b522b940f8

Autor SHA1 Wiadomość Data
  zouweichen b522b940f8 圣兵铭文 3 dni temu
  zouweichen e7d7835051 圣兵铭文羁绊 3 dni temu
  zouweichen af5a36b261 圣兵铭文羁绊 3 dni temu
45 zmienionych plików z 730 dodań i 468 usunięć
  1. BIN
      Assets/Res/Addressable/FGUI/Partner/Partner_atlas0.png
  2. BIN
      Assets/Res/Addressable/FGUI/Partner/Partner_atlas0_1.png
  3. BIN
      Assets/Res/Addressable/FGUI/Partner/Partner_fui.bytes
  4. 25 0
      Assets/Scripts/Business/Runtime/Data/Epigraph/EpigraphData.cs
  5. 13 8
      Assets/Scripts/Business/Runtime/Data/Partners/PartnersData.cs
  6. 12 0
      Assets/Scripts/Business/Runtime/Data/Partners/PartnersService.cs
  7. 8 0
      Assets/Scripts/Business/Runtime/Event/EventDefine.cs
  8. 5 3
      Assets/Scripts/Business/Runtime/FGUI/Main/HomeBottomPanel/MainHomeBottomPanelCtrl.cs
  9. 38 8
      Assets/Scripts/Business/Runtime/FGUI/Partner/BookAddDetailPanel/PartnerBookAddDetailPanelCtrl.cs
  10. 3 0
      Assets/Scripts/Business/Runtime/FGUI/Partner/BookAddDetailPanel/PartnerBookAddDetailPanelVM.Gen.cs
  11. 5 0
      Assets/Scripts/Business/Runtime/FGUI/Partner/BookAttrTextItem/PartnerBookAttrTextItemCtrl.cs
  12. 6 2
      Assets/Scripts/Business/Runtime/FGUI/Partner/BookAttrTextItem/PartnerBookAttrTextItemView.ListItem.cs
  13. 66 10
      Assets/Scripts/Business/Runtime/FGUI/Partner/BookDetailListItem/PartnerBookDetailListItemCtrl.cs
  14. 19 8
      Assets/Scripts/Business/Runtime/FGUI/Partner/BookTextItem/PartnerBookTextItemCtrl.cs
  15. 6 2
      Assets/Scripts/Business/Runtime/FGUI/Partner/BookTextItem/PartnerBookTextItemView.ListItem.cs
  16. 4 4
      Assets/Scripts/Business/Runtime/FGUI/Partner/DetailsPanel/PartnerDetailsPanelCtrl.cs
  17. 0 3
      Assets/Scripts/Business/Runtime/FGUI/Partner/EpiBagListItem/PartnerEpiBagListItemCtrl.cs
  18. 58 5
      Assets/Scripts/Business/Runtime/FGUI/Partner/EpiBookDetailPanel/PartnerEpiBookDetailPanelCtrl.cs
  19. 4 2
      Assets/Scripts/Business/Runtime/FGUI/Partner/EpiBookPanel/PartnerEpiBookPanelCtrl.cs
  20. 27 26
      Assets/Scripts/Business/Runtime/FGUI/Partner/EpiChangeListItem/PartnerEpiChangeListItemCtrl.cs
  21. 5 5
      Assets/Scripts/Business/Runtime/FGUI/Partner/EpiChangeListItem/PartnerEpiChangeListItemView.ListItem.cs
  22. 67 72
      Assets/Scripts/Business/Runtime/FGUI/Partner/EpiChangePanel/PartnerEpiChangePanelCtrl.cs
  23. 115 128
      Assets/Scripts/Business/Runtime/FGUI/Partner/EpiDetailInfo/PartnerEpiDetailInfoCtrl.cs
  24. 45 39
      Assets/Scripts/Business/Runtime/FGUI/Partner/EpiMainPanel/PartnerEpiMainPanelCtrl.cs
  25. 0 2
      Assets/Scripts/Business/Runtime/FGUI/Partner/EpiMainPanel/PartnerEpiMainPanelVM.Gen.cs
  26. 3 3
      Assets/Scripts/Business/Runtime/FGUI/Partner/EpiPlanListItem/PartnerEpiPlanListItemCtrl.cs
  27. 16 31
      Assets/Scripts/Business/Runtime/FGUI/Partner/EpiUpListItem/PartnerEpiUpListItemCtrl.cs
  28. 2 2
      Assets/Scripts/Business/Runtime/FGUI/Partner/InfoListItem/PartnerInfoListItemCtrl.cs
  29. 59 7
      Assets/Scripts/Business/Runtime/FGUI/Partner/PartnerBookDetailPanel/PartnerPartnerBookDetailPanelCtrl.cs
  30. 4 1
      Assets/Scripts/Business/Runtime/FGUI/Partner/PartnerBookPanel/PartnerPartnerBookPanelCtrl.cs
  31. 3 3
      Assets/Scripts/Business/Runtime/FGUI/Partner/PartnerPlanListItem/PartnerPartnerPlanListItemCtrl.cs
  32. 2 3
      Assets/Scripts/Business/Runtime/FGUI/Partner/PartnerUpListItem/PartnerPartnerUpListItemCtrl.cs
  33. 12 18
      Assets/Scripts/Business/Runtime/FGUI/Partner/ReplacePartnerListItem/PartnerReplacePartnerListItemCtrl.cs
  34. 44 44
      Assets/Scripts/Business/Runtime/FGUI/Partner/ReplacePartnerPanel/PartnerReplacePartnerPanelCtrl.cs
  35. 6 2
      Assets/Scripts/Business/Runtime/FGUI/Partner/SbBagPanel/PartnerSbBagPanelCtrl.cs
  36. 4 1
      Assets/Scripts/Business/Runtime/FGUI/Partner/SbMainPanel/PartnerSbMainPanelCtrl.cs
  37. 13 8
      Assets/Scripts/Business/Runtime/FGUI/Partner/SbStrengthPanel/PartnerSbStrengthPanelCtrl.cs
  38. 6 1
      Assets/Scripts/Business/Runtime/Network/Controllers/ActMingwenJibanPushCtrl.cs
  39. 2 2
      Assets/Scripts/Business/Runtime/Network/Controllers/ActShengBingPushCtrl.cs
  40. 1 1
      Assets/Scripts/Business/Runtime/Network/Controllers/ActShengbingJibanPushCtrl.cs
  41. 3 1
      Assets/Scripts/Business/Runtime/Network/Controllers/ShengbingUnlockJibanAllResponseCtrl.cs
  42. 1 0
      Assets/Scripts/Business/Runtime/Network/Controllers/ShengbingUnlockJibanResponseCtrl.cs
  43. 14 8
      fl-fgui-project/assets/Partner/Book/BookAddDetailPanel.xml
  44. 3 3
      fl-fgui-project/assets/Partner/Book/item/BookDetailListItem.xml
  45. 1 2
      fl-fgui-project/assets/Partner/Epigraph/EpiMainPanel.xml

BIN
Assets/Res/Addressable/FGUI/Partner/Partner_atlas0.png


BIN
Assets/Res/Addressable/FGUI/Partner/Partner_atlas0_1.png


BIN
Assets/Res/Addressable/FGUI/Partner/Partner_fui.bytes


+ 25 - 0
Assets/Scripts/Business/Runtime/Data/Epigraph/EpigraphData.cs

@@ -10,6 +10,7 @@ namespace FL.Data
 {
     public class EpigraphData : DataSingleton<EpigraphData>, IDisposable
     {
+        #region 铭文库
         private Dictionary<int, EpigraphAttributes> _epiMap = new();
         private Dictionary<long, EpigraphAttributes> _epiUIDMap = new();
         public List<EpigraphAttributes> EpiList
@@ -94,7 +95,31 @@ namespace FL.Data
                 _epiUIDMap.Add(epiAttr.UID, epiAttr);
             }
         }
+        #endregion
+        #region 羁绊
+        public readonly Dictionary<int, bool> JibanMap = new Dictionary<int, bool>();
 
+        public void ClearJibanActive()
+        {
+            JibanMap.Clear();
+        }
+
+        public void SetJibanActiveState(int jibanId, int level)
+        {
+            var id = 100000 + jibanId * 1000 + level;
+            if (JibanMap.ContainsKey(jibanId))
+            {
+                JibanMap.Remove(id);
+            }
+            JibanMap.Add(id, true);
+        }
+
+        public bool GetJibaIsActive(int jibanId, int level)
+        {
+            var id = 100000 + jibanId * 1000 + level;
+            return JibanMap.GetValueOrDefault(id, false);
+        }
+        #endregion
         /// <summary>
         /// 获取铭文当前的阶级
         /// </summary>

+ 13 - 8
Assets/Scripts/Business/Runtime/Data/Partners/PartnersData.cs

@@ -61,11 +61,12 @@ namespace FL.Data
         public Dictionary<int, int> UpSbPosMap { get; private set; } = new();
         public Dictionary<long, int> UpSbUIDPosMap { get; private set; } = new();
         public Dictionary<int, int> UpSbMap { get; private set; } = new();
+
         public void ClearSbUpMap()
         {
             UpSbMap.Clear();
-
         }
+
         public void UpdateUpSbPosMap()
         {
             UpSbUIDPosMap.Clear();
@@ -298,23 +299,27 @@ namespace FL.Data
         }
         #endregion
         #region 羁绊
-        private Dictionary<int, bool> _map = new Dictionary<int, bool>();
+        public readonly Dictionary<int, bool> JibanMap = new Dictionary<int, bool>();
 
-        public void ClearJibanRwd()
+        public void ClearJibanActive()
         {
-            _map.Clear();
+            JibanMap.Clear();
         }
 
-        public void SetJibanRwdState(int jibanId, int level)
+        public void SetJibanActiveState(int jibanId, int level)
         {
             var id = 100000 + jibanId * 1000 + level;
-            _map.Add(id, true);
+            if (JibanMap.ContainsKey(jibanId))
+            {
+                JibanMap.Remove(id);
+            }
+            JibanMap.Add(id, true);
         }
 
-        public bool GetJibanRwdIsGot(int jibanId, int level)
+        public bool GetJibaIsActive(int jibanId, int level)
         {
             var id = 100000 + jibanId * 1000 + level;
-            return _map.GetValueOrDefault(id, false);
+            return JibanMap.GetValueOrDefault(id, false);
         }
         #endregion
         /// <summary>

+ 12 - 0
Assets/Scripts/Business/Runtime/Data/Partners/PartnersService.cs

@@ -159,6 +159,18 @@ namespace FL.Data
             NetModule.Request(param);
         }
 
+        public void RequestJibanRwdGet(int rwdId)
+        {
+            var param = new ShengbingUnlockJibanRequest() { jiban = rwdId };
+            NetModule.Request(param);
+        }
+
+        public void RequestJibanRwdGetAll(int collectId)
+        {
+            var param = new ShengbingUnlockJibanAllRequest() { collectId = collectId };
+            NetModule.Request(param);
+        }
+
         public void OpenUpPartnerMode(int id)
         {
             PartnersData.Instance.UpModeSelect = id;

+ 8 - 0
Assets/Scripts/Business/Runtime/Event/EventDefine.cs

@@ -182,6 +182,14 @@
         /// 上阵界面的圣兵选择
         /// </summary>
         PartnerUpSelect,
+        /// <summary>
+        /// 领取羁绊奖励
+        /// </summary>
+        PartnerJibanRwdGet,
+        /// <summary>
+        /// 一键领取羁绊奖励
+        /// </summary>
+        PartnerJibanRwdGetAll,
         #endregion
         #region Toasts Tips 3400 - 3499
         ShowTips = 3400,

+ 5 - 3
Assets/Scripts/Business/Runtime/FGUI/Main/HomeBottomPanel/MainHomeBottomPanelCtrl.cs

@@ -1,4 +1,6 @@
-/// #pkgName FGUI包名
+
+
+/// #pkgName FGUI包名
 /// #panelName UIPanel名字
 /// #UIName = $"{#pkgName}{#panelName}" UIKey名字
 /// 该脚本由模板创建
@@ -83,7 +85,7 @@ namespace FL.FGUI
             return index switch
             {
                 1 => UIKeys.PlayerMainPanel,
-                2 => UIKeys.PartnerMainPanel,
+                2 => UIKeys.PartnerSbMainPanel,
                 3 => UIKeys.PartnerEpiMainPanel,
                 6 => UIKeys.DragonEggTreasurePanel,
                 _ => null,
@@ -92,7 +94,7 @@ namespace FL.FGUI
         private int KeyToIndex(UIKey uiKey)
         {
             if (uiKey == UIKeys.PlayerMainPanel) return 1;
-            if (uiKey == UIKeys.PartnerMainPanel) return 2;
+            if (uiKey == UIKeys.PartnerSbMainPanel) return 2;
             if (uiKey == UIKeys.PartnerEpiMainPanel) return 3;
             if (uiKey == UIKeys.DragonEggTreasurePanel) return 6;
             return -1;

+ 38 - 8
Assets/Scripts/Business/Runtime/FGUI/Partner/BookAddDetailPanel/PartnerBookAddDetailPanelCtrl.cs

@@ -4,7 +4,10 @@
 /// 该脚本由模板创建
 /// created by cb 2024
 
+using System.Collections.Generic;
 using FairyGUI;
+using FL.Data;
+using XGame.Database;
 using XGame.Framework.UI;
 
 namespace FL.FGUI
@@ -18,21 +21,48 @@ namespace FL.FGUI
         protected override void OnEnable(object intent)
         {
             AddUIListenres();
+            _type = (int)intent;
         }
+
         protected override void OnDisable()
         {
             RemoveUIListenres();
         }
-        #region UI事件
-        private void AddUIListenres()
-        {
 
-        }
-        private void RemoveUIListenres()
-        {
+        #region UI事件
+        private void AddUIListenres() { }
 
-        }
+        private void RemoveUIListenres() { }
 
         #endregion
+        private int _type;
+
+        private void ShowUI()
+        {
+            var addMap = new Dictionary<int, int>();
+            foreach (var item in PartnersData.Instance.JibanMap)
+            {
+                var table = collect_rewardTableRepo.Get(item.Key);
+                if (table == null)
+                    continue;
+                var collectTable = collectTableRepo.Get(table.CollectId);
+                XGame.Framework.Assert.IsNotNull(collectTable, $"羁绊不存在,id{table.CollectId}");
+                if (collectTable.Type != _type) continue;
+                //for(int i=0;i < table.Attribute.Length, i += 2)
+                //{
+                //    if (addMap.TryGetValue(table.Attribute[i], out var add))
+                //    {
+                //        addMap.Remove(table.Attribute[i]);
+                //    }
+                //    addMap.Add(table.Attribute[i], add + table.Attribute[i+1]);
+                //}
+            }
+            var list = new List<PartnerBookAttrTextParam>();
+            foreach (var item in addMap)
+            {
+                list.Add(new PartnerBookAttrTextParam() { AttrId = item.Key, Val = item.Value });
+            }
+            VM.List.BindDatas(list);
+        }
     }
-}
+}

+ 3 - 0
Assets/Scripts/Business/Runtime/FGUI/Partner/BookAddDetailPanel/PartnerBookAddDetailPanelVM.Gen.cs

@@ -18,11 +18,14 @@ namespace FL.FGUI
     /// </summary>
     public partial class PartnerBookAddDetailPanelVM : FguiViewModel
     {
+        public CommonBackGroundNestedView MaskBg { get; private set; }
         public GLabel PopWin2 { get; private set; }
         public GList List { get; private set; }
 
         protected override void BindComponents(GComponent panel, IUIViewAdapter adapter)
         {
+            MaskBg = adapter.CreateNested<CommonBackGroundNestedView>(new FguiNested(panel.GetChild("MaskBg").asCom), true);
+            AddChild(MaskBg);
             PopWin2 = panel.GetChild("PopWin2") as GLabel;
             List = panel.GetChild("List") as GList;
             List.Init(typeof(PartnerBookAttrTextItemView), adapter.CreateListItem);

+ 5 - 0
Assets/Scripts/Business/Runtime/FGUI/Partner/BookAttrTextItem/PartnerBookAttrTextItemCtrl.cs

@@ -5,6 +5,7 @@
 /// created by cb 2024
 
 using FairyGUI;
+using XGame.Database;
 using XGame.Framework.UI;
 
 namespace FL.FGUI
@@ -34,5 +35,9 @@ namespace FL.FGUI
         }
 
         #endregion
+        public void OnRefresh(int index, PartnerBookAttrTextParam data)
+        {
+
+        }
     }
 }

+ 6 - 2
Assets/Scripts/Business/Runtime/FGUI/Partner/BookAttrTextItem/PartnerBookAttrTextItemView.ListItem.cs

@@ -14,8 +14,12 @@ namespace FL.FGUI
         void IGListItemHandle.OnRefresh(int index, object data)
         {
             ItemIndex = index;
-            //Ctrl.OnRefresh(index, data as GListData);
-            throw new System.NotImplementedException("业务需要实现: PartnerBookAttrTextItemViewCtrl.OnRefresh()");
+            Ctrl.OnRefresh(index, data as PartnerBookAttrTextParam);
         }
     }
+    public class PartnerBookAttrTextParam
+    {
+        public int AttrId;
+        public int Val;
+    }
 }

+ 66 - 10
Assets/Scripts/Business/Runtime/FGUI/Partner/BookDetailListItem/PartnerBookDetailListItemCtrl.cs

@@ -4,7 +4,10 @@
 /// 该脚本由模板创建
 /// created by cb 2024
 
+using System.Collections.Generic;
 using FairyGUI;
+using FL.Data;
+using FL.Data.Items;
 using XGame.Database;
 using XGame.Framework.UI;
 
@@ -20,36 +23,89 @@ namespace FL.FGUI
         {
             AddUIListenres();
         }
+
         protected override void OnDisable()
         {
             RemoveUIListenres();
         }
+
         #region UI事件
         private void AddUIListenres()
         {
             VM.GotoBtn.onClick.Add(OnClickGotoBtn);
             VM.GetBtn.onClick.Add(OnClickGetBtn);
-
         }
+
         private void RemoveUIListenres()
         {
             VM.GotoBtn.onClick.Remove(OnClickGotoBtn);
             VM.GetBtn.onClick.Remove(OnClickGetBtn);
-
-        }
-        private void OnClickGotoBtn(EventContext context)
-        {
         }
+
+        private void OnClickGotoBtn(EventContext context) { }
+
         private void OnClickGetBtn(EventContext context)
         {
+            PartnersService.Instance.RequestJibanRwdGet(_id);
         }
 
         #endregion
+        private int _id;
 
-        public void OnRefresh(int index, collect_rewardTable table)
-        {
-            VM.DescLabel.text = table.Name;
-
+        public void OnRefresh(int index, collect_rewardTable table)
+        {
+            _id = table.Id;
+            VM.DescLabel.text = table.Name;
+            var item = new ItemBase();
+            item.Init(table.Reward[0], table.Reward[1]);
+            VM.ItemBtn.Ctrl.ShowUI(item);
+            var list = new List<PartnerBookTextParam>();
+            for (int i = 0; i < table.Attribute.Length; i += 2)
+            {
+                list.Add(
+                    new PartnerBookTextParam()
+                    {
+                        attrId = table.Attribute[i],
+                        val = table.Attribute[i + 1],
+                    }
+                );
+            }
+            VM.List.BindDatas(list);
+            var collect = collectTableRepo.Get(table.CollectId);
+            XGame.Framework.Assert.IsNotNull(collect);
+            var starLv = 0;
+            foreach (var id in collect.Param)
+            {
+                if (
+                    collect.Type == 1
+                    && PartnersData.Instance.TryGetPartnerAttrByTableId(id, out var attr)
+                )
+                {
+                    starLv += attr.RisingStarLv;
+                }
+                else if (
+                    collect.Type == 2
+                    && EpigraphData.Instance.TryGetEpigraphAttrByTableId(id, out var epi)
+                )
+                {
+                    starLv += epi.StarLv;
+                }
+            }
+            if (starLv >= table.Unlock)
+            {
+                if (PartnersData.Instance.GetJibaIsActive(table.CollectId, table.Level))
+                {
+                    VM.State.selectedIndex = 2;
+                }
+                else
+                {
+                    VM.State.selectedIndex = 1;
+                }
+            }
+            else
+            {
+                VM.State.selectedIndex = 0;
+            }
         }
     }
-}
+}

+ 19 - 8
Assets/Scripts/Business/Runtime/FGUI/Partner/BookTextItem/PartnerBookTextItemCtrl.cs

@@ -5,6 +5,7 @@
 /// created by cb 2024
 
 using FairyGUI;
+using XGame.Database;
 using XGame.Framework.UI;
 
 namespace FL.FGUI
@@ -19,20 +20,30 @@ namespace FL.FGUI
         {
             AddUIListenres();
         }
+
         protected override void OnDisable()
         {
             RemoveUIListenres();
         }
-        #region UI事件
-        private void AddUIListenres()
-        {
 
-        }
-        private void RemoveUIListenres()
-        {
+        #region UI事件
+        private void AddUIListenres() { }
 
-        }
+        private void RemoveUIListenres() { }
 
         #endregion
+        public void OnRefresh(int index, PartnerBookTextParam param)
+        {
+            var attr = AttrDescTableRepo.Get(param.attrId);
+            XGame.Framework.Assert.IsNotNull(attr);
+            if (attr.Num_type > 0)
+            {
+                VM.TitleLabel.text = $"{attr.ShowName}+{param.val / 100}%";
+            }
+            else
+            {
+                VM.TitleLabel.text = $"{attr.ShowName}+{param.val}";
+            }
+        }
     }
-}
+}

+ 6 - 2
Assets/Scripts/Business/Runtime/FGUI/Partner/BookTextItem/PartnerBookTextItemView.ListItem.cs

@@ -14,8 +14,12 @@ namespace FL.FGUI
         void IGListItemHandle.OnRefresh(int index, object data)
         {
             ItemIndex = index;
-            //Ctrl.OnRefresh(index, data as GListData);
-            throw new System.NotImplementedException("业务需要实现: PartnerBookTextItemViewCtrl.OnRefresh()");
+            Ctrl.OnRefresh(index, data as PartnerBookTextParam);
         }
     }
+    public class PartnerBookTextParam
+    {
+        public int attrId;
+        public int val;
+    }
 }

+ 4 - 4
Assets/Scripts/Business/Runtime/FGUI/Partner/DetailsPanel/PartnerDetailsPanelCtrl.cs

@@ -141,8 +141,8 @@ namespace FL.FGUI
                 UIKeys.PartnerEpiChangePanel,
                 new PartnerEpiChangePanelCtrlParam()
                 {
-                    PlanId = PartnersData.Instance.UsePlanId,
-                    SlotId = -1,
+                    //PlanId = PartnersData.Instance.UsePlanId,
+                    //SlotId = -1,
                     SbId = _partnerId,
                 }
             );
@@ -160,8 +160,8 @@ namespace FL.FGUI
                 UIKeys.PartnerEpiChangePanel,
                 new PartnerEpiChangePanelCtrlParam()
                 {
-                    PlanId = PartnersData.Instance.UsePlanId,
-                    SlotId = -1,
+                    //PlanId = PartnersData.Instance.UsePlanId,
+                    //SlotId = -1,
                     SbId = _partnerId,
                 }
             );

+ 0 - 3
Assets/Scripts/Business/Runtime/FGUI/Partner/EpiBagListItem/PartnerEpiBagListItemCtrl.cs

@@ -49,9 +49,6 @@ namespace FL.FGUI
                 new PartnerEpiDetailInfoParam()
                 {
                     EpigraphId = _id,
-                    PlanId = PartnersData.Instance.UsePlanId,
-                    SlotId = -1,
-                    PartnerId = 0
                 }
             );
         }

+ 58 - 5
Assets/Scripts/Business/Runtime/FGUI/Partner/EpiBookDetailPanel/PartnerEpiBookDetailPanelCtrl.cs

@@ -6,6 +6,7 @@
 
 using System.Collections.Generic;
 using FairyGUI;
+using FL.Data;
 using XGame.Database;
 using XGame.Framework.UI;
 
@@ -17,10 +18,6 @@ namespace FL.FGUI
     /// <typeparam name=""></typeparam>
     public partial class PartnerEpiBookDetailPanelCtrl : UIController<PartnerEpiBookDetailPanelVM>
     {
-        private bool _initView = false;
-        private int _curId;
-        private List<int> _list;
-
         protected override void OnEnable(object intent)
         {
             _curId = (int)intent;
@@ -40,6 +37,8 @@ namespace FL.FGUI
             VM.LeftBtn.onClick.Add(OnClickLeftBtn);
             VM.RightBtn.onClick.Add(OnClickRightBtn);
             VM.GetBtn.onClick.Add(OnClickGetBtn);
+            EventSingle.Instance.AddListener(EventDefine.PartnerJibanRwdGet, OnRwdGet);
+            EventSingle.Instance.AddListener(EventDefine.PartnerJibanRwdGetAll, OnRwdGet);
         }
 
         private void RemoveUIListenres()
@@ -47,6 +46,13 @@ namespace FL.FGUI
             VM.LeftBtn.onClick.Remove(OnClickLeftBtn);
             VM.RightBtn.onClick.Remove(OnClickRightBtn);
             VM.GetBtn.onClick.Remove(OnClickGetBtn);
+            EventSingle.Instance.RemoveListener(EventDefine.PartnerJibanRwdGet, OnRwdGet);
+            EventSingle.Instance.RemoveListener(EventDefine.PartnerJibanRwdGetAll, OnRwdGet);
+        }
+
+        private void OnRwdGet(int eventId, object args)
+        {
+            UpdateList();
         }
 
         private void OnClickLeftBtn(EventContext context)
@@ -59,9 +65,51 @@ namespace FL.FGUI
             SelectOffset(1);
         }
 
-        private void OnClickGetBtn(EventContext context) { }
+        private void OnClickGetBtn(EventContext context)
+        {
+            var collectTable = collectTableRepo.Get(_curId);
+            var starLv = 0;
+            foreach (var id in collectTable.Param)
+            {
+                if (
+                    collectTable.Type == 1
+                    && PartnersData.Instance.TryGetPartnerAttrByTableId(id, out var attr)
+                )
+                {
+                    starLv += attr.RisingStarLv;
+                }
+                else if (
+                    collectTable.Type == 2
+                    && EpigraphData.Instance.TryGetEpigraphAttrByTableId(id, out var epi)
+                )
+                {
+                    starLv += epi.StarLv;
+                }
+            }
+            var rwdList = collect_rewardTableRepo.GetCollectRwdList(_curId);
+            var canGet = false;
+            foreach (var item in rwdList)
+            {
+                if (
+                    starLv > item.Unlock
+                    && !PartnersData.Instance.GetJibaIsActive(item.CollectId, item.Level)
+                )
+                {
+                    canGet = true;
+                    break;
+                }
+            }
+            if (canGet)
+            {
+                PartnersService.Instance.RequestJibanRwdGetAll(_curId);
+            }
+        }
 
         #endregion
+        private bool _initView = false;
+        private int _curId;
+        private List<int> _list;
+
         private void InitView()
         {
             if (_initView)
@@ -84,6 +132,11 @@ namespace FL.FGUI
             XGame.Framework.Assert.IsNotNull(table, $"羁绊表不存在,id:{_curId}");
             VM.List.BindDatas(table.Param);
             VM.NameLabel.text = table.Name;
+            UpdateList();
+        }
+
+        private void UpdateList()
+        {
             var list = collect_rewardTableRepo.GetCollectRwdList(_curId);
             VM.RwdList.BindDatas(list);
         }

+ 4 - 2
Assets/Scripts/Business/Runtime/FGUI/Partner/EpiBookPanel/PartnerEpiBookPanelCtrl.cs

@@ -1,4 +1,3 @@
-
 /// #pkgName FGUI包名
 /// #panelName UIPanel名字
 /// #UIName = $"{#pkgName}{#panelName}" UIKey名字
@@ -39,7 +38,10 @@ namespace FL.FGUI
             VM.TotalAddBtn.onClick.Remove(OnClickTotalAddBtn);
         }
 
-        private void OnClickTotalAddBtn(EventContext context) { }
+        private void OnClickTotalAddBtn()
+        {
+            Context.UI.OpenAsync(UIKeys.PartnerBookAddDetailPanel, 2);
+        }
 
         #endregion
         #region 属性

+ 27 - 26
Assets/Scripts/Business/Runtime/FGUI/Partner/EpiChangeListItem/PartnerEpiChangeListItemCtrl.cs

@@ -46,9 +46,10 @@ namespace FL.FGUI
         #endregion
 
         #region 属性
-        private int _sbId;
+        //private int _sbId;
         private int _mwId;
-        private int _planId;
+
+        //private int _planId;
         private int _curSelectId;
         #endregion
 
@@ -56,9 +57,9 @@ namespace FL.FGUI
         #region 页面
         public void OnRefresh(int index, EpiChangeListData data)
         {
-            _sbId = data.SbId;
+            //_sbId = data.SbId;
             _mwId = data.MwId;
-            _planId = data.PlanId;
+            //_planId = data.PlanId;
             _curSelectId = data.CurSelectId;
             UpEpiInfo();
         }
@@ -80,28 +81,28 @@ namespace FL.FGUI
                 Log.Error($"铭文数据不存在,id:{_mwId}");
                 return;
             }
-            if (_planId != PartnersData.Instance.UsePlanId)
-            {
-                if (!PartnersData.Instance.TryGetPlan(_planId, out var plan))
-                {
-                    Log.Error($"方案信息不存在,planid:{_planId}");
-                    return;
-                }
-                var isUP = false;
-                foreach (var slot in plan.Slots)
-                {
-                    if (slot.MwId == _mwId)
-                    {
-                        isUP = true;
-                        break;
-                    }
-                }
-                VM.IsUp.selectedIndex = isUP ? 1 : 0;
-            }
-            else
-            {
-                VM.IsUp.selectedIndex = info.PartnerId > 0 ? 1 : 0;
-            }
+            //if (_planId != PartnersData.Instance.UsePlanId)
+            //{
+            //    if (!PartnersData.Instance.TryGetPlan(_planId, out var plan))
+            //    {
+            //        Log.Error($"方案信息不存在,planid:{_planId}");
+            //        return;
+            //    }
+            //    var isUP = false;
+            //    foreach (var slot in plan.Slots)
+            //    {
+            //        if (slot.MwId == _mwId)
+            //        {
+            //            isUP = true;
+            //            break;
+            //        }
+            //    }
+            //    VM.IsUp.selectedIndex = isUP ? 1 : 0;
+            //}
+            //else
+            //{
+            VM.IsUp.selectedIndex = info.PartnerId > 0 ? 1 : 0;
+            //}
         }
         #endregion
     }

+ 5 - 5
Assets/Scripts/Business/Runtime/FGUI/Partner/EpiChangeListItem/PartnerEpiChangeListItemView.ListItem.cs

@@ -25,15 +25,15 @@ namespace FL.FGUI
 
     public struct EpiChangeListData
     {
-        public int SbId { get; private set; }
+        //public int SbId { get; private set; }
         public int MwId { get; private set; }
-        public int PlanId { get; private set; }
+        //public int PlanId { get; private set; }
         public int CurSelectId { get; private set; }
 
-        public EpiChangeListData(int planId, int sbId, int mwId, int curSelectId)
+        public EpiChangeListData(int mwId, int curSelectId)
         {
-            PlanId = planId;
-            SbId = sbId;
+            //PlanId = planId;
+            //SbId = sbId;
             MwId = mwId;
             CurSelectId = curSelectId;
         }

+ 67 - 72
Assets/Scripts/Business/Runtime/FGUI/Partner/EpiChangePanel/PartnerEpiChangePanelCtrl.cs

@@ -16,15 +16,15 @@ namespace FL.FGUI
     {
         public int SbId;
 
-        /// <summary>
-        /// 方案id
-        /// </summary>
-        public int PlanId;
+        ///// <summary>
+        ///// 方案id
+        ///// </summary>
+        //public int PlanId;
 
-        /// <summary>
-        /// 方案内槽位,如果有planId则必填
-        /// </summary>
-        public int SlotId;
+        ///// <summary>
+        ///// 方案内槽位,如果有planId则必填
+        ///// </summary>
+        //public int SlotId;
     }
 
     /// <summary>
@@ -37,8 +37,8 @@ namespace FL.FGUI
         {
             var param = intent as PartnerEpiChangePanelCtrlParam;
             _sbId = param.SbId;
-            _planId = param.PlanId;
-            _slotId = param.SlotId;
+            //_planId = param.PlanId;
+            //_slotId = param.SlotId;
             AddUIListenres();
             InitView();
             UpView();
@@ -74,17 +74,11 @@ namespace FL.FGUI
             var id = (int)args;
             if (id == _curSelectId)
             {
-                Context.UI.OpenAsync(
-                    UIKeys.PartnerEpiDetailInfo,
-                    new PartnerEpiDetailInfoParam()
-                    {
-                        EpigraphId = _curSelectId,
-                        PlanId = _planId,
-                        SlotId = _slotId,
-                        PartnerId = _sbId,
-                    }
-                );
-                Context.ClosePanel();
+                //Context.UI.OpenAsync(
+                //    UIKeys.PartnerEpiDetailInfo,
+                //    new PartnerEpiDetailInfoParam() { EpigraphId = _curSelectId }
+                //);
+                //Context.ClosePanel();
                 return;
             }
             _curSelectId = id;
@@ -94,32 +88,32 @@ namespace FL.FGUI
         private void OnClickUpBtn(EventContext eventContext)
         {
             var id = _curSelectId;
-            if (_planId == PartnersData.Instance.UsePlanId)
-            {
-                if (!PartnersData.Instance.TryGetPartnerAttrByTableId(_sbId, out var info))
-                {
-                    Context.ShowTips(StringDefine.PartnerEmptyTips);
-                    return;
-                }
-                if (id == info.EpigraphId)
-                    return;
-                EpigraphService.Instance.RequestEpiInset(_sbId, id);
-                Context.ClosePanel();
-            }
-            else if (_planId >= 0 && _slotId >= 0 && _sbId > 0)
+            //if (_planId == PartnersData.Instance.UsePlanId)
+            //{
+            if (!PartnersData.Instance.TryGetPartnerAttrByTableId(_sbId, out var info))
             {
-                var plan = PartnersData.Instance.GetPlanById(_planId);
-                foreach (var slot in plan.Slots)
-                {
-                    if (slot.MwId == id)
-                    {
-                        Context.ShowTips(StringDefine.EpigraphAlreadyUpTips);
-                        return;
-                    }
-                }
-                PartnersService.Instance.RequestUpdatePlanMw(_planId, _slotId, _sbId, id);
-                Context.ClosePanel();
+                Context.ShowTips(StringDefine.PartnerEmptyTips);
+                return;
             }
+            if (id == info.EpigraphId)
+                return;
+            EpigraphService.Instance.RequestEpiInset(_sbId, id);
+            Context.ClosePanel();
+            //}
+            //else if (_planId >= 0 && _slotId >= 0 && _sbId > 0)
+            //{
+            //    var plan = PartnersData.Instance.GetPlanById(_planId);
+            //    foreach (var slot in plan.Slots)
+            //    {
+            //        if (slot.MwId == id)
+            //        {
+            //            Context.ShowTips(StringDefine.EpigraphAlreadyUpTips);
+            //            return;
+            //        }
+            //    }
+            //    PartnersService.Instance.RequestUpdatePlanMw(_planId, _slotId, _sbId, id);
+            //    Context.ClosePanel();
+            //}
         }
         #endregion
         #region 属性
@@ -129,8 +123,9 @@ namespace FL.FGUI
         /// 圣兵id
         /// </summary>
         private int _sbId;
-        private int _planId;
-        private int _slotId;
+
+        //private int _planId;
+        //private int _slotId;
         private List<EpiChangeListData> _list;
         private int _curSelectId;
         #endregion
@@ -147,39 +142,39 @@ namespace FL.FGUI
         private void UpView()
         {
             var epiList = EpigraphData.Instance.EpiList;
-            if (_slotId < 0)
+            //if (_slotId < 0)
+            //{
+            if (!PartnersData.Instance.TryGetPartnerAttrByTableId(_sbId, out var attr))
+            {
+                Log.Error($"圣兵数据不存在,id:{_sbId}");
+                return;
+            }
+            if (attr.EpigraphId > 0)
             {
-                if (!PartnersData.Instance.TryGetPartnerAttrByTableId(_sbId, out var attr))
-                {
-                    Log.Error($"圣兵数据不存在,id:{_sbId}");
-                    return;
-                }
-                if (attr.EpigraphId > 0)
-                {
-                    _curSelectId = attr.EpigraphId;
-                }
-                else
-                {
-                    _curSelectId = epiList[0].TableId;
-                }
+                _curSelectId = attr.EpigraphId;
             }
             else
             {
-                var slot = PartnersData.Instance.GetPlanSlot(_planId, _slotId);
-                if (slot == null || slot.MwId == 0)
-                {
-                    _curSelectId = epiList[0].TableId;
-                }
-                else
-                {
-                    _curSelectId = slot.MwId;
-                }
+                _curSelectId = epiList[0].TableId;
             }
+            //}
+            //else
+            //{
+            //    var slot = PartnersData.Instance.GetPlanSlot(_planId, _slotId);
+            //    if (slot == null || slot.MwId == 0)
+            //    {
+            //        _curSelectId = epiList[0].TableId;
+            //    }
+            //    else
+            //    {
+            //        _curSelectId = slot.MwId;
+            //    }
+            //}
             var list = new List<EpiChangeListData>();
             _list = list;
             foreach (var epi in epiList)
             {
-                list.Add(new EpiChangeListData(_planId, _sbId, epi.TableId, _curSelectId));
+                list.Add(new EpiChangeListData(epi.TableId, _curSelectId));
             }
             VM.List.BindDatas(list);
         }
@@ -190,7 +185,7 @@ namespace FL.FGUI
             var list = new List<EpiChangeListData>();
             foreach (var epi in epiList)
             {
-                list.Add(new EpiChangeListData(_planId, _sbId, epi.TableId, _curSelectId));
+                list.Add(new EpiChangeListData(epi.TableId, _curSelectId));
             }
             _list = list;
             VM.List.BindDatas(list);

+ 115 - 128
Assets/Scripts/Business/Runtime/FGUI/Partner/EpiDetailInfo/PartnerEpiDetailInfoCtrl.cs

@@ -15,14 +15,7 @@ namespace FL.FGUI
 {
     public class PartnerEpiDetailInfoParam
     {
-        public int PlanId;
-
-        /// <summary>
-        /// 槽位id,-1为非更换界面打开的详情
-        /// </summary>
-        public int SlotId;
         public int EpigraphId;
-        public int PartnerId;
     }
 
     /// <summary>
@@ -33,17 +26,11 @@ namespace FL.FGUI
     {
         #region 属性
         private int _mwId;
-        private int _planId;
-        private int _slotId;
-        private int _partnerId;
         #endregion
         protected override void OnEnable(object intent)
         {
             var param = intent as PartnerEpiDetailInfoParam;
             _mwId = param.EpigraphId;
-            _planId = param.PlanId;
-            _slotId = param.SlotId;
-            _partnerId = param.PartnerId;
             AddUIListenres();
             UpView();
         }
@@ -95,105 +82,105 @@ namespace FL.FGUI
                 Log.Error($"铭文数据不存在tableId:{_mwId}");
                 return;
             }
-            if (PartnersData.Instance.UsePlanId == _planId)
-            {
-                EpigraphService.Instance.RequestEpiInset(info.PartnerId, 0);
-            }
-            else
-            {
-                if (!PartnersData.Instance.TryGetPlan(_planId, out var plan))
-                {
-                    Context.ShowTips(StringDefine.PartnerPlanEmptyTips);
-                    return;
-                }
-                var caoId = -1;
-                var sbId = 0;
-                foreach (var slot in plan.Slots)
-                {
-                    if (slot.MwId == _mwId)
-                    {
-                        caoId = slot.CaoId;
-                        sbId = slot.SbId;
-                        break;
-                    }
-                }
-                if (sbId == 0 || caoId < 0)
-                {
-                    Context.ShowTips(StringDefine.EpigraphNotInPlanTips);
-                    return;
-                }
-                PartnersService.Instance.RequestUpdatePlanMw(_planId, caoId, sbId, 0);
-            }
+            //if (PartnersData.Instance.UsePlanId == _planId)
+            //{
+            EpigraphService.Instance.RequestEpiInset(info.PartnerId, 0);
+            //}
+            //else
+            //{
+            //    if (!PartnersData.Instance.TryGetPlan(_planId, out var plan))
+            //    {
+            //        Context.ShowTips(StringDefine.PartnerPlanEmptyTips);
+            //        return;
+            //    }
+            //    var caoId = -1;
+            //    var sbId = 0;
+            //    foreach (var slot in plan.Slots)
+            //    {
+            //        if (slot.MwId == _mwId)
+            //        {
+            //            caoId = slot.CaoId;
+            //            sbId = slot.SbId;
+            //            break;
+            //        }
+            //    }
+            //    if (sbId == 0 || caoId < 0)
+            //    {
+            //        Context.ShowTips(StringDefine.EpigraphNotInPlanTips);
+            //        return;
+            //    }
+            //    PartnersService.Instance.RequestUpdatePlanMw(_planId, caoId, sbId, 0);
+            //}
             Context.ClosePanel();
         }
 
         private void OnClickUpBtn(EventContext context)
         {
-            if (_planId == PartnersData.Instance.UsePlanId)
+            //if (_planId == PartnersData.Instance.UsePlanId)
+            //{
+            if (!EpigraphData.Instance.TryGetEpigraphAttrByTableId(_mwId, out var attr))
             {
-                if (!EpigraphData.Instance.TryGetEpigraphAttrByTableId(_mwId, out var attr))
-                {
-                    Context.ShowTips(StringDefine.EpigraphEmptyTips);
-                    return;
-                }
-                if (attr.PartnerId > 0)
-                {
-                    Context.ShowTips(StringDefine.EpigraphAlreadyUpTips);
-                    return;
-                }
-                if (_partnerId > 0)
-                {
-                    if (
-                        !PartnersData.Instance.TryGetPartnerAttrByTableId(
-                            _partnerId,
-                            out var partnerAttr
-                        )
-                    )
-                    {
-                        Context.ShowTips(StringDefine.PartnerEmptyTips);
-                        return;
-                    }
-                    EpigraphService.Instance.RequestEpiInset(_partnerId, _mwId);
-                }
-                else
-                {
-                    EpigraphService.Instance.OpenUpMode(_mwId);
-                }
+                Context.ShowTips(StringDefine.EpigraphEmptyTips);
+                return;
             }
-            else
+            if (attr.PartnerId > 0)
             {
-                if (!PartnersData.Instance.TryGetPlan(_planId, out var plan))
-                {
-                    Context.ShowTips(StringDefine.PartnerPlanEmptyTips);
-                    return;
-                }
-                PartnerPlanSlot curSlot = null;
-                foreach (var slot in plan.Slots)
-                {
-                    if (slot.MwId == _mwId)
-                    {
-                        curSlot = slot;
-                        break;
-                    }
-                }
-                if (curSlot != null)
-                {
-                    Context.ShowTips(StringDefine.EpigraphAlreadyUpTips);
-                    return;
-                }
-                var targetSlot = PartnersData.Instance.GetPlanSlot(_planId, _slotId);
-                if (targetSlot == null || targetSlot.SbId == 0)
-                {
-                    Context.ShowTips(StringDefine.PartnerCurSlotNoSbTips);
-                    return;
-                }
-                PartnersService.Instance.RequestUpdatePlanMw(
-                    _planId,
-                    _slotId,
-                    targetSlot.SbId,
-                    _mwId
-                );
+                Context.ShowTips(StringDefine.EpigraphAlreadyUpTips);
+                return;
             }
+            //if (_partnerId > 0)
+            //{
+            //    if (
+            //        !PartnersData.Instance.TryGetPartnerAttrByTableId(
+            //            _partnerId,
+            //            out var partnerAttr
+            //        )
+            //    )
+            //    {
+            //        Context.ShowTips(StringDefine.PartnerEmptyTips);
+            //        return;
+            //    }
+            //    EpigraphService.Instance.RequestEpiInset(_partnerId, _mwId);
+            //}
+            //else
+            //{
+            EpigraphService.Instance.OpenUpMode(_mwId);
+            //}
+            //}
+            //else
+            //{
+            //    if (!PartnersData.Instance.TryGetPlan(_planId, out var plan))
+            //    {
+            //        Context.ShowTips(StringDefine.PartnerPlanEmptyTips);
+            //        return;
+            //    }
+            //    PartnerPlanSlot curSlot = null;
+            //    foreach (var slot in plan.Slots)
+            //    {
+            //        if (slot.MwId == _mwId)
+            //        {
+            //            curSlot = slot;
+            //            break;
+            //        }
+            //    }
+            //    if (curSlot != null)
+            //    {
+            //        Context.ShowTips(StringDefine.EpigraphAlreadyUpTips);
+            //        return;
+            //    }
+            //    var targetSlot = PartnersData.Instance.GetPlanSlot(_planId, _slotId);
+            //    if (targetSlot == null || targetSlot.SbId == 0)
+            //    {
+            //        Context.ShowTips(StringDefine.PartnerCurSlotNoSbTips);
+            //        return;
+            //    }
+            //    PartnersService.Instance.RequestUpdatePlanMw(
+            //        _planId,
+            //        _slotId,
+            //        targetSlot.SbId,
+            //        _mwId
+            //    );
+            //}
             Context.ClosePanel();
         }
 
@@ -238,33 +225,33 @@ namespace FL.FGUI
 
         private void ShowUpDownBtn()
         {
-            if (_planId == PartnersData.Instance.UsePlanId)
+            //if (_planId == PartnersData.Instance.UsePlanId)
+            //{
+            if (!EpigraphData.Instance.TryGetEpigraphAttrByTableId(_mwId, out var epi))
             {
-                if (!EpigraphData.Instance.TryGetEpigraphAttrByTableId(_mwId, out var epi))
-                {
-                    Log.Error($"铭文数据不存在,id:{_mwId}");
-                    return;
-                }
-                VM.Up.selectedIndex = epi.PartnerId > 0 ? 1 : 0;
-            }
-            else
-            {
-                if (!PartnersData.Instance.TryGetPlan(_planId, out var plan))
-                {
-                    Log.Error($"方案信息不存在,planId:{_planId}");
-                    return;
-                }
-                var isFind = false;
-                foreach (var slot in plan.Slots)
-                {
-                    if (slot.MwId == _mwId)
-                    {
-                        isFind = true;
-                        break;
-                    }
-                }
-                VM.Up.selectedIndex = isFind ? 1 : 0;
+                Log.Error($"铭文数据不存在,id:{_mwId}");
+                return;
             }
+            VM.Up.selectedIndex = epi.PartnerId > 0 ? 1 : 0;
+            //}
+            //else
+            //{
+            //    if (!PartnersData.Instance.TryGetPlan(_planId, out var plan))
+            //    {
+            //        Log.Error($"方案信息不存在,planId:{_planId}");
+            //        return;
+            //    }
+            //    var isFind = false;
+            //    foreach (var slot in plan.Slots)
+            //    {
+            //        if (slot.MwId == _mwId)
+            //        {
+            //            isFind = true;
+            //            break;
+            //        }
+            //    }
+            //    VM.Up.selectedIndex = isFind ? 1 : 0;
+            //}
         }
 
         private void UpDescInfo()

+ 45 - 39
Assets/Scripts/Business/Runtime/FGUI/Partner/EpiMainPanel/PartnerEpiMainPanelCtrl.cs

@@ -23,10 +23,12 @@ namespace FL.FGUI
     {
         private bool _initialized = false;
         private bool _showPlanSwitch = false;
-        private Controller _switchBtnCtrl;
+
+        //private Controller _switchBtnCtrl;
 
         protected override void OnEnable(object intent)
         {
+            VM.PlanNested.Disable();
             AddUIListenres();
             AddEventListenres();
             InitList();
@@ -45,7 +47,7 @@ namespace FL.FGUI
         {
             VM.OneUpBtn.onClick.Add(OnClickOneUpBtn);
             VM.OneStrongBtn.onClick.Add(OnClickOneStrongBtn);
-            VM.ChangeBtn.onClick.Add(OnClickChangeBtn);
+            //VM.ChangeBtn.onClick.Add(OnClickChangeBtn);
             VM.MaskBtn.onClick.Add(OnClickMaskBtn);
         }
 
@@ -53,20 +55,20 @@ namespace FL.FGUI
         {
             VM.OneUpBtn.onClick.Remove(OnClickOneUpBtn);
             VM.OneStrongBtn.onClick.Remove(OnClickOneStrongBtn);
-            VM.ChangeBtn.onClick.Remove(OnClickChangeBtn);
+            //VM.ChangeBtn.onClick.Remove(OnClickChangeBtn);
             VM.MaskBtn.onClick.Remove(OnClickMaskBtn);
         }
 
-        private void OnClickChangeBtn(EventContext context)
-        {
-            _showPlanSwitch = !_showPlanSwitch;
-            if (EpigraphData.Instance.UpModeSelect > 0)
-            {
-                EpigraphService.Instance.FinishUpMode();
-            }
-            ShowPlanNested();
-            RefreshBagEpigraph();
-        }
+        //private void OnClickChangeBtn(EventContext context)
+        //{
+        //    _showPlanSwitch = !_showPlanSwitch;
+        //    if (EpigraphData.Instance.UpModeSelect > 0)
+        //    {
+        //        EpigraphService.Instance.FinishUpMode();
+        //    }
+        //    ShowPlanNested();
+        //    RefreshBagEpigraph();
+        //}
 
         private void OnClickMaskBtn(EventContext context)
         {
@@ -145,6 +147,12 @@ namespace FL.FGUI
         private void OnEpiUpSelect(int eventId, object args)
         {
             var sbId = (int)args;
+            if (sbId == 0)
+            {
+                Context.ShowTips(StringDefine.PartnerCurSlotNoSbTips);
+                EpigraphService.Instance.FinishUpMode();
+                return;
+            }
             if (EpigraphData.Instance.UpModeSelect > 0)
             {
                 EpigraphService.Instance.RequestEpiInset(sbId, EpigraphData.Instance.UpModeSelect);
@@ -153,7 +161,7 @@ namespace FL.FGUI
 
         private void OnReName(int eventId, object args)
         {
-            UpdatePlanName();
+            //UpdatePlanName();
         }
 
         private void OnUpdateAll(int eventId, object args)
@@ -164,7 +172,7 @@ namespace FL.FGUI
 
         private void OnPlanChange(int eventId, object args)
         {
-            UpdatePlanName();
+            //UpdatePlanName();
             RefreshBagEpigraph();
             RefreshGoneUpPartners();
         }
@@ -184,7 +192,7 @@ namespace FL.FGUI
         {
             if (_showPlanSwitch)
             {
-                ShowPlanNested();
+                //ShowPlanNested();
                 RefreshBagEpigraph();
             }
             ShowUpMode();
@@ -202,7 +210,7 @@ namespace FL.FGUI
                 return;
             VM.UpList.ListType = EGListType.None;
             VM.BagList.ListType = EGListType.Virtual;
-            _switchBtnCtrl = VM.ChangeBtn.GetController("arr");
+            //_switchBtnCtrl = VM.ChangeBtn.GetController("arr");
             _initialized = true;
         }
 
@@ -210,14 +218,13 @@ namespace FL.FGUI
         {
             RefreshBagEpigraph();
             RefreshGoneUpPartners();
-            UpdatePlanName();
-            ShowPlanNested();
+            //UpdatePlanName();
+            //ShowPlanNested();
             ShowUpMode();
         }
 
         private void RefreshGoneUpPartners()
         {
-            var plan = PartnersData.Instance.CurUsePlan;
             var list = new List<int>();
             for (int i = 0; i < PartnersData.GoneUpLimit; i++)
             {
@@ -226,11 +233,10 @@ namespace FL.FGUI
             VM.UpList.BindDatas(list);
         }
 
-        private void UpdatePlanName()
-        {
-            var plan = PartnersData.Instance.CurUsePlan;
-            VM.PlanLabel.text = plan.Name;
-        }
+        //private void UpdatePlanName()
+        //{
+        //    //VM.PlanLabel.text = plan.Name;
+        //}
 
         private void RefreshBagEpigraph()
         {
@@ -241,20 +247,20 @@ namespace FL.FGUI
             ShowOwnerAttr();
         }
 
-        private void ShowPlanNested()
-        {
-            VM.State.selectedIndex = _showPlanSwitch ? 1 : 0;
-            _switchBtnCtrl.selectedIndex = _showPlanSwitch ? 1 : 0;
-            if (_showPlanSwitch)
-            {
-                VM.PlanNested.Enable(null);
-                VM.PlanNested.Ctrl.ShowUI();
-            }
-            else
-            {
-                VM.PlanNested.Disable();
-            }
-        }
+        //private void ShowPlanNested()
+        //{
+        //    VM.State.selectedIndex = _showPlanSwitch ? 1 : 0;
+        //    //_switchBtnCtrl.selectedIndex = _showPlanSwitch ? 1 : 0;
+        //    if (_showPlanSwitch)
+        //    {
+        //        VM.PlanNested.Enable(null);
+        //        VM.PlanNested.Ctrl.ShowUI();
+        //    }
+        //    else
+        //    {
+        //        VM.PlanNested.Disable();
+        //    }
+        //}
 
         private void ShowUpMode()
         {

+ 0 - 2
Assets/Scripts/Business/Runtime/FGUI/Partner/EpiMainPanel/PartnerEpiMainPanelVM.Gen.cs

@@ -21,7 +21,6 @@ namespace FL.FGUI
         public Controller State { get; private set; }
         public Controller SelectMode { get; private set; }
         public GTextField PlanLabel { get; private set; }
-        public GButton ChangeBtn { get; private set; }
         public GList BagList { get; private set; }
         public GTextField HaveLabel { get; private set; }
         public GTextField AttrLabel { get; private set; }
@@ -36,7 +35,6 @@ namespace FL.FGUI
             State = panel.GetController("State");
             SelectMode = panel.GetController("SelectMode");
             PlanLabel = panel.GetChild("PlanLabel") as GTextField;
-            ChangeBtn = panel.GetChild("ChangeBtn") as GButton;
             BagList = panel.GetChild("BagList") as GList;
             BagList.Init(typeof(PartnerEpiBagListItemView), adapter.CreateListItem);
             HaveLabel = panel.GetChild("HaveLabel") as GTextField;

+ 3 - 3
Assets/Scripts/Business/Runtime/FGUI/Partner/EpiPlanListItem/PartnerEpiPlanListItemCtrl.cs

@@ -50,8 +50,8 @@ namespace FL.FGUI
                 UIKeys.PartnerEpiChangePanel,
                 new PartnerEpiChangePanelCtrlParam()
                 {
-                    PlanId = _planId,
-                    SlotId = _slotId,
+                    //PlanId = _planId,
+                    //SlotId = _slotId,
                     SbId = _sbId,
                 }
             );
@@ -61,7 +61,7 @@ namespace FL.FGUI
         {
             Context.UI.OpenAsync(
                 UIKeys.PartnerReplacePartnerPanel,
-                new PartnerReplacePartnerPanelCtrlParam() { PlanId = _planId, SlotId = _slotId }
+                new PartnerReplacePartnerPanelCtrlParam() { SlotId = _slotId }
             );
         }
         #endregion

+ 16 - 31
Assets/Scripts/Business/Runtime/FGUI/Partner/EpiUpListItem/PartnerEpiUpListItemCtrl.cs

@@ -4,6 +4,7 @@
 /// 该脚本由模板创建
 /// created by cb 2024
 
+using System.Collections.Generic;
 using FairyGUI;
 using FL.Data;
 using XGame;
@@ -58,12 +59,7 @@ namespace FL.FGUI
                 }
                 Context.UI.OpenAsync(
                     UIKeys.PartnerEpiChangePanel,
-                    new PartnerEpiChangePanelCtrlParam()
-                    {
-                        PlanId = PartnersData.Instance.UsePlanId,
-                        SlotId = -1,
-                        SbId = _sbId,
-                    }
+                    new PartnerEpiChangePanelCtrlParam() { SbId = _sbId }
                 );
             }
         }
@@ -76,49 +72,38 @@ namespace FL.FGUI
             }
             else if (_sbId > 0)
             {
-                Context.UI.OpenAsync(
-                    UIKeys.PartnerDetailsPanel,
-                    new PartnerDetailsPanelParam()
-                    {
-                        PlanId = PartnersData.Instance.UsePlanId,
-                        SlotId = -1,
-                        PartnerId = _sbId,
-                    }
-                );
+                //Context.UI.OpenAsync(
+                //    UIKeys.PartnerDetailsPanel,
+                //    new PartnerDetailsPanelParam()
+                //    {
+                //        PlanId = PartnersData.Instance.UsePlanId,
+                //        SlotId = -1,
+                //        PartnerId = _sbId,
+                //    }
+                //);
             }
             else
             {
-                Context.UI.OpenAsync(
-                    UIKeys.PartnerReplacePartnerPanel,
-                    new PartnerReplacePartnerPanelCtrlParam()
-                    {
-                        PlanId = PartnersData.Instance.UsePlanId,
-                        SlotId = _slotId,
-                    }
-                );
+                Context.UI.OpenAsync(UIKeys.PartnerSbUpPanel, _caoId);
             }
         }
 
         private void OnClickDownBtn(EventContext context)
         {
-            var slotData = PartnersData.Instance.CurUsePlan.GetSlot(_slotId);
-            if (slotData.SbId <= 0)
-                return;
-            PartnersService.Instance.RequestPartnerDown(slotData.SbId);
+            PartnersService.Instance.RequestPartnerDownNew(_sbId);
         }
 
         #endregion
 
         #region 属性
-        private int _slotId;
+        private int _caoId;
         private int _sbId;
         #endregion
 
         public void OnRefresh(int index, int slotId)
         {
-            _slotId = slotId;
-            var slotData = PartnersData.Instance.CurUsePlan.GetSlot(slotId);
-            _sbId = slotData?.SbId ?? 0;
+            _caoId = slotId;
+            _sbId = PartnersData.Instance.UpSbMap.GetValueOrDefault(slotId, 0);
             VM.IsUp.selectedIndex = _sbId > 0 ? 0 : 1;
             VM.PartnerItem.Ctrl.ShowUI(_sbId);
         }

+ 2 - 2
Assets/Scripts/Business/Runtime/FGUI/Partner/InfoListItem/PartnerInfoListItemCtrl.cs

@@ -58,8 +58,8 @@ namespace FL.FGUI
                 UIKeys.PartnerEpiChangePanel,
                 new PartnerEpiChangePanelCtrlParam()
                 {
-                    PlanId = PartnersData.Instance.UsePlanId,
-                    SlotId = -1,
+                    //PlanId = PartnersData.Instance.UsePlanId,
+                    //SlotId = -1,
                     SbId = _id,
                 }
             );

+ 59 - 7
Assets/Scripts/Business/Runtime/FGUI/Partner/PartnerBookDetailPanel/PartnerPartnerBookDetailPanelCtrl.cs

@@ -1,4 +1,3 @@
-
 /// #pkgName FGUI包名
 /// #panelName UIPanel名字
 /// #UIName = $"{#pkgName}{#panelName}" UIKey名字
@@ -7,6 +6,7 @@
 
 using System.Collections.Generic;
 using FairyGUI;
+using FL.Data;
 using XGame.Database;
 using XGame.Framework.UI;
 
@@ -19,10 +19,6 @@ namespace FL.FGUI
     public partial class PartnerPartnerBookDetailPanelCtrl
         : UIController<PartnerPartnerBookDetailPanelVM>
     {
-        private bool _initView = false;
-        private int _curId;
-        private List<int> _list;
-
         protected override void OnEnable(object intent)
         {
             _curId = (int)intent;
@@ -42,6 +38,8 @@ namespace FL.FGUI
             VM.LeftBtn.onClick.Add(OnClickLeftBtn);
             VM.RightBtn.onClick.Add(OnClickRightBtn);
             VM.GetBtn.onClick.Add(OnClickGetBtn);
+            EventSingle.Instance.AddListener(EventDefine.PartnerJibanRwdGet, OnRwdGet);
+            EventSingle.Instance.AddListener(EventDefine.PartnerJibanRwdGetAll, OnRwdGet);
         }
 
         private void RemoveUIListenres()
@@ -49,6 +47,13 @@ namespace FL.FGUI
             VM.LeftBtn.onClick.Remove(OnClickLeftBtn);
             VM.RightBtn.onClick.Remove(OnClickRightBtn);
             VM.GetBtn.onClick.Remove(OnClickGetBtn);
+            EventSingle.Instance.RemoveListener(EventDefine.PartnerJibanRwdGet, OnRwdGet);
+            EventSingle.Instance.RemoveListener(EventDefine.PartnerJibanRwdGetAll, OnRwdGet);
+        }
+
+        private void OnRwdGet(int eventId, object args)
+        {
+            UpdateList();
         }
 
         private void OnClickLeftBtn(EventContext context)
@@ -61,9 +66,51 @@ namespace FL.FGUI
             SelectOffset(1);
         }
 
-        private void OnClickGetBtn(EventContext context) { }
+        private void OnClickGetBtn(EventContext context)
+        {
+            var collectTable = collectTableRepo.Get(_curId);
+            var starLv = 0;
+            foreach (var id in collectTable.Param)
+            {
+                if (
+                    collectTable.Type == 1
+                    && PartnersData.Instance.TryGetPartnerAttrByTableId(id, out var attr)
+                )
+                {
+                    starLv += attr.RisingStarLv;
+                }
+                else if (
+                    collectTable.Type == 2
+                    && EpigraphData.Instance.TryGetEpigraphAttrByTableId(id, out var epi)
+                )
+                {
+                    starLv += epi.StarLv;
+                }
+            }
+            var rwdList = collect_rewardTableRepo.GetCollectRwdList(_curId);
+            var canGet = false;
+            foreach (var item in rwdList)
+            {
+                if (
+                    starLv > item.Unlock
+                    && !PartnersData.Instance.GetJibaIsActive(item.CollectId, item.Level)
+                )
+                {
+                    canGet = true;
+                    break;
+                }
+            }
+            if (canGet)
+            {
+                PartnersService.Instance.RequestJibanRwdGetAll(_curId);
+            }
+        }
 
         #endregion
+        private bool _initView = false;
+        private int _curId;
+        private List<int> _list;
+
         private void InitView()
         {
             if (_initView)
@@ -71,7 +118,7 @@ namespace FL.FGUI
             _initView = true;
             VM.List.ListType = EGListType.None;
             VM.RwdList.ListType = EGListType.Virtual;
-            var tableList = collectTableRepo.GetAllPartnerCollectList();
+            var tableList = collectTableRepo.GetAllEpiCollectList();
             var list = new List<int>();
             foreach (var item in tableList)
             {
@@ -86,6 +133,11 @@ namespace FL.FGUI
             XGame.Framework.Assert.IsNotNull(table, $"羁绊表不存在,id:{_curId}");
             VM.List.BindDatas(table.Param);
             VM.NameLabel.text = table.Name;
+            UpdateList();
+        }
+
+        private void UpdateList()
+        {
             var list = collect_rewardTableRepo.GetCollectRwdList(_curId);
             VM.RwdList.BindDatas(list);
         }

+ 4 - 1
Assets/Scripts/Business/Runtime/FGUI/Partner/PartnerBookPanel/PartnerPartnerBookPanelCtrl.cs

@@ -39,7 +39,10 @@ namespace FL.FGUI
             VM.TotalAddBtn.onClick.Remove(OnClickTotalAddBtn);
         }
 
-        private void OnClickTotalAddBtn(EventContext context) { }
+        private void OnClickTotalAddBtn()
+        {
+            Context.UI.OpenAsync(UIKeys.PartnerBookAddDetailPanel, 2);
+        }
 
         #endregion
         #region 属性

+ 3 - 3
Assets/Scripts/Business/Runtime/FGUI/Partner/PartnerPlanListItem/PartnerPartnerPlanListItemCtrl.cs

@@ -50,8 +50,8 @@ namespace FL.FGUI
                 UIKeys.PartnerEpiChangePanel,
                 new PartnerEpiChangePanelCtrlParam()
                 {
-                    PlanId = _planId,
-                    SlotId = _slotId,
+                    //PlanId = _planId,
+                    //SlotId = _slotId,
                     SbId = _sbId,
                 }
             );
@@ -61,7 +61,7 @@ namespace FL.FGUI
         {
             Context.UI.OpenAsync(
                 UIKeys.PartnerReplacePartnerPanel,
-                new PartnerReplacePartnerPanelCtrlParam() { PlanId = _planId, SlotId = _slotId }
+                new PartnerReplacePartnerPanelCtrlParam() { SlotId = _slotId }
             );
         }
         #endregion

+ 2 - 3
Assets/Scripts/Business/Runtime/FGUI/Partner/PartnerUpListItem/PartnerPartnerUpListItemCtrl.cs

@@ -60,8 +60,8 @@ namespace FL.FGUI
                     UIKeys.PartnerEpiChangePanel,
                     new PartnerEpiChangePanelCtrlParam()
                     {
-                        PlanId = PartnersData.Instance.UsePlanId,
-                        SlotId = -1,
+                        //PlanId = PartnersData.Instance.UsePlanId,
+                        //SlotId = -1,
                         SbId = _sbId,
                     }
                 );
@@ -92,7 +92,6 @@ namespace FL.FGUI
                     UIKeys.PartnerReplacePartnerPanel,
                     new PartnerReplacePartnerPanelCtrlParam()
                     {
-                        PlanId = PartnersData.Instance.UsePlanId,
                         SlotId = _slotId,
                     }
                 );

+ 12 - 18
Assets/Scripts/Business/Runtime/FGUI/Partner/ReplacePartnerListItem/PartnerReplacePartnerListItemCtrl.cs

@@ -7,6 +7,7 @@
 
 using FairyGUI;
 using FL.Data;
+using System.Collections.Generic;
 using XGame;
 using XGame.Database;
 using XGame.Framework.UI;
@@ -15,7 +16,7 @@ namespace FL.FGUI
 {
     public interface IPartnerReplacePanelCtrl
     {
-        int PlanId { get; }
+        //int PlanId { get; }
         int SlotId { get; }
         int CurSelectId { get; }
     }
@@ -68,7 +69,7 @@ namespace FL.FGUI
         public void OnRefresh(int index, PartnerReplacePartnerListItemCtrlParam param)
         {
             _partnerId = param.PartnerId;
-            _planId = param.Ctrl.PlanId;
+            //_planId = param.Ctrl.PlanId;
             _slotId = param.Ctrl.SlotId;
             _curSelectedId = param.Ctrl.CurSelectId;
             var info = PartnersData.Instance.GetPartnerAttrByTableId(param.PartnerId);
@@ -78,22 +79,15 @@ namespace FL.FGUI
                 return;
             }
             ShowSelectState();
-            var plan = PartnersData.Instance.GetPlanById(param.Ctrl.PlanId);
-            if (plan == null)
-            {
-                Log.Error($"方案信息不存在,方案id:{param.Ctrl.PlanId}");
-                return;
-            }
-            var isUp = false;
-            foreach (var slot in plan.Slots)
-            {
-                if (slot.SbId == _partnerId)
-                {
-                    isUp = true;
-                    break;
-                }
-            }
-            VM.StateCtrl.selectedIndex = isUp ? 1 : 0;
+            //var plan = PartnersData.Instance.GetPlanById(param.Ctrl.PlanId);
+            //if (plan == null)
+            //{
+            //    Log.Error($"方案信息不存在,方案id:{param.Ctrl.PlanId}");
+            //    return;
+            //}
+            //var isUp = false;
+            var pos = PartnersData.Instance.UpSbPosMap.GetValueOrDefault(_partnerId, -1);
+            VM.StateCtrl.selectedIndex = pos >= 0 ? 1 : 0;
             var parterInfo = PartnerTableRepo.Get(param.PartnerId);
             VM.NameLabel.text = parterInfo?.Name ?? "";
             VM.PartnerItem.Ctrl.ShowUI(_partnerId);

+ 44 - 44
Assets/Scripts/Business/Runtime/FGUI/Partner/ReplacePartnerPanel/PartnerReplacePartnerPanelCtrl.cs

@@ -14,7 +14,7 @@ namespace FL.FGUI
 {
     public class PartnerReplacePartnerPanelCtrlParam
     {
-        public int PlanId;
+        //public int PlanId;
         public int SlotId;
     }
 
@@ -26,11 +26,11 @@ namespace FL.FGUI
         : UIController<PartnerReplacePartnerPanelVM>,
             IPartnerReplacePanelCtrl
     {
-        private int _planId;
+        //private int _planId;
         private int _slotId;
         private int _curSelectId;
 
-        public int PlanId => _planId;
+        //public int PlanId => _planId;
         public int SlotId => _slotId;
         public int CurSelectId => _curSelectId;
 
@@ -65,38 +65,41 @@ namespace FL.FGUI
                 Log.Error("当前选择圣兵id为0");
                 return;
             }
-            var plan = PartnersData.Instance.GetPlanById(_planId);
-            if (plan == null)
+            //var plan = PartnersData.Instance.GetPlanById(_planId);
+            //if (plan == null)
+            //{
+            //    Log.Error($"方案信息不存在id: {_planId}");
+            //    return;
+            //}
+            //foreach (var slot in plan.Slots)
+            //{
+            //    if (slot.SbId == CurSelectId)
+            //    {
+            //        Context.ShowTips(StringDefine.PartnerAlreadyUpTips);
+            //        return;
+            //    }
+            //}
+            var pos = PartnersData.Instance.UpSbPosMap.GetValueOrDefault(_curSelectId, -1);
+            if (pos >= 0)
             {
-                Log.Error($"方案信息不存在id: {_planId}");
+                Context.ShowTips(StringDefine.PartnerAlreadyUpTips);
                 return;
             }
-            foreach (var slot in plan.Slots)
-            {
-                if (slot.SbId == CurSelectId)
-                {
-                    Context.ShowTips(StringDefine.PartnerAlreadyUpTips);
-                    return;
-                }
-            }
             Context.ClosePanel();
-            if (_planId == PartnersData.Instance.UsePlanId)
-            {
-                PartnersService.Instance.RequestPartnerUp(_slotId, _curSelectId);
-            }
-            else
-            {
-                PartnersService.Instance.RequestUpdatePlanSb(_planId, _slotId, _curSelectId);
-            }
+            //if (_planId == PartnersData.Instance.UsePlanId)
+            //{
+            PartnersService.Instance.RequestPartnerUpNew(_slotId, _curSelectId);
+            //}
+            //else
+            //{
+            //    PartnersService.Instance.RequestUpdatePlanSb(_planId, _slotId, _curSelectId);
+            //}
         }
         #endregion
 
         private void AddEventListener()
         {
-            EventSingle.Instance.AddListener(
-                EventDefine.PartnerUpSelect,
-                SelectReplacePartner
-            );
+            EventSingle.Instance.AddListener(EventDefine.PartnerUpSelect, SelectReplacePartner);
             EventSingle.Instance.AddListener(EventDefine.PartnerBinding, OnInfoUpdate);
             EventSingle.Instance.AddListener(EventDefine.PartnerUp, OnInfoUpdate);
             EventSingle.Instance.AddListener(EventDefine.PartnerDown, OnInfoUpdate);
@@ -105,10 +108,7 @@ namespace FL.FGUI
 
         private void RemoveEventListener()
         {
-            EventSingle.Instance.RemoveListener(
-                EventDefine.PartnerUpSelect,
-                SelectReplacePartner
-            );
+            EventSingle.Instance.RemoveListener(EventDefine.PartnerUpSelect, SelectReplacePartner);
             EventSingle.Instance.RemoveListener(EventDefine.PartnerBinding, OnInfoUpdate);
             EventSingle.Instance.RemoveListener(EventDefine.PartnerUp, OnInfoUpdate);
             EventSingle.Instance.RemoveListener(EventDefine.PartnerDown, OnInfoUpdate);
@@ -125,17 +125,17 @@ namespace FL.FGUI
             var id = (int)args;
             if (id == _curSelectId)
             {
-                Context.UI.OpenAsync(
-                    UIKeys.PartnerDetailsPanel,
-                    new PartnerDetailsPanelParam()
-                    {
-                        PlanId = _planId,
-                        SlotId = _slotId,
-                        PartnerId = _curSelectId,
-                    }
-                );
-                Context.ClosePanel();
-                return;
+                //Context.UI.OpenAsync(
+                //    UIKeys.PartnerDetailsPanel,
+                //    new PartnerDetailsPanelParam()
+                //    {
+                //        PlanId = _planId,
+                //        SlotId = _slotId,
+                //        PartnerId = _curSelectId,
+                //    }
+                //);
+                //Context.ClosePanel();
+                //return;
             }
             _curSelectId = id;
             UpdateList();
@@ -144,15 +144,15 @@ namespace FL.FGUI
         private void ShowUI(PartnerReplacePartnerPanelCtrlParam param)
         {
             _slotId = param.SlotId;
-            _planId = param.PlanId;
-            var slot = PartnersData.Instance.GetPlanSlot(_planId, _slotId);
+            //_planId = param.PlanId;
+            //var slot = PartnersData.Instance.GetPlanSlot(_planId, _slotId);
             var list = PartnersData.Instance.PartnerList;
             if (list.Count <= 0)
             {
                 Log.Error($"圣兵库内不存在圣兵");
                 return;
             }
-            var sbId = slot?.SbId ?? 0;
+            var sbId = PartnersData.Instance.UpSbMap.GetValueOrDefault(_slotId, 0);
             _curSelectId = sbId > 0 ? sbId : list[0].TableId;
             UpdateList();
         }

+ 6 - 2
Assets/Scripts/Business/Runtime/FGUI/Partner/SbBagPanel/PartnerSbBagPanelCtrl.cs

@@ -8,8 +8,6 @@ using System.Collections.Generic;
 using System.Runtime.Remoting.Contexts;
 using FairyGUI;
 using FL.Data;
-using UnityEngine;
-using XGame;
 using XGame.Database;
 using XGame.Framework.Persistence;
 using XGame.Framework.UI;
@@ -60,6 +58,7 @@ namespace FL.FGUI
             EventSingle.Instance.AddListener(EventDefine.PartnerUpLevel, OnUpdateList);
             EventSingle.Instance.AddListener(EventDefine.PartnerStrongAll, OnUpdateList);
             EventSingle.Instance.AddListener(EventDefine.PartnerUpStar, OnUpdateList);
+            EventSingle.Instance.AddListener(EventDefine.PartnerBinding, OnUpdateList);
         }
 
         private void RemoveUIListenres()
@@ -76,6 +75,7 @@ namespace FL.FGUI
             EventSingle.Instance.RemoveListener(EventDefine.PartnerUpLevel, OnUpdateList);
             EventSingle.Instance.RemoveListener(EventDefine.PartnerStrongAll, OnUpdateList);
             EventSingle.Instance.RemoveListener(EventDefine.PartnerUpStar, OnUpdateList);
+            EventSingle.Instance.RemoveListener(EventDefine.PartnerBinding, OnUpdateList);
         }
 
         private void OnClickPanel()
@@ -127,6 +127,10 @@ namespace FL.FGUI
             }
             if (canUp)
                 PartnersService.Instance.RequestPartnerOneKeyStarUp();
+            else
+            {
+                Context.ShowTips(StringDefine.PartnerCantStarUpAll);
+            }
         }
 
         private void OnClickSortBtn(EventContext context)

+ 4 - 1
Assets/Scripts/Business/Runtime/FGUI/Partner/SbMainPanel/PartnerSbMainPanelCtrl.cs

@@ -50,6 +50,7 @@ namespace FL.FGUI
             EventSingle.Instance.AddListener(EventDefine.PartnerDown, OnSbUp);
             EventSingle.Instance.AddListener(EventDefine.PartnerUp, OnSbUp);
             EventSingle.Instance.AddListener(EventDefine.PartnerWearAll, OnSbUp);
+            EventSingle.Instance.AddListener(EventDefine.PartnerBinding, OnSbUp);
         }
 
         private void RemoveUIListenres()
@@ -71,8 +72,9 @@ namespace FL.FGUI
             EventSingle.Instance.RemoveListener(EventDefine.PartnerUpLevel, OnUpLevel);
             EventSingle.Instance.RemoveListener(EventDefine.PartnerUpStar, OnUpStar);
             EventSingle.Instance.RemoveListener(EventDefine.PartnerDown, OnSbUp);
-            EventSingle.Instance.RemoveListener(EventDefine.PartnerUp, OnSbUp);
+            EventSingle.Instance.RemoveListener(EventDefine.PartnerUp, OnSbUp);
             EventSingle.Instance.RemoveListener(EventDefine.PartnerWearAll, OnSbUp);
+            EventSingle.Instance.RemoveListener(EventDefine.PartnerBinding, OnSbUp);
         }
 
         private void OnSbUp(int eventId, object args)
@@ -80,6 +82,7 @@ namespace FL.FGUI
             RefreshGoneUpPartners(false);
             UpdateDetail();
         }
+
         private void OnUpLevel(int eventId, object args)
         {
             RefreshGoneUpPartners(false);

+ 13 - 8
Assets/Scripts/Business/Runtime/FGUI/Partner/SbStrengthPanel/PartnerSbStrengthPanelCtrl.cs

@@ -41,8 +41,9 @@ namespace FL.FGUI
             VM.StarUpBtn.VM.PanelEvent.Add(OnClickStarUp);
             VM.LevelUpBtn.VM.PanelEvent.Add(OnClickLevelUp);
             VM.DownBtn.onClick.Add(OnClickDownBtn);
-            EventSingle.Instance.AddListener(EventDefine.PartnerUpLevel, OnUpLevel);
-            EventSingle.Instance.AddListener(EventDefine.PartnerUpStar, OnUpStar);
+            EventSingle.Instance.AddListener(EventDefine.PartnerUpLevel, OnUpInfo);
+            EventSingle.Instance.AddListener(EventDefine.PartnerUpStar, OnUpInfo);
+            EventSingle.Instance.AddListener(EventDefine.PartnerBinding, OnEpiChange);
         }
 
         private void RemoveUIListenres()
@@ -54,8 +55,9 @@ namespace FL.FGUI
             VM.StarUpBtn.VM.PanelEvent.Remove(OnClickStarUp);
             VM.LevelUpBtn.VM.PanelEvent.Remove(OnClickLevelUp);
             VM.DownBtn.onClick.Remove(OnClickDownBtn);
-            EventSingle.Instance.RemoveListener(EventDefine.PartnerUpLevel, OnUpLevel);
-            EventSingle.Instance.RemoveListener(EventDefine.PartnerUpStar, OnUpStar);
+            EventSingle.Instance.RemoveListener(EventDefine.PartnerUpLevel, OnUpInfo);
+            EventSingle.Instance.RemoveListener(EventDefine.PartnerUpStar, OnUpInfo);
+            EventSingle.Instance.RemoveListener(EventDefine.PartnerBinding, OnEpiChange);
         }
 
         private void OnClickDownBtn(EventContext eventContext)
@@ -64,12 +66,12 @@ namespace FL.FGUI
             Context.ClosePanel();
         }
 
-        private void OnUpStar(int eventId, object args)
+        public void OnEpiChange(int eventId, object args)
         {
-            ShowInfo();
+            ShowEpi();
         }
 
-        private void OnUpLevel(int eventId, object args)
+        private void OnUpInfo(int eventId, object args)
         {
             ShowInfo();
         }
@@ -129,7 +131,10 @@ namespace FL.FGUI
 
         private void OnClickMwSet(EventContext context)
         {
-            //Context.UI.OpenAsync(UIKeys.PartnerEpiChangePanel, )
+            Context.UI.OpenAsync(
+                UIKeys.PartnerEpiChangePanel,
+                new PartnerEpiChangePanelCtrlParam() { SbId = _curSelectId }
+            );
         }
 
         #endregion

+ 6 - 1
Assets/Scripts/Business/Runtime/Network/Controllers/ActMingwenJibanPushCtrl.cs

@@ -1,3 +1,4 @@
+using FL.Data;
 using XGame.Framework.Network;
 
 namespace FL.Network
@@ -5,7 +6,11 @@ namespace FL.Network
     public class ActMingwenJibanPushCtrl : MsgController<ActMingwenJibanPush>
     {
         protected override void OnProcess(ActMingwenJibanPush message, object context)
-        {
+        {
+            foreach (var id in message.jiban)
+            {
+                PartnersData.Instance.SetJibanActiveState(id.jbId, id.level);
+            }
         }
     }
 }

+ 2 - 2
Assets/Scripts/Business/Runtime/Network/Controllers/ActShengBingPushCtrl.cs

@@ -7,10 +7,10 @@ namespace FL.Network
     {
         protected override void OnProcess(ActShengBingPush message, object context)
         {
-            PartnersData.Instance.ClearJibanRwd();
+            PartnersData.Instance.ClearJibanActive();
             foreach (var jiban in message.jiban)
             {
-                PartnersData.Instance.SetJibanRwdState(jiban.jbId, jiban.level);
+                PartnersData.Instance.SetJibanActiveState(jiban.jbId, jiban.level);
             }
             PartnersData.Instance.UsePlanId = message.useSuit;
             PartnersService.Instance.InitPartnerMap(message.shengbing);

+ 1 - 1
Assets/Scripts/Business/Runtime/Network/Controllers/ActShengbingJibanPushCtrl.cs

@@ -9,7 +9,7 @@ namespace FL.Network
         {
             foreach (var id in message.jiban)
             {
-                PartnersData.Instance.SetJibanRwdState(id.jbId, id.level);
+                PartnersData.Instance.SetJibanActiveState(id.jbId, id.level);
             }
         }
     }

+ 3 - 1
Assets/Scripts/Business/Runtime/Network/Controllers/ShengbingUnlockJibanAllResponseCtrl.cs

@@ -2,10 +2,12 @@ using XGame.Framework.Network;
 
 namespace FL.Network
 {
-    public class ShengbingUnlockJibanAllResponseCtrl : MsgController<ShengbingUnlockJibanAllResponse>
+    public class ShengbingUnlockJibanAllResponseCtrl
+        : MsgController<ShengbingUnlockJibanAllResponse>
     {
         protected override void OnProcess(ShengbingUnlockJibanAllResponse message, object context)
         {
+            EventSingle.Instance.Notify(EventDefine.PartnerJibanRwdGetAll);
         }
     }
 }

+ 1 - 0
Assets/Scripts/Business/Runtime/Network/Controllers/ShengbingUnlockJibanResponseCtrl.cs

@@ -6,6 +6,7 @@ namespace FL.Network
     {
         protected override void OnProcess(ShengbingUnlockJibanResponse message, object context)
         {
+            EventSingle.Instance.Notify(EventDefine.PartnerJibanRwdGet);
         }
     }
 }

+ 14 - 8
fl-fgui-project/assets/Partner/Book/BookAddDetailPanel.xml

@@ -1,13 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="756,1344" designImage="ui://2981jnh7kzs94o" designImageAlpha="72" designImageLayer="1">
   <displayList>
-    <component id="n0_ifoa" name="PopWin2" src="jofv3j" fileName="Components/PopWin/PopWin2.xml" pkg="gt6q23qw" xy="12,378" size="729,464">
+    <component id="n11_li13" name="MaskBg" src="c95i2g" fileName="BackGroundNested.xml" pkg="gt6q23qw" xy="378,672" pivot="0.5,0.5" anchor="true" size="1000,2000">
+      <relation target="" sidePair="middle-middle"/>
+    </component>
+    <component id="n0_ifoa" name="PopWin2" src="jofv3j" fileName="Components/PopWin/PopWin2.xml" pkg="gt6q23qw" xy="12,378" size="729,464" group="n10_li13">
       <Label title="总属性详情"/>
     </component>
-    <image id="n3_ifoa" name="n3" src="rwcw4" fileName="images/pop/tanchuangdiban2.png" pkg="gt6q23qw" xy="31,452" size="693,327"/>
-    <image id="n4_ifoa" name="n4" src="rwcw5" fileName="images/pop/tanchuangdiban3.png" pkg="gt6q23qw" xy="48,517" size="658,241"/>
-    <text id="n5_ifoa" name="n5" xy="298,471" pivot="0.5,0.5" size="160,36" fontSize="26" color="#49517e" align="center" text="累计拥有效果"/>
-    <list id="n1_ifoa" name="List" xy="72,525" size="621,217" overflow="scroll" lineGap="-3" defaultItem="ui://2981jnh7ifoa5c" autoItemSize="false" autoClearItems="true" scrollItemToViewOnClick="false">
+    <image id="n3_ifoa" name="n3" src="rwcw4" fileName="images/pop/tanchuangdiban2.png" pkg="gt6q23qw" xy="31,452" size="693,327" group="n10_li13"/>
+    <image id="n4_ifoa" name="n4" src="rwcw5" fileName="images/pop/tanchuangdiban3.png" pkg="gt6q23qw" xy="48,517" size="658,241" group="n10_li13"/>
+    <text id="n5_ifoa" name="n5" xy="298,471" pivot="0.5,0.5" size="160,36" group="n10_li13" fontSize="26" color="#49517e" align="center" text="累计拥有效果"/>
+    <list id="n1_ifoa" name="List" xy="72,525" size="621,217" group="n10_li13" overflow="scroll" lineGap="-3" defaultItem="ui://2981jnh7ifoa5c" autoItemSize="false" autoClearItems="true" scrollItemToViewOnClick="false">
       <item/>
       <item/>
       <item/>
@@ -18,9 +21,12 @@
       <item/>
       <item/>
     </list>
-    <text id="n7_ifoa" name="n7" xy="194,787" pivot="0.5,0.5" size="368,36" fontSize="26" color="#ffffff" align="center" text="当前应用的所有效果的合计数值"/>
-    <image id="n8_ifoa" name="n8" src="ifoa5d" fileName="Book/img/fenge.png" xy="28,484" color="#727aa8"/>
-    <image id="n9_ifoa" name="n9" src="ifoa5d" fileName="Book/img/fenge.png" xy="726,484" scale="-1,1" color="#727aa8"/>
+    <text id="n7_ifoa" name="n7" xy="194,787" pivot="0.5,0.5" size="368,36" group="n10_li13" fontSize="26" color="#ffffff" align="center" text="当前应用的所有效果的合计数值"/>
+    <image id="n8_ifoa" name="n8" src="ifoa5d" fileName="Book/img/fenge.png" xy="28,484" group="n10_li13" color="#727aa8"/>
+    <image id="n9_ifoa" name="n9" src="ifoa5d" fileName="Book/img/fenge.png" xy="726,484" group="n10_li13" scale="-1,1" color="#727aa8"/>
+    <group id="n10_li13" name="n10" xy="12,378" size="944,464" advanced="true">
+      <relation target="" sidePair="middle-middle"/>
+    </group>
   </displayList>
   <scriptData genuilayerifoa5b="4" gencodeifoa5b="1"/>
 </component>

+ 3 - 3
fl-fgui-project/assets/Partner/Book/item/BookDetailListItem.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="715,144" designImage="ui://2981jnh7kzs94q" designImageOffsetX="-58" designImageOffsetY="-488" designImageLayer="1">
-  <controller name="State" pages="0,,1,,2," selected="0">
+  <controller name="State" pages="0,,1,,2," selected="1">
     <remark page="0" value="未完成"/>
     <remark page="1" value="可领取"/>
     <remark page="2" value="已领取"/>
@@ -8,7 +8,7 @@
   <displayList>
     <image id="n57_kzs9" name="n57" src="kzs94x" fileName="Book/img/list01.png" xy="0,0" size="694,144"/>
     <image id="n58_kzs9" name="n58" src="kzs94y" fileName="Book/img/list02.png" xy="0,0" size="540,53"/>
-    <component id="n68_ifoa" name="ItemBtn" src="me3q0" fileName="ItemBase.xml" pkg="gt6q23qw" xy="14,17" scale="1.1,1.1"/>
+    <component id="n68_ifoa" name="ItemBtn" src="me3q0" fileName="ItemBase.xml" pkg="gt6q23qw" xy="13,16" scale="0.75,0.75"/>
     <image id="n67_ifoa" name="n67" src="ifoa59" fileName="Book/img/gou.png" xy="554,28">
       <gearDisplay controller="State" pages="2"/>
     </image>
@@ -21,7 +21,7 @@
       <Button title="可领取"/>
     </component>
     <text id="n61_kzs9" name="DescLabel" xy="131,16" size="320,36" fontSize="26" color="#2b2c31" align="center" ubb="true" autoClearText="true" text="羁绊内圣兵总星级达到[color=#1ef369]29[/color]星"/>
-    <list id="n63_kzs9" name="List" xy="132,60" size="376,71" defaultItem="ui://2981jnh7kzs950" autoClearItems="true">
+    <list id="n63_kzs9" name="List" xy="132,60" size="376,71" defaultItem="ui://2981jnh7kzs950" autoClearItems="true" scrollItemToViewOnClick="false">
       <item/>
       <item/>
     </list>

+ 1 - 2
fl-fgui-project/assets/Partner/Epigraph/EpiMainPanel.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="756,1344" designImage="ui://2981jnh7z6mw3f" designImageOffsetY="19" designImageAlpha="57" designImageLayer="1">
   <controller name="State" pages="0,bag,1,plan" selected="0"/>
-  <controller name="SelectMode" pages="0,,1," selected="1">
+  <controller name="SelectMode" pages="0,,1," selected="0">
     <remark page="0" value="正常"/>
     <remark page="1" value="上阵选择模式"/>
   </controller>
@@ -13,7 +13,6 @@
     </image>
     <image id="n18_v4ke" name="n18" src="v4keq" fileName="Epigraph/Images/img/planbg.png" xy="16,120" size="725,376" group="n5_vl6j"/>
     <text id="n4_vl6j" name="PlanLabel" xy="36,128" size="89,44" group="n5_vl6j" fontSize="32" color="#ffffff" align="center" vAlign="middle" bold="true" strokeColor="#000000" strokeSize="2" text="方案1"/>
-    <component id="n39_pu68" name="ChangeBtn" src="pu6849" fileName="Epigraph/Components/SwitchBtn.xml" xy="613,132" group="n5_vl6j"/>
     <group id="n5_vl6j" name="n5" xy="16,120" size="725,376"/>
     <list id="n9_vl6j" name="BagList" xy="29,562" size="699,507" group="n35_v4ke" layout="flow_hz" overflow="scroll" lineGap="22" colGap="14" defaultItem="ui://2981jnh7v4ke1i" autoClearItems="true" scrollItemToViewOnClick="false">
       <relation target="" sidePair="bottomext-bottom"/>