Kaynağa Gözat

套装养护红点

zhaoyang 2 yıl önce
ebeveyn
işleme
dd3831719a

+ 1 - 1
FGUIProject/assets/ClothingFoster/components/ListSuitItem.xml

@@ -8,7 +8,7 @@
     <component id="n15_pjip" name="progBar" src="py5ga" fileName="images/ProgressBar1.xml" xy="25,466" touchable="false">
       <ProgressBar value="10" max="10"/>
     </component>
-    <loader id="n16_pjip" name="rarity" xy="286,8" size="44,94" touchable="false" url="ui://eg2y0ldpd4iw52" autoSize="true"/>
+    <loader id="n16_pjip" name="rarity" xy="285,8" size="44,94" touchable="false" url="ui://eg2y0ldpd4iw52" autoSize="true"/>
     <image id="n17_pjip" name="imgLockBg" src="ysx92h" fileName="images/fzsj_andi.png" xy="0,1"/>
     <image id="n18_pjip" name="imgLock" src="py5ge" fileName="images/zhuxian_shuoto.png" xy="132,204"/>
   </displayList>

+ 13 - 6
GameClient/Assets/Game/HotUpdate/Data/RedDotDataManager.cs

@@ -266,16 +266,23 @@ namespace GFGGame
             return itemHas >= itemNeed && costHas >= costNeed;
         }
 
+        /// <summary>
+        /// 服装养护红点
+        /// </summary>
+        /// <param name="suitId"></param>
+        /// <returns></returns>
         public bool GetClothingFosterRed(int suitId)
         {
+            int index = SuitFosterDataManager.Instance.GetSuitFosterData(suitId).maintainStep;
+            SuitFosterCfg fosterCfg = SuitFosterCfgArray.Instance.GetCfgsBysuitId(suitId)[index];
 
-            return false;
-        }
-        public bool GetClothingFosterRed()
-        {
+            if (fosterCfg.materialsArr.Length == 0) return false;
+            int itemHas = ItemDataManager.GetItemNum(fosterCfg.materialsArr[0][0]);
+            int itemNeed = fosterCfg.materialsArr[0][1];
 
-            return false;
+            int costHas = ItemDataManager.GetItemNum(fosterCfg.costId);
+            int costNeed = fosterCfg.costNum;
+            return itemHas >= itemNeed && costHas >= costNeed;
         }
-
     }
 }

+ 2 - 1
GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingListView.cs

@@ -161,7 +161,6 @@ namespace GFGGame
             listItem.m_progBar.value = count;
             bool haveSuit = DressUpMenuSuitDataManager.CheckHaveSuit(suitId);
             listItem.m_imgLock.visible = listItem.m_imgLockBg.visible = !haveSuit;
-
             listItem.m_bg.onClick.Clear();
             listItem.m_bg.onClick.Add(() =>
             {
@@ -174,6 +173,8 @@ namespace GFGGame
                     ViewManager.Show(ViewName.SUIT_PARTS_DETAIL_VIEW, suitId, new object[] { ViewName.SUIT_PARTS_DETAIL_VIEW, this.viewData });
                 }
             });
+
+            RedDotController.Instance.SetComRedDot(listItem.target, RedDotDataManager.Instance.GetClothingFosterRed(suitId), "", 8, -3);
         }
 
         private void CheckGuide(object param)

+ 10 - 10
GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingView.cs

@@ -93,6 +93,7 @@ namespace GFGGame
             EventAgent.AddEventListener(ConstMessage.MAINTAIN_SUIT, OnListenerFoster);
             EventAgent.AddEventListener(ConstMessage.GET_MAINTAIN_SUIT_BONUS, OnListenerGetFosterReward);
             EventAgent.AddEventListener(ConstMessage.MAKE_NEW_SUIT, OnListenerRenew);
+            EventAgent.AddEventListener(ConstMessage.ITEM_CHANGED, UpdateFosterList);
         }
         protected override void OnShown()
         {
@@ -132,6 +133,7 @@ namespace GFGGame
             EventAgent.RemoveEventListener(ConstMessage.MAINTAIN_SUIT, OnListenerFoster);
             EventAgent.RemoveEventListener(ConstMessage.GET_MAINTAIN_SUIT_BONUS, OnListenerGetFosterReward);
             EventAgent.RemoveEventListener(ConstMessage.MAKE_NEW_SUIT, OnListenerRenew);
+            EventAgent.RemoveEventListener(ConstMessage.ITEM_CHANGED, UpdateFosterList);
         }
         private void OnClickBtnBack()
         {
@@ -213,7 +215,7 @@ namespace GFGGame
             UpdateFosterReward();
             _propertyList.Clear();
             _addPropertyList.Clear();
-            _ui.m_listFoster.numItems = SuitFosterCfgArray.Instance.GetCfgsBysuitId(_suitId).Count;
+            UpdateFosterList();
 
             SuitFosterDataManager.Instance.GetPropertyData(_suitId, _index, out _propertyList, out _addPropertyList);
             _ui.m_listProperty.numItems = _propertyList.Count;
@@ -226,13 +228,18 @@ namespace GFGGame
             _ui.m_comFosterReward.m_loaReward.url = ResPathUtil.GetIconPath(itemCfg);
             _ui.m_comFosterReward.m_c1.selectedIndex = state;
         }
-
+        private void UpdateFosterList()
+        {
+            _ui.m_listFoster.numItems = SuitFosterCfgArray.Instance.GetCfgsBysuitId(_suitId).Count;
+        }
         private void ListFosterItemRender(int index, GObject obj)
         {
             UI_ListFosterItem item = UI_ListFosterItem.Proxy(obj);
             item.target.data = index;
-            item.m_finish.selectedIndex = SuitFosterDataManager.Instance.GetFosterState(_suitId, index);
+            int state = SuitFosterDataManager.Instance.GetFosterState(_suitId, index);
+            item.m_finish.selectedIndex = state;
             item.m_txtName.text = SuitFosterDataManager.Instance.stepNames[index];
+            RedDotController.Instance.SetComRedDot(item.target, RedDotDataManager.Instance.GetClothingFosterRed(_suitId) && state == 1);
             UI_ListFosterItem.ProxyEnd();
         }
 
@@ -288,15 +295,8 @@ namespace GFGGame
         {
             _ui.m_comFosterAni.target.visible = true;
             _ui.m_comFosterAni.m_txtContent.text = string.Format("服装{0}中......", SuitFosterDataManager.Instance.stepNames[_index]);
-            // _ui.m_comFosterAni.m_proFoster.value = 0;
             string resPath = ResPathUtil.GetViewEffectPath("ui_gcdh", "ui_gcdh_" + (_index + 1));
             SceneController.AddObjectToView(_gameobject1, _wrapper1, _ui.m_comFosterAni.m_holder, resPath, out _gameobject1, out _wrapper1);
-            // _ui.m_comFosterAni.m_proFoster.TweenValue(100, 4f).OnComplete(() =>
-            // {
-            //     ViewManager.Show<SuitFosterFinishView>(new object[] { _suitId, _index, _propertyList });
-            //     UpdateFoster();
-            //     _ui.m_comFosterAni.target.visible = false;
-            // });
 
             _ui.m_comFosterAni.m_t0.Play(() =>
             {

BIN
GameClient/Assets/ResIn/UI/ClothingFoster/ClothingFoster_fui.bytes