何晓捷 преди 2 години
родител
ревизия
16a07df07a
променени са 100 файла, в които са добавени 1184 реда и са изтрити 457 реда
  1. 4 4
      FGUIProject/assets/Arena/components/ComValueInfo.xml
  2. 3 3
      FGUIProject/assets/Arena/components/ListFightRecordItem.xml
  3. 6 6
      FGUIProject/assets/Arena/components/ListRankItem3.xml
  4. 3 2
      FGUIProject/assets/CommonGame/ItemExchangeUI.xml
  5. 1 1
      FGUIProject/assets/CommonGame/components/ButtonInValueBar.xml
  6. 9 2
      FGUIProject/assets/CommonGame/components/ComponentValueBar.xml
  7. 1 3
      FGUIProject/assets/League/LeagueMemberUI.xml
  8. 1 1
      FGUIProject/assets/League/components/Button14.xml
  9. 6 2
      FGUIProject/assets/League/components/ListGiftButItem.xml
  10. BIN
      FGUIProject/assets/League/images/tb_suo_gold.png
  11. BIN
      FGUIProject/assets/League/images/yj_db_zz.png
  12. BIN
      FGUIProject/assets/League/images/yj_zz.png
  13. BIN
      FGUIProject/assets/League/imagesNew/dikuang_sx.png
  14. 3 1
      FGUIProject/assets/League/package.xml
  15. BIN
      FGUIProject/assets/Main/images/zjm_e_6.png
  16. 2 2
      FGUIProject/assets/RoleInfo/components/ComBtn.xml
  17. 1 0
      FGUIProject/assets/Store/StoreChargeAddUpUI.xml
  18. 1 0
      FGUIProject/assets/Store/StoreChargeUI.xml
  19. 2 1
      FGUIProject/assets/Store/StoreExchangeUI.xml
  20. 1 0
      FGUIProject/assets/Store/StoreGiftBagUI.xml
  21. 0 1
      FGUIProject/assets/Store/StoreUI.xml
  22. 2 2
      FGUIProject/assets/Store/components/ListChargeItem.xml
  23. 21 16
      FGUIProject/assets/Store/components/ListGiftItem.xml
  24. 15 13
      FGUIProject/assets/Store/components/ListShopItem.xml
  25. BIN
      FGUIProject/assets/Store/imagesNew/sc_lb_jsdb.png
  26. BIN
      FGUIProject/assets/Store/imagesNew/sc_lb_zz.png
  27. BIN
      FGUIProject/assets/Store/imagesNew/sc_yk_jsdb.png
  28. BIN
      FGUIProject/assets/Store/imagesNew/sc_yk_zz.png
  29. BIN
      FGUIProject/assets/Store/imagesNew/sc_yk_zz2.png
  30. 5 0
      FGUIProject/assets/Store/package.xml
  31. 4 14
      FGUIProject/assets/Task/BattlePassRewardUI.xml
  32. 6 3
      FGUIProject/assets/Task/BuyBattlePassLevelUI.xml
  33. 1 1
      FGUIProject/assets/Task/OpenBattlePassUI.xml
  34. 0 10
      FGUIProject/assets/Task/components/AddReduceButton.xml
  35. 3 3
      FGUIProject/assets/Task/components/BattlePassReward.xml
  36. 4 4
      FGUIProject/assets/Task/components/BattlePassRewardItem.xml
  37. 10 0
      FGUIProject/assets/Task/components/ButtonAdd.xml
  38. 10 0
      FGUIProject/assets/Task/components/ButtonReduce.xml
  39. 12 0
      FGUIProject/assets/Task/components/BuyBattlePassLevelBt.xml
  40. 7 7
      FGUIProject/assets/Task/components/ExpProcess.xml
  41. 15 0
      FGUIProject/assets/Task/components/ExpProcess2.xml
  42. 5 2
      FGUIProject/assets/Task/package.xml
  43. 47 44
      GameClient/Assets/Game/HotUpdate/Constant/ConstMessage.cs
  44. 1 0
      GameClient/Assets/Game/HotUpdate/Constant/ConstStoreSubId.cs
  45. 91 4
      GameClient/Assets/Game/HotUpdate/Data/BattlePassTaskDataManager.cs
  46. 1 1
      GameClient/Assets/Game/HotUpdate/Data/DailyTaskDataManager.cs
  47. 9 0
      GameClient/Assets/Game/HotUpdate/Data/FriendDataManager.cs
  48. 15 9
      GameClient/Assets/Game/HotUpdate/Data/ItemDataManager.cs
  49. 1 1
      GameClient/Assets/Game/HotUpdate/Data/RedDotDataManager.cs
  50. 10 2
      GameClient/Assets/Game/HotUpdate/Data/RoleDataManager.cs
  51. 79 37
      GameClient/Assets/Game/HotUpdate/Data/ShopDataManager.cs
  52. 11 10
      GameClient/Assets/Game/HotUpdate/Data/ShopViewManager.cs
  53. 2 2
      GameClient/Assets/Game/HotUpdate/Data/TaskDataManager.cs
  54. 71 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ButtonInValueBar.cs
  55. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ButtonInValueBar.cs.meta
  56. 36 22
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComponentValueBar.cs
  57. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ItemExchangeUI.cs
  58. 2 2
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_LeagueMemberUI.cs
  59. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_ListGiftButItem.cs
  60. 3 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_ListGiftItem.cs
  61. 3 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_ListShopItem.cs
  62. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreChargeAddUpUI.cs
  63. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreChargeUI.cs
  64. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreExchangeUI.cs
  65. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreGiftBagUI.cs
  66. 0 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreUI.cs
  67. 4 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Task/UI_BattlePassRewardUI.cs
  68. 15 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Task/UI_BuyBattlePassLevelUI.cs
  69. 1 4
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Task/UI_ExpProcess.cs
  70. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Task/UI_OpenBattlePassUI.cs
  71. 4 6
      GameClient/Assets/Game/HotUpdate/ServerProxy/ArenaSproxy.cs
  72. 16 8
      GameClient/Assets/Game/HotUpdate/ServerProxy/BattlePassTaskSProxy.cs
  73. 6 2
      GameClient/Assets/Game/HotUpdate/ServerProxy/CommonSProxy.cs
  74. 1 1
      GameClient/Assets/Game/HotUpdate/ServerProxy/FriendSProxy.cs
  75. 49 0
      GameClient/Assets/Game/HotUpdate/Utils/ItemUtil.cs
  76. 1 1
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaFightRecordView.cs
  77. 9 9
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaRankView.cs
  78. 5 5
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaView.cs
  79. 135 75
      GameClient/Assets/Game/HotUpdate/Views/Common/Controller/ValueBarController.cs
  80. 1 1
      GameClient/Assets/Game/HotUpdate/Views/Friend/FriendView.cs
  81. 3 4
      GameClient/Assets/Game/HotUpdate/Views/League/LeagueGiftView.cs
  82. 3 3
      GameClient/Assets/Game/HotUpdate/Views/League/LeagueMemberView.cs
  83. 32 15
      GameClient/Assets/Game/HotUpdate/Views/League/LeagueSkillUpView.cs
  84. 5 0
      GameClient/Assets/Game/HotUpdate/Views/League/LeagueView.cs
  85. 1 1
      GameClient/Assets/Game/HotUpdate/Views/Poem/PoemGalleryView.cs
  86. 18 6
      GameClient/Assets/Game/HotUpdate/Views/Store/ItemExchangeView.cs
  87. 11 2
      GameClient/Assets/Game/HotUpdate/Views/Store/StoreArenaView.cs
  88. 10 2
      GameClient/Assets/Game/HotUpdate/Views/Store/StoreChargeAddUpView.cs
  89. 9 1
      GameClient/Assets/Game/HotUpdate/Views/Store/StoreChargeView.cs
  90. 11 2
      GameClient/Assets/Game/HotUpdate/Views/Store/StoreExchangeView.cs
  91. 11 2
      GameClient/Assets/Game/HotUpdate/Views/Store/StoreGiftBagView.cs
  92. 4 13
      GameClient/Assets/Game/HotUpdate/Views/Store/StoreView.cs
  93. 82 44
      GameClient/Assets/Game/HotUpdate/Views/Task/BattlePassTaskView.cs
  94. 114 0
      GameClient/Assets/Game/HotUpdate/Views/Task/BuyBattlePassLevelView.cs
  95. 3 0
      GameClient/Assets/Game/HotUpdate/Views/Task/BuyBattlePassLevelView.cs.meta
  96. 39 3
      GameClient/Assets/Game/HotUpdate/Views/Task/OpenBattlePassView.cs
  97. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_fui.bytes
  98. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_fui.bytes
  99. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0!a.png
  100. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0.png

+ 4 - 4
FGUIProject/assets/Arena/components/ComValueInfo.xml

@@ -1,15 +1,15 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="277,254">
   <controller name="c1" alias="标签数量" pages="0,,1,,2,,3,,4,,5,,6,,7,,8,,9,,10,,11,,12,,13,,14," selected="0"/>
-  <controller name="c2" pages="0,,1," selected="1"/>
+  <controller name="c2" pages="0,,1," selected="0"/>
   <controller name="c3" pages="0,,1," selected="0"/>
   <displayList>
     <image id="n91_jcej" name="n91" src="jcej2h" fileName="imagesExport/jjsy_zldi.png" pkg="eg2y0ldp" xy="0,0" size="282,56" group="n92_jcej">
       <relation target="n82_jcej" sidePair="width-width"/>
     </image>
-    <text id="n82_jcej" name="txtFightScore" xy="48,7" size="219,39" group="n92_jcej" fontSize="28" color="#a07943" vars="true" text="竞技场战力:{value=000}"/>
+    <text id="n82_jcej" name="txtFightScore" xy="48,7" size="213,39" group="n92_jcej" fontSize="28" color="#a07943" vars="true" text="飞花令战力:{value=000}"/>
     <component id="n108_jcej" name="btnFightScoreRule" src="psphtkg" fileName="components/BtnRule.xml" pkg="eg2y0ldp" xy="10,13" size="29,29" group="n92_jcej">
-      <Button checked="true" icon="ui://eg2y0ldpjcej2k" controller="c2" page="1"/>
+      <Button icon="ui://eg2y0ldpjcej2k" controller="c2" page="1"/>
     </component>
     <group id="n92_jcej" name="n92" xy="0,0" size="282,56"/>
     <image id="n83_jcej" name="n83" src="jcej3s" fileName="imagesExport/dz_hz_fsk_1.png" pkg="eg2y0ldp" xy="1,70" size="248,57" group="n86_jcej"/>
@@ -22,7 +22,7 @@
       <Button icon="ui://eg2y0ldpjcej2k"/>
     </component>
     <component id="n88_jcej" name="comTag" src="ih7566" fileName="components/ComTag.xml" pkg="eg2y0ldp" xy="15,187" group="n90_jcej"/>
-    <text id="n89_jcej" name="txtTagScore" xy="176,187" pivot="0.5,0" size="18,36" group="n90_jcej" fontSize="26" color="#de867e" align="center" text="0"/>
+    <text id="n89_jcej" name="txtTagScore" xy="177,187" pivot="0.5,0" size="16,36" group="n90_jcej" fontSize="26" color="#de867e" align="center" text="0"/>
     <image id="n96_jcej" name="n96" src="jcej2m" fileName="imagesExport/jjsy_xx_2.png" pkg="eg2y0ldp" xy="16,229" group="n101_jcej"/>
     <image id="n97_jcej" name="n97" src="jcej2m" fileName="imagesExport/jjsy_xx_2.png" pkg="eg2y0ldp" xy="32,229" group="n101_jcej"/>
     <image id="n98_jcej" name="n98" src="jcej2m" fileName="imagesExport/jjsy_xx_2.png" pkg="eg2y0ldp" xy="48,229" group="n101_jcej"/>

+ 3 - 3
FGUIProject/assets/Arena/components/ListFightRecordItem.xml

@@ -11,7 +11,7 @@
     <remark page="1" value="胜利"/>
   </controller>
   <displayList>
-    <text id="n4_psph" name="txtTime" xy="50,0" pivot="0.5,0" size="193,36" group="n11_psph" fontSize="26" color="#a99070" align="center" autoClearText="true" text="10分钟 发起挑战"/>
+    <text id="n4_psph" name="txtTime" xy="51,0" pivot="0.5,0" size="190,36" group="n11_psph" fontSize="26" color="#a99070" align="center" autoClearText="true" text="10分钟 发起挑战"/>
     <image id="n13_jcej" name="n13" src="jcej1u" fileName="images/bpjly_xixian.png" xy="18,13" size="862,14" group="n11_psph"/>
     <loader id="n1_psph" name="loaResult" xy="5,47" size="888,151" group="n11_psph" url="ui://4lc5fhlbjcej2y" autoSize="true">
       <gearIcon controller="ctrResult" pages="1" values="ui://4lc5fhlbjcej2x" default="ui://4lc5fhlbjcej2y"/>
@@ -21,9 +21,9 @@
     </loader>
     <loader id="n3_psph" name="loaDanIcon" xy="229,69" size="108,101" group="n11_psph" url="ui://eg2y0ldpu2u3tkq" fill="scale"/>
     <text id="n14_jcej" name="n14" xy="423,71" pivot="0.5,0" anchor="true" size="71,46" group="n11_psph" fontSize="34" color="#c09c6d" align="center" vars="true" text="排名"/>
-    <text id="n5_psph" name="txtRank" xy="423,107" pivot="0.5,0" anchor="true" size="133,64" group="n11_psph" fontSize="48" color="#c09c6d" align="center" letterSpacing="-2" vars="true" bold="true" text="10000"/>
+    <text id="n5_psph" name="txtRank" xy="423,107" pivot="0.5,0" anchor="true" size="116,64" group="n11_psph" fontSize="48" color="#c09c6d" align="center" letterSpacing="-2" vars="true" bold="true" text="10000"/>
     <text id="n7_psph" name="txtTargetName" xy="582,69" size="148,49" group="n11_psph" fontSize="36" color="#c09c6d" autoClearText="true" text="对手名字"/>
-    <text id="n8_psph" name="txtTargetFightScore" xy="582,122" size="219,39" group="n11_psph" fontSize="28" color="#c09c6d" text="竞技场战力:999"/>
+    <text id="n8_psph" name="txtTargetFightScore" xy="582,122" size="213,39" group="n11_psph" fontSize="28" color="#c09c6d" text="飞花令战力:999"/>
     <component id="n15_jcej" name="btnLook" src="jcej2w" fileName="components/BtnLook.xml" xy="509,90" size="58,59" group="n11_psph"/>
     <component id="n9_psph" name="btnShow" src="psph14" fileName="components/BtnShow.xml" xy="832,97" size="37,46" group="n11_psph">
       <Button controller="c1" page="1"/>

+ 6 - 6
FGUIProject/assets/Arena/components/ListRankItem3.xml

@@ -2,19 +2,19 @@
 <component size="888,151">
   <displayList>
     <image id="n19_jcej" name="n19" src="jcej44" fileName="images/phbphb_phdi_1.png" xy="0,0"/>
-    <text id="n12_psph" name="txtRank" xy="19,41" pivot="0.5,0" size="150,59" group="n18_psph" fontSize="44" color="#a98860" align="center" autoClearText="true" text="100000"/>
+    <text id="n12_psph" name="txtRank" xy="28,41" pivot="0.5,0" size="132,59" group="n18_psph" fontSize="44" color="#a98860" align="center" autoClearText="true" text="100000"/>
     <component id="n31_v461" name="comHead" src="r9ri1h" fileName="components/ComHead.xml" pkg="eg2y0ldp" xy="167,-18" size="229,230" group="n35_v461" scale="0.73,0.73"/>
     <image id="n32_v461" name="n32" src="jcej33" fileName="images/jzsjzs_txktx.png" xy="188,9" group="n35_v461"/>
     <component id="n33_v461" name="btnLook" src="jcej2w" fileName="components/BtnLook.xml" xy="272,11" group="n35_v461" scale="0.7,0.7"/>
-    <component id="n34_v461" name="comLv" src="psphq" fileName="components/ComLv.xml" pkg="eg2y0ldp" xy="273,99" group="n35_v461" scale="0.9,0.9"/>
+    <component id="n34_v461" name="comLv" src="psphq" fileName="components/ComHeadLv.xml" pkg="eg2y0ldp" xy="273,99" group="n35_v461" scale="0.9,0.9"/>
     <group id="n35_v461" name="n35" xy="167,-18" size="229,230" group="n18_psph"/>
-    <text id="n14_psph" name="txtName" xy="331,20" size="48,52" group="n29_jcej" fontSize="38" color="#927550" align="center" autoClearText="true" text="--"/>
+    <text id="n14_psph" name="txtName" xy="331,20" size="54,51" group="n29_jcej" fontSize="38" color="#927550" align="center" autoClearText="true" text="--"/>
     <image id="n25_jcej" name="n25" src="jcej3n" fileName="images/jzsjzs_xxxtxt.png" xy="330,71" group="n29_jcej"/>
-    <text id="n15_psph" name="txtFightScore" xy="331,78" size="205,39" group="n29_jcej" fontSize="28" color="#9b7c56" align="center" autoClearText="true" text="竞技场战力:--"/>
+    <text id="n15_psph" name="txtFightScore" xy="331,78" size="209,39" group="n29_jcej" fontSize="28" color="#9b7c56" align="center" autoClearText="true" text="飞花令战力:--"/>
     <group id="n29_jcej" name="n29" xy="330,20" size="236,97" group="n18_psph"/>
     <loader id="n16_psph" name="loaDanIcon" xy="600,20" size="99,98" group="n18_psph" url="ui://eg2y0ldpu2u3tkq" fill="scale"/>
-    <text id="n26_jcej" name="n26" xy="729,24" size="122,42" group="n27_jcej" fontSize="30" color="#c09c6d" text="段位排名"/>
-    <text id="n17_psph" name="txtDanRank" xy="764,58" pivot="0.5,0" size="52,56" group="n27_jcej" fontSize="42" color="#c09c6d" align="center" letterSpacing="-2" bold="true" text="--"/>
+    <text id="n26_jcej" name="n26" xy="729,24" size="122,41" group="n27_jcej" fontSize="30" color="#c09c6d" text="段位排名"/>
+    <text id="n17_psph" name="txtDanRank" xy="760,58" pivot="0.5,0" size="59,56" group="n27_jcej" fontSize="42" color="#c09c6d" align="center" letterSpacing="-2" bold="true" text="--"/>
     <group id="n27_jcej" name="n27" xy="729,24" size="122,90" group="n18_psph"/>
     <group id="n18_psph" name="n18" xy="19,-18" size="832,230"/>
   </displayList>

+ 3 - 2
FGUIProject/assets/CommonGame/ItemExchangeUI.xml

@@ -32,8 +32,9 @@
     <text id="n22_si5z" name="txtCostCount" xy="343,624" pivot="0.5,0" size="43,54" group="n19_si5z" fontSize="40" color="#816e57" text="50"/>
     <group id="n19_si5z" name="n19" xy="175,616" size="612,70" group="n34_l500"/>
     <text id="n24_si5z" name="txtTips" xy="319,706" pivot="0.5,0" size="323,51" group="n26_si5z" fontSize="38" color="#8e7c6b" align="center" text="是否使用1个道具?"/>
-    <component id="n25_si5z" name="comCost" src="n3xha1" fileName="components/ComCostCurrency.xml" xy="416,797" pivot="0.5,0" group="n26_si5z" controller="c1,0"/>
-    <group id="n26_si5z" name="n26" xy="318,706" size="326,137" group="n34_l500" advanced="true" layout="vt" lineGap="40" excludeInvisibles="true"/>
+    <component id="n25_si5z" name="comCost" src="n3xha1" fileName="components/ComCostCurrency.xml" xy="416,797" pivot="0.5,0" group="n26_si5z" scale="1.2,1.2" visible="false" controller="c1,1"/>
+    <text id="n36_l500" name="txtRmbCost" xy="450,787" pivot="0.5,0" size="62,54" group="n26_si5z" fontSize="40" color="#716b59" align="center" text="999"/>
+    <group id="n26_si5z" name="n26" xy="319,706" size="323,135" group="n34_l500" advanced="true" layout="vt" lineGap="30" excludeInvisibles="true"/>
     <component id="n14_si5z" name="btnCancle" src="si5ztim" fileName="components/Button1.xml" xy="124,863" group="n20_si5z">
       <Button icon="ui://eg2y0ldps5s9tim"/>
     </component>

+ 1 - 1
FGUIProject/assets/CommonGame/components/ButtonInValueBar.xml

@@ -3,7 +3,7 @@
   <controller name="button" pages="0,up,1,down,2,over,3,selectedOver" selected="0"/>
   <displayList>
     <image id="n0_r9gf" name="n0" src="qkjstle" fileName="imagesNew/Resources_Underprint.png" xy="1,13" size="238,42" group="n4_qqat"/>
-    <image id="n3_r9gf" name="n3" src="qkjstld" fileName="imagesNew/fzd_jia.png" xy="175,9" group="n4_qqat"/>
+    <image id="n3_r9gf" name="imgAdd" src="qkjstld" fileName="imagesNew/fzd_jia.png" xy="175,9" group="n4_qqat"/>
     <text id="n1_r9gf" name="title" xy="83,14" pivot="0.5,0" size="72,39" group="n4_qqat" font="ui://eg2y0ldpa0cftks" fontSize="28" color="#ffffff" vAlign="middle" singleLine="true" autoClearText="true" text="66666"/>
     <loader id="n2_r9gf" name="icon" xy="17,14" pivot="0.5,0.5" size="40,40" group="n4_qqat" aspect="true" url="ui://eg2y0ldply9g8n" align="center" vAlign="middle" fill="scale"/>
     <group id="n4_qqat" name="n4" xy="1,9" size="238,50"/>

+ 9 - 2
FGUIProject/assets/CommonGame/components/ComponentValueBar.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="1080,70" opaque="false">
-  <controller name="c1" exported="true" pages="0,,1,,3,,4,,5,,6,,7,,8,,9,,10,,12,,13," selected="11">
+  <controller name="c1" exported="true" pages="0,,1,,3,,4,,5,,6,,7,,8,,9,,10,,12,,13,,14," selected="12">
     <remark page="0" value="体力金币马蹄珍珠"/>
     <remark page="1" value="体力金币马蹄"/>
     <remark page="2" value="抽卡兑换"/>
@@ -13,6 +13,7 @@
     <remark page="9" value="金币马蹄珍珠"/>
     <remark page="10" value="竞技场"/>
     <remark page="11" value="雅集"/>
+    <remark page="12" value="商店列表"/>
   </controller>
   <displayList>
     <component id="n43_vek8" name="btnCJLuoXing" src="r9gf5z" fileName="components/ButtonInValueBar.xml" xy="460,5">
@@ -65,10 +66,16 @@
       <gearXY controller="c1" pages="0,1,3,5,6,8,10,12" values="814,0|814,2|1207,5|814,0|814,2|688,5|814,0|814,0" default="688,5"/>
       <Button title="100" icon="ui://eg2y0ldpkztethq"/>
     </component>
-    <component id="n50_pvb4" name="btnLeagueContribuation" src="r9gf5z" fileName="components/ButtonInValueBar.xml" xy="814,1">
+    <component id="n50_pvb4" name="btnLeagueContribuation" src="r9gf5z" fileName="components/ButtonInValueBar.xml" xy="688,5">
       <gearDisplay controller="c1" pages="13"/>
       <gearXY controller="c1" pages="0,1,3,5,6,8,10,12,13" values="814,0|814,2|1207,5|814,0|814,2|688,5|814,0|814,0|814,1" default="688,5"/>
       <Button title="100" icon="ui://eg2y0ldpkztethq"/>
     </component>
+    <list id="n51_l500" name="list" xy="232,0" size="821,70" layout="row" colGap="30" defaultItem="ui://eg2y0ldpr9gf5z" align="right">
+      <gearDisplay controller="c1" pages="14"/>
+      <item/>
+      <item/>
+      <item/>
+    </list>
   </displayList>
 </component>

+ 1 - 3
FGUIProject/assets/League/LeagueMemberUI.xml

@@ -43,9 +43,7 @@
     <component id="n24_rv09" name="btnMemberLog" src="rv091p" fileName="components/BtnStyle1Big.xml" pkg="eg2y0ldp" xy="544,1564" group="n25_rv09">
       <Button title="雅集信息"/>
     </component>
-    <component id="n21_rv09" name="btnExit" src="rv091o" fileName="components/Button11.xml" xy="771,1562" group="n25_rv09">
-      <Button title="退出雅集"/>
-    </component>
+    <component id="n21_rv09" name="btnExit" src="rv091o" fileName="components/Button11.xml" pkg="eg2y0ldp" xy="771,1562" group="n25_rv09"/>
     <group id="n25_rv09" name="n25" xy="90,1562" size="900,61" advanced="true" layout="hz" colGap="40" excludeInvisibles="true">
       <gearDisplay controller="c1" pages="1"/>
       <relation target="" sidePair="bottom-bottom"/>

+ 1 - 1
FGUIProject/assets/League/components/Button14.xml

@@ -15,7 +15,7 @@
     <text id="n3_u2u3" name="title" xy="71,8" pivot="0.5,0" size="44,39" font="ui://eg2y0ldpa0cftky" fontSize="28" color="#683c28" align="center" vars="true" text="{value=0}/{maxValue=0}">
       <relation target="" sidePair="middle-middle,left-right"/>
     </text>
-    <text id="n5_rv09" name="txtTime" xy="5,61" pivot="0.5,0" size="176,35" font="ui://eg2y0ldpa0cftks" fontSize="25" color="#716660" align="center" autoClearText="true" text="剩余时间23:59">
+    <text id="n5_rv09" name="txtTime" xy="-13,61" pivot="0.5,0" size="213,35" font="ui://eg2y0ldpa0cftks" fontSize="25" color="#716660" align="center" autoClearText="true" text="剩余时间:23:59:00">
       <gearDisplay controller="touchable" pages="0"/>
     </text>
     <component id="n6_a0cf" name="comcost" src="n3xha1" fileName="components/ComCostCurrency.xml" pkg="eg2y0ldp" xy="27,54">

+ 6 - 2
FGUIProject/assets/League/components/ListGiftButItem.xml

@@ -4,8 +4,8 @@
     <image id="n19_9jv6" name="n19" src="9jv65t" fileName="images/lm_kp_db_chang.png" xy="0,0" group="n22_9jv6"/>
     <loader id="n12_pvb4" name="loaIcon" xy="134,265" pivot="0.5,0.5" size="112,112" group="n22_9jv6" url="ui://eg2y0ldpu2u3tkq" autoSize="true"/>
     <text id="n15_pvb4" name="txtCount" xy="210,437" pivot="0.5,0" size="144,34" group="n22_9jv6" font="ui://eg2y0ldpa0cftks" fontSize="24" color="#b08548" letterSpacing="-2" text="今日剩余:1/1"/>
-     <component id="n14_pvb4" name="btnBuy" src="rv091x" fileName="components/Button17.xml" xy="126,588" group="n22_9jv6" pkg="eg2y0ldp">
-      <Button title="采购" icon="ui://eg2y0ldp9jv66c"/> 
+    <component id="n14_pvb4" name="btnBuy" src="rv091x" fileName="components/BtnStyle1Small.xml" pkg="eg2y0ldp" xy="126,588" group="n22_9jv6">
+      <Button title="采购" icon="ui://eg2y0ldp9jv66c"/>
     </component>
     <component id="n16_pvb4" name="comCost" src="n3xha1" fileName="components/ComCostCurrency.xml" pkg="eg2y0ldp" xy="124,636" pivot="0.5,0" group="n22_9jv6" scale="0.7,0.7" controller="c1,1"/>
     <list id="n13_pvb4" name="listGift" xy="-113,485" pivot="0.5,0" size="601,132" group="n22_9jv6" scale="0.65,0.65" layout="row" colGap="15" defaultItem="ui://eg2y0ldp9jv6tls" align="center">
@@ -17,5 +17,9 @@
     <text id="n18_pvb4" name="txtTime" xy="258,117" pivot="0.5,0" size="102,39" group="n22_9jv6" font="ui://eg2y0ldpa0cftks" fontSize="28" color="#be8f4d" align="center" ubb="true" text="剩余1天"/>
     <loader id="n21_9jv6" name="loaType" xy="19,99" size="62,203" group="n22_9jv6" url="ui://tw70qm9d9jv66x" autoSize="true"/>
     <group id="n22_9jv6" name="n22" xy="-113,0" size="601,801"/>
+    <image id="n24_l500" name="n24" src="l5007z" fileName="images/yj_zz.png" xy="2,362" group="n26_l500"/>
+    <text id="n25_l500" name="txtLock" xy="35,367" pivot="0.5,0" size="305,39" group="n26_l500" fontSize="28" color="#fffdf9" text="宴客厅等级达到X级解锁"/>
+    <image id="n23_l500" name="n23" src="l5007y" fileName="images/yj_db_zz.png" xy="-1,35" group="n26_l500"/>
+    <group id="n26_l500" name="grpLock" xy="-1,35" size="377,770" advanced="true"/>
   </displayList>
 </component>

BIN
FGUIProject/assets/League/images/tb_suo_gold.png


BIN
FGUIProject/assets/League/images/yj_db_zz.png


BIN
FGUIProject/assets/League/images/yj_zz.png


BIN
FGUIProject/assets/League/imagesNew/dikuang_sx.png


+ 3 - 1
FGUIProject/assets/League/package.xml

@@ -195,9 +195,11 @@
     <image id="miy37q" name="ch_jn_db.png" path="/images/"/>
     <image id="miy37r" name="card_sz_db.png" path="/images/" scale="9grid" scale9grid="12,7,24,14"/>
     <image id="miy37s" name="lm_ch_jdk.png" path="/images/"/>
-    <image id="miy37u" name="dikuang_sx.png" path="/imagesNew/"/>
     <component id="miy37v" name="ListSkillScore.xml" path="/"/>
     <component id="miy37w" name="Button124.xml" path="/"/>
+    <image id="l5007x" name="tb_suo_gold.png" path="/images/"/>
+    <image id="l5007y" name="yj_db_zz.png" path="/images/"/>
+    <image id="l5007z" name="yj_zz.png" path="/images/"/>
   </resources>
   <publish name="" path="../GameClient/Assets/ResIn/UI/League" packageCount="2" genCode="true" maxAtlasSize="2048" extractAlpha="true"/>
 </packageDescription>

BIN
FGUIProject/assets/Main/images/zjm_e_6.png


+ 2 - 2
FGUIProject/assets/RoleInfo/components/ComBtn.xml

@@ -25,8 +25,8 @@
       <Button title="设置玩家章节" titleFontSize="30"/>
     </component>
     <text id="n18_lqp0" name="txtChapter" xy="333,245" size="44,42" group="n27_ysx9" fontSize="30" autoSize="none" text="5" input="true" prompt="[color=#B6A688]章[/color]"/>
-    <text id="n24_lqp0" name="n24" xy="454,246" size="34,41" group="n27_ysx9" fontSize="30" text="关"/>
-    <text id="n21_lqp0" name="n21" xy="377,245" size="34,41" group="n27_ysx9" fontSize="30" text="章"/>
+    <text id="n24_lqp0" name="n24" xy="454,246" size="34,42" group="n27_ysx9" fontSize="30" text="关"/>
+    <text id="n21_lqp0" name="n21" xy="377,245" size="34,42" group="n27_ysx9" fontSize="30" text="章"/>
     <text id="n19_lqp0" name="txtChapterLv" xy="411,245" size="42,42" group="n27_ysx9" fontSize="30" autoSize="none" text="1" input="true" prompt="[color=#B6A688]关[/color]"/>
     <group id="n27_ysx9" name="n27" xy="1,244" size="487,46" group="n28_ysx9" advanced="true">
       <gearDisplay controller="c1" pages="0,1"/>

+ 1 - 0
FGUIProject/assets/Store/StoreChargeAddUpUI.xml

@@ -2,6 +2,7 @@
 <component size="1080,1920" opaque="false">
   <displayList>
     <text id="n31_hhx9" name="n31" xy="230,723" size="619,39" fontSize="28" color="#8c8580" text="游戏中任意付费会按照1人民币*10换算成会员经验"/>
+    <component id="n34_l500" name="valueBar" src="v3541v" fileName="components/ComponentValueBar.xml" pkg="eg2y0ldp" xy="0,95" controller="c1,10"/>
     <component id="n33_hhx9" name="comVipLv" src="hhx91r" fileName="components/ComVipLv.xml" xy="62,493"/>
     <list id="n10_d4iw" name="list" xy="0,793" size="1080,1033" layout="flow_hz" overflow="hidden" colGap="20" defaultItem="ui://p9mtgheohhx91i" align="center" scrollItemToViewOnClick="false">
       <relation target="" sidePair="bottomext-bottom"/>

+ 1 - 0
FGUIProject/assets/Store/StoreChargeUI.xml

@@ -2,6 +2,7 @@
 <component size="1080,1920" opaque="false">
   <displayList>
     <text id="n31_hhx9" name="n31" xy="230,723" size="619,39" fontSize="28" color="#8c8580" text="游戏中任意付费会按照1人民币*10换算成会员经验"/>
+    <component id="n34_l500" name="valueBar" src="v3541v" fileName="components/ComponentValueBar.xml" pkg="eg2y0ldp" xy="0,95" controller="c1,10"/>
     <component id="n33_hhx9" name="comVipLv" src="hhx91r" fileName="components/ComVipLv.xml" xy="62,493"/>
     <list id="n10_d4iw" name="list" xy="0,793" size="1080,1033" layout="flow_hz" overflow="hidden" colGap="20" defaultItem="ui://p9mtgheohhx91i" align="center" scrollItemToViewOnClick="false">
       <relation target="" sidePair="bottomext-bottom"/>

+ 2 - 1
FGUIProject/assets/Store/StoreExchangeUI.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="1080,1920" opaque="false">
   <displayList>
-    <list id="n0_l500" name="list" xy="74,513" size="932,1316" layout="flow_hz" overflow="scroll" lineGap="30" colGap="10" defaultItem="ui://p9mtgheo10not1t" autoClearItems="true">
+    <list id="n0_l500" name="list" xy="83,513" size="913,1316" layout="flow_hz" overflow="scroll" lineGap="20" colGap="10" defaultItem="ui://p9mtgheo10not1t" autoClearItems="true">
       <relation target="" sidePair="bottomext-bottom"/>
       <item/>
       <item/>
@@ -17,5 +17,6 @@
     <component id="n2_l500" name="n2" src="hhx90" fileName="components/ComZhuangShi.xml" xy="690,1420">
       <relation target="" sidePair="right-right,bottom-bottom"/>
     </component>
+    <component id="n4_l500" name="valueBar" src="v3541v" fileName="components/ComponentValueBar.xml" pkg="eg2y0ldp" xy="0,95" controller="c1,14"/>
   </displayList>
 </component>

+ 1 - 0
FGUIProject/assets/Store/StoreGiftBagUI.xml

@@ -17,5 +17,6 @@
     <component id="n2_l500" name="n2" src="hhx90" fileName="components/ComZhuangShi.xml" xy="690,1420">
       <relation target="" sidePair="right-right,bottom-bottom"/>
     </component>
+    <component id="n3_l500" name="valueBar" src="v3541v" fileName="components/ComponentValueBar.xml" pkg="eg2y0ldp" xy="0,95" controller="c1,14"/>
   </displayList>
 </component>

+ 0 - 1
FGUIProject/assets/Store/StoreUI.xml

@@ -8,7 +8,6 @@
     <image id="n17_fqor" name="n17" src="fqortb7" fileName="imagesNew/sc_beijing_shang.png" xy="0,0"/>
     <image id="n14_fqor" name="n14" src="fqortb6" fileName="imagesNew/sc_beijing_hua.png" xy="622,0"/>
     <image id="n9_fqor" name="n9" src="fqortb3" fileName="imagesNew/sc_line1.png" xy="81,444"/>
-    <component id="n2_fqor" name="valueBar" src="v3541v" fileName="components/ComponentValueBar.xml" pkg="eg2y0ldp" xy="0,95" controller="c1,10"/>
     <component id="n1_fqor" name="btnBack" src="9xlo8" fileName="components/BtnBack.xml" pkg="eg2y0ldp" xy="35,80"/>
     <image id="n10_fqor" name="n10" src="fqortb2" fileName="imagesNew/sc_line2.png" xy="55,327"/>
     <image id="n19_fqor" name="n19" src="fqortay" fileName="imagesNew/sc_zhuangshihua1.png" xy="0,0"/>

+ 2 - 2
FGUIProject/assets/Store/components/ListChargeItem.xml

@@ -5,13 +5,13 @@
     <loader id="n15_d4iw" name="icon" xy="52,166" size="197,197" aspect="true" url="ui://p9mtgheohhx91j" fill="scaleMatchHeight"/>
     <image id="n12_d4iw" name="imgDouble" src="hhx9a" fileName="imagesNew/wp_save_baseboard.png" xy="-1,338"/>
     <image id="n24_hhx9" name="n24" src="fqortau" fileName="imagesNew/sc_xian.png" xy="33,104" size="236,4"/>
-    <text id="n16_d4iw" name="txtName" xy="80,52" pivot="0.5,0" size="142,54" font="ui://eg2y0ldpa0cftks" fontSize="40" color="#5a3e16" align="center" text="钻石600">
+    <text id="n16_d4iw" name="txtName" xy="13,56" pivot="0.5,0" size="275,46" font="ui://eg2y0ldpa0cftks" fontSize="34" color="#5a3e16" align="center" letterSpacing="-2" text="稀有升星材料(自选)">
       <relation target="" sidePair="center-center,middle-middle"/>
     </text>
     <component id="n14_d4iw" name="btnBuy" src="iftftaf" fileName="components/Component2.xml" xy="18,412" size="265,80">
       <relation target="" sidePair="center-center"/>
     </component>
     <text id="n18_dmsi" name="txtDesc" xy="48,380" pivot="0.5,0" size="204,36" font="ui://eg2y0ldpa0cftks" fontSize="26" color="#ac4100" letterSpacing="-2" text="首充赠送+6000钻石"/>
-    <text id="n23_hhx9" name="n23" xy="9,337" size="122,42" fontSize="30" color="#ffffff" text="首充双倍"/>
+    <text id="n23_hhx9" name="n23" xy="9,337" size="122,41" fontSize="30" color="#ffffff" text="首充双倍"/>
   </displayList>
 </component>

+ 21 - 16
FGUIProject/assets/Store/components/ListGiftItem.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<component size="460,270" overflow="hidden">
-  <controller name="c1" alias="礼包购买状态" pages="0,,1," selected="1">
+<component size="451,270" overflow="hidden">
+  <controller name="c1" alias="礼包购买状态" pages="0,,1," selected="0">
     <remark page="0" value="可购买"/>
     <remark page="1" value="已售罄"/>
   </controller>
@@ -12,27 +12,32 @@
     <image id="n22_10not" name="n22" src="hhx91f" fileName="imagesNew/GiftBag_baseboard1.png" xy="26,0"/>
     <image id="n47_l500" name="imgDouble" src="hhx9v" fileName="imagesNew/font_save_baseboard.png" xy="0,-1" group="n26_10not"/>
     <text id="n48_l500" name="n48" xy="17,7" size="69,46" group="n26_10not" fontSize="34" color="#ffffff" letterSpacing="-2" text="超值"/>
-    <text id="n49_l500" name="txtDesc" xy="13,32" pivot="0.5,0" size="55,51" group="n51_l500" fontSize="38" color="#ffffff" align="center" letterSpacing="-2" strokeColor="#cc3300" text="800"/>
-    <text id="n50_l500" name="n50" xy="68,42" size="22,36" group="n51_l500" fontSize="26" color="#ffffff" letterSpacing="-2" text="%"/>
-    <group id="n51_l500" name="n51" xy="13,32" size="77,51" group="n26_10not" advanced="true" layout="hz" excludeInvisibles="true">
+    <text id="n49_l500" name="txtDesc" xy="8,32" pivot="0.5,0" size="55,51" group="n51_l500" fontSize="38" color="#ffffff" align="center" letterSpacing="-2" strokeColor="#cc3300" text="800"/>
+    <text id="n50_l500" name="n50" xy="63,42" size="22,36" group="n51_l500" fontSize="26" color="#ffffff" letterSpacing="-2" text="%"/>
+    <group id="n51_l500" name="n51" xy="8,32" size="77,51" group="n26_10not" advanced="true" layout="hz" excludeInvisibles="true">
       <relation target="" sidePair="center-center"/>
     </group>
+    <image id="n59_l500" name="n59" src="l500tbu" fileName="imagesNew/sc_yk_zz2.png" xy="0,-1" group="n26_10not">
+      <gearDisplay controller="c2" pages="0"/>
+    </image>
     <group id="n26_10not" name="grpDiscount" xy="0,-1" size="100,96" advanced="true"/>
     <loader id="n23_10not" name="icon" xy="61,55" size="162,162" aspect="true" url="ui://p9mtgheohhx91n" fill="scaleMatchHeight"/>
-    <text id="n27_10not" name="txtName" xy="328,26" pivot="0.5,0" anchor="true" size="74,49" fontSize="36" color="#5a3e16" align="center" leading="-5" letterSpacing="-2" text="珍珠"/>
+    <text id="n27_10not" name="txtName" xy="248,14" pivot="0.5,0" anchor="true" size="261,44" fontSize="32" color="#5a3e16" align="center" leading="-5" letterSpacing="-2" text="稀有升星材料(自选)"/>
     <text id="n29_10not" name="txtEndTime" xy="81,220" pivot="0.5,0" size="111,36" fontSize="26" color="#ac4100" align="center" leading="-5" letterSpacing="-2" text="1天后下架"/>
     <text id="n32_10not" name="txtLimit" xy="229,76" pivot="0.5,0" size="199,36" fontSize="26" color="#8c8580" align="center" leading="-5" letterSpacing="-2" ubb="true" text="每日限购(10/10)"/>
-    <text id="n31_10not" name="txtLock" xy="330,111" pivot="0.5,0" anchor="true" size="239,36" fontSize="26" color="#8c8580" align="center" leading="-5" letterSpacing="-2" text="飞花令达到段位07解锁">
-      <gearDisplay controller="c2" pages="0"/>
-    </text>
-    <text id="n44_iftf" name="n44" xy="299,120" size="81,36" fontSize="26" color="#a59f8f" align="center" text="已售罄">
+    <component id="n53_l500" name="btnBuy" src="l500tbb" fileName="components/Button5.xml" xy="257,184">
+      <gearDisplay controller="c1" pages="0"/>
+    </component>
+    <text id="n58_l500" name="n58" xy="268,176" pivot="0.5,0" size="124,54" fontSize="40" color="#5a3e16" align="center" text="已售罄">
       <gearDisplay controller="c1" pages="1"/>
-      <gearDisplay2 controller="c2" pages="1" condition="0"/>
     </text>
-    <image id="n45_t8xr" name="n45" src="10not1u" fileName="images/sc_kuangand.png" xy="-7,-61" size="474,379">
-      <gearDisplay controller="c1" pages="1"/>
-      <gearDisplay2 controller="c2" pages="0" condition="1"/>
-    </image>
-    <component id="n53_l500" name="btnBuy" src="l500tbb" fileName="components/Button5.xml" xy="257,184"/>
+    <image id="n54_l500" name="n54" src="l500tbt" fileName="imagesNew/sc_yk_zz.png" xy="13,0" group="n57_l500"/>
+    <image id="n55_l500" name="n55" src="l500tbs" fileName="imagesNew/sc_yk_jsdb.png" xy="32,62" group="n57_l500"/>
+    <text id="n56_l500" name="txtLock" xy="238,101" pivot="0.5,0" anchor="true" size="210,67" group="n57_l500" fontSize="28" color="#fffdf9" align="center" vAlign="middle" leading="-5" letterSpacing="-2" autoSize="none" text="飞花令段位达到巴拉巴拉解锁">
+      <gearDisplay controller="c2" pages="0"/>
+    </text>
+    <group id="n57_l500" name="n57" xy="13,0" size="439,270" advanced="true">
+      <gearDisplay controller="c2" pages="0"/>
+    </group>
   </displayList>
 </component>

+ 15 - 13
FGUIProject/assets/Store/components/ListShopItem.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="290,455" overflow="hidden">
-  <controller name="c1" alias="礼包购买状态" pages="0,,1," selected="0">
+  <controller name="c1" alias="礼包购买状态" pages="0,,1," selected="1">
     <remark page="0" value="可购买"/>
     <remark page="1" value="已售罄"/>
   </controller>
@@ -10,6 +10,7 @@
   </controller>
   <displayList>
     <image id="n22_10not" name="n22" src="hhx9w" fileName="imagesNew/GiftBag_baseboard.png" xy="0,0"/>
+    <image id="n55_l500" name="n55" src="fqortau" fileName="imagesNew/sc_xian.png" xy="27,119" size="236,4"/>
     <image id="n47_l500" name="imgDouble" src="hhx9v" fileName="imagesNew/font_save_baseboard.png" xy="191,263" group="n26_10not"/>
     <text id="n48_l500" name="n48" xy="208,271" size="69,46" group="n26_10not" fontSize="34" color="#ffffff" letterSpacing="-2" text="超值"/>
     <text id="n49_l500" name="txtDesc" xy="207,301" pivot="0.5,0" size="55,51" group="n51_l500" fontSize="38" color="#ffffff" align="center" letterSpacing="-2" strokeColor="#cc3300" text="800"/>
@@ -19,21 +20,22 @@
     </group>
     <group id="n26_10not" name="grpDiscount" xy="191,263" size="100,96" advanced="true"/>
     <loader id="n23_10not" name="icon" xy="61,169" size="162,162" aspect="true" url="ui://p9mtgheohhx91n" fill="scaleMatchHeight"/>
-    <text id="n27_10not" name="txtName" xy="145,72" pivot="0.5,0" anchor="true" size="74,49" fontSize="36" color="#5a3e16" align="center" leading="-5" letterSpacing="-2" text="珍珠"/>
+    <text id="n27_10not" name="txtName" xy="145,78" pivot="0.5,0" anchor="true" size="261,44" fontSize="32" color="#5a3e16" align="center" leading="-5" letterSpacing="-2" text="稀有升星材料(自选)"/>
     <text id="n29_10not" name="txtEndTime" xy="89,340" pivot="0.5,0" size="111,36" fontSize="26" color="#ac4100" align="center" leading="-5" letterSpacing="-2" vars="true" text="{value=1天}后下架"/>
     <text id="n56_l500" name="txtLimit" xy="45,121" pivot="0.5,0" size="199,36" fontSize="26" color="#8c8580" align="center" leading="-5" letterSpacing="-2" ubb="true" text="每日限购(10/10)"/>
-    <text id="n31_10not" name="txtLock" xy="145,150" pivot="0.5,0" anchor="true" size="229,36" fontSize="26" color="#8c8580" align="center" leading="-5" letterSpacing="-2" text="飞花令达到段位7解锁">
-      <gearDisplay controller="c2" pages="0"/>
-    </text>
-    <text id="n57_l500" name="n57" xy="104,157" size="81,36" fontSize="26" color="#a59f8f" align="center" text="已售罄">
+    <component id="n53_l500" name="btnBuy" src="l500tbb" fileName="components/Button5.xml" xy="71,390">
+      <gearDisplay controller="c1" pages="0"/>
+    </component>
+    <text id="n57_l500" name="n57" xy="83,383" pivot="0.5,0" size="124,54" fontSize="40" color="#5a3e16" align="center" text="已售罄">
       <gearDisplay controller="c1" pages="1"/>
-      <gearDisplay2 controller="c2" pages="1" condition="0"/>
     </text>
-    <image id="n45_t8xr" name="n45" src="10not1u" fileName="images/sc_kuangand.png" xy="0,-72" size="291,600">
-      <gearDisplay controller="c1" pages="1"/>
-      <gearDisplay2 controller="c2" pages="0" condition="1"/>
-    </image>
-    <component id="n53_l500" name="btnBuy" src="l500tbb" fileName="components/Button5.xml" xy="71,390"/>
-    <image id="n55_l500" name="n55" src="fqortau" fileName="imagesNew/sc_xian.png" xy="27,119" size="236,4"/>
+    <image id="n58_l500" name="n58" src="l500tbr" fileName="imagesNew/sc_lb_zz.png" xy="0,0" group="n60_l500"/>
+    <image id="n59_l500" name="n59" src="l500tbq" fileName="imagesNew/sc_lb_jsdb.png" xy="-22,189" group="n60_l500"/>
+    <text id="n31_10not" name="txtLock" xy="145,227" pivot="0.5,0" anchor="true" size="210,67" group="n60_l500" fontSize="28" color="#fffdf9" align="center" vAlign="middle" leading="-5" letterSpacing="-2" autoSize="none" text="飞花令段位达到巴拉巴拉解锁">
+      <gearDisplay controller="c2" pages="0"/>
+    </text>
+    <group id="n60_l500" name="n60" xy="-22,0" size="333,455" advanced="true">
+      <gearDisplay controller="c2" pages="0"/>
+    </group>
   </displayList>
 </component>

BIN
FGUIProject/assets/Store/imagesNew/sc_lb_jsdb.png


BIN
FGUIProject/assets/Store/imagesNew/sc_lb_zz.png


BIN
FGUIProject/assets/Store/imagesNew/sc_yk_jsdb.png


BIN
FGUIProject/assets/Store/imagesNew/sc_yk_zz.png


BIN
FGUIProject/assets/Store/imagesNew/sc_yk_zz2.png


+ 5 - 0
FGUIProject/assets/Store/package.xml

@@ -135,6 +135,11 @@
     <component id="l500tbe" name="ListShopItem.xml" path="/components/"/>
     <component id="l500tbf" name="StoreChargeAddUpUI.xml" path="/" exported="true"/>
     <component id="l500tbh" name="StoreExchangeUI.xml" path="/" exported="true"/>
+    <image id="l500tbq" name="sc_lb_jsdb.png" path="/imagesNew/"/>
+    <image id="l500tbr" name="sc_lb_zz.png" path="/imagesNew/"/>
+    <image id="l500tbs" name="sc_yk_jsdb.png" path="/imagesNew/"/>
+    <image id="l500tbt" name="sc_yk_zz.png" path="/imagesNew/"/>
+    <image id="l500tbu" name="sc_yk_zz2.png" path="/imagesNew/"/>
   </resources>
   <publish name="" path="../GameClient/Assets/ResIn/UI/Store" packageCount="2" genCode="true"/>
 </packageDescription>

+ 4 - 14
FGUIProject/assets/Task/BattlePassRewardUI.xml

@@ -5,9 +5,9 @@
     <image id="n15_nd17" name="n15" src="uxxstmf" fileName="images/sj_dk.png" xy="0,240">
       <relation target="" sidePair="left-right"/>
     </image>
-    <text id="n19_nd17" name="LeftTime" xy="59,241" size="172,44" font="ui://eg2y0ldpa0cftks" fontSize="32" color="#fffaec" autoSize="none" text="9天1时5分"/>
+    <text id="n19_nd17" name="LeftTime" xy="59,240" size="172,44" font="ui://eg2y0ldpa0cftks" fontSize="32" color="#fffaec" autoSize="none" text="9天1时5分"/>
     <image id="n16_nd17" name="n16" src="o9gh4b" fileName="imagesNew/lm_tb_tishi.png" pkg="eg2y0ldp" xy="246,233" size="61,61"/>
-    <component id="n18_nd17" name="LevelProcess" src="nd173t" fileName="components/ExpProcess.xml" xy="107,601">
+    <component id="n18_nd17" name="LevelProcess" src="e3m1tnl" fileName="components/ExpProcess.xml" xy="107,601">
       <relation target="" sidePair="left-left"/>
       <ProgressBar value="50" max="100"/>
     </component>
@@ -33,23 +33,13 @@
     <text id="n30_nd17" name="n30" xy="667,701" size="132,44" font="ui://eg2y0ldpa0cftks" fontSize="32" color="#ae7034" align="center" autoSize="none" text="锦罗织造"/>
     <image id="n29_nd17" name="n29" src="9jv65m" fileName="imagesNew/lm_dt_zsx1.png" pkg="eg2y0ldp" xy="517,714"/>
     <image id="n28_nd17" name="n28" src="9jv65m" fileName="imagesNew/lm_dt_zsx1.png" pkg="eg2y0ldp" xy="822,714" flip="hz"/>
-    <list id="n48_nd17" name="RewardList" xy="2,748" size="1080,790" overflow="scroll" lineGap="10" defaultItem="ui://5mpsibzznd173u" autoClearItems="true">
-      <item/>
-      <item/>
-      <item/>
-      <item/>
-      <item/>
-      <item/>
-      <item/>
-      <item/>
-      <item/>
-    </list>
+    <list id="n48_nd17" name="RewardList" xy="2,747" size="1080,790" overflow="scroll" lineGap="10" defaultItem="ui://5mpsibzznd173u"/>
     <image id="n36_nd17" name="n36" src="uxxstmu" fileName="images/zsx_flower.png" xy="755,736" size="14,869"/>
     <image id="n26_nd17" name="n26" src="uxxstmc" fileName="images/txz_jlzz_db_jlzz.png" xy="1,1538" size="1080,217"/>
     <component id="n51_nd17" name="btnGetAll" src="rv091o" fileName="components/Button11.xml" pkg="eg2y0ldp" xy="408,1781" size="266,70">
       <Button title="一键领取"/>
     </component>
-    <component id="n52_or80" name="n52" src="or80tlw" fileName="components/BattlePassReward.xml" xy="5,1577"/>
+    <component id="n52_or80" name="SpecialReward" src="or80tlw" fileName="components/BattlePassReward.xml" xy="5,1577"/>
     <image id="n53_or80" name="n53" src="9jv66j" fileName="imagesNew/lm_zsx0.png" pkg="eg2y0ldp" xy="139,1548"/>
     <text id="n54_or80" name="n54" xy="412,1549" size="196,44" fontSize="32" color="#915e15" text="下个特别大奖"/>
   </displayList>

+ 6 - 3
FGUIProject/assets/Task/BuyBattlePassLevelUI.xml

@@ -8,7 +8,7 @@
     <image id="n3_or80" name="n3" src="uxxstms" fileName="images/lm_biaotizi_13.png" xy="248,83"/>
     <text id="n4_or80" name="n4" xy="186,130" size="228,39" fontSize="28" color="#b79f7d" text="立即获得以下奖励"/>
     <image id="n5_or80" name="n5" src="wm603t" fileName="imagesNew/lm_zhuangshixian_duan.png" pkg="eg2y0ldp" xy="148,488"/>
-    <list id="n6_or80" name="n6" xy="183,173" size="724,309" layout="flow_hz" overflow="scroll" lineGap="4" colGap="26" defaultItem="ui://5mpsibzznd1743">
+    <list id="n6_or80" name="Rewards" xy="183,173" size="724,309" layout="flow_hz" overflow="scroll" lineGap="4" colGap="26" defaultItem="ui://5mpsibzznd1743" autoClearItems="true">
       <item/>
       <item/>
       <item/>
@@ -22,7 +22,10 @@
       <item/>
       <item/>
     </list>
-    <text id="n9_or80" name="n9" xy="447,558" size="171,39" fontSize="28" color="#b79f7d" vars="true" text="{startLeve=0}级提升至{endLevel=1}级"/>
-    <component id="n10_itts" name="n10" src="uxxstm2" fileName="components/AddReduceButton.xml" xy="367,498"/>
+    <text id="n9_or80" name="Tip" xy="447,558" size="171,39" fontSize="28" color="#b79f7d" vars="true" text="{startLeve=0}级提升至{endLevel=1}级"/>
+    <component id="n17_itts" name="Add" src="e3m1tnm" fileName="components/ButtonAdd.xml" xy="674,490" group="n21_itts"/>
+    <component id="n18_itts" name="Reduce" src="e3m1tnn" fileName="components/ButtonReduce.xml" xy="329,492" group="n21_itts"/>
+    <component id="n22_itts" name="AddLevelBtn" src="ittstnk" fileName="components/BuyBattlePassLevelBt.xml" xy="402,490" group="n21_itts"/>
+    <group id="n21_itts" name="n21" xy="329,490" size="406,62"/>
   </displayList>
 </component>

+ 1 - 1
FGUIProject/assets/Task/OpenBattlePassUI.xml

@@ -8,7 +8,7 @@
     <image id="n3_or80" name="n3" src="uxxstmv" fileName="images/lm_biaotizi_12.png" xy="248,83"/>
     <text id="n4_or80" name="n4" xy="186,130" size="228,39" fontSize="28" color="#b79f7d" text="解锁特别制造奖励"/>
     <image id="n5_or80" name="n5" src="wm603t" fileName="imagesNew/lm_zhuangshixian_duan.png" pkg="eg2y0ldp" xy="148,488"/>
-    <list id="n6_or80" name="n6" xy="183,173" size="724,309" layout="flow_hz" overflow="scroll" lineGap="4" colGap="26" defaultItem="ui://5mpsibzznd1743">
+    <list id="n6_or80" name="Rewards" xy="183,173" size="724,309" layout="flow_hz" overflow="scroll" lineGap="4" colGap="26" defaultItem="ui://5mpsibzznd1743" autoClearItems="true">
       <item/>
       <item/>
       <item/>

+ 0 - 10
FGUIProject/assets/Task/components/AddReduceButton.xml

@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<component size="348,63" designImageOffsetX="-366" designImageOffsetY="-1020">
-  <displayList>
-    <image id="n1_uxxs" name="n1" src="uxxstm9" fileName="images/db_jiajian.png" xy="24,2"/>
-    <text id="n0_uxxs" name="n0" xy="145,8" size="123,48" fontSize="35" autoSize="none" text="" input="true"/>
-    <image id="n2_uxxs" name="n2" src="uxxstm6" fileName="images/an_jia.png" xy="287,2"/>
-    <image id="n3_uxxs" name="n3" src="uxxstmz" fileName="images/an_jian.png" xy="-4,3"/>
-    <image id="n4_uxxs" name="n4" src="a0cf2h" fileName="imagesNew/lm_tb.png" pkg="eg2y0ldp" xy="106,17"/>
-  </displayList>
-</component>

+ 3 - 3
FGUIProject/assets/Task/components/BattlePassReward.xml

@@ -11,9 +11,9 @@
     <image id="n6_nd17" name="n6" src="uxxstm7" fileName="images/txz_lvl_db.png" xy="9,10"/>
     <component id="n7_nd17" name="NormalReward" src="nd1742" fileName="components/RewardIconBlue.xml" xy="203,11"/>
     <text id="n15_nd17" name="Level" xy="30,42" size="82,62" font="ui://eg2y0ldpa0cftks" fontSize="40" color="#c48624" align="center" autoSize="none" text="1"/>
-    <list id="n18_vixc" name="RewardList" xy="450,10" size="270,123" layout="row" overflow="hidden" scroll="horizontal" colGap="28" align="center" vAlign="middle">
-      <item url="ui://5mpsibzznd1743"/>
-      <item url="ui://5mpsibzznd1743"/>
+    <list id="n18_vixc" name="RewardList" xy="450,10" size="270,123" layout="row" overflow="hidden" scroll="horizontal" colGap="28" defaultItem="ui://5mpsibzznd1743" align="center" vAlign="middle">
+      <item/>
+      <item/>
     </list>
   </displayList>
 </component>

+ 4 - 4
FGUIProject/assets/Task/components/BattlePassRewardItem.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="1080,153">
-  <controller name="c1" pages="0,未完成,1,可领取,2,已领取,3,继续领取" selected="1">
+  <controller name="c1" pages="0,未完成,1,可领取,2,已领取,3,继续领取" selected="0">
     <remark page="0" value="未完成"/>
     <remark page="1" value="可领取"/>
     <remark page="2" value="已领取"/>
@@ -28,9 +28,9 @@
       <Button title="继续领取" icon="ui://eg2y0ldpo9gh4k"/>
     </component>
     <text id="n15_nd17" name="Level" xy="30,42" size="82,62" font="ui://eg2y0ldpa0cftks" fontSize="40" color="#c48624" align="center" autoSize="none" text="1"/>
-    <list id="n18_vixc" name="RewardList" xy="450,10" size="270,123" layout="row" overflow="hidden" scroll="horizontal" colGap="28" align="center" vAlign="middle">
-      <item url="ui://5mpsibzznd1743"/>
-      <item url="ui://5mpsibzznd1743"/>
+    <list id="n18_vixc" name="RewardList" xy="450,10" size="270,123" layout="row" overflow="hidden" scroll="horizontal" colGap="28" defaultItem="ui://5mpsibzznd1743" align="center" vAlign="middle">
+      <item/>
+      <item/>
     </list>
   </displayList>
 </component>

+ 10 - 0
FGUIProject/assets/Task/components/ButtonAdd.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="61,61" extention="Button">
+  <Button/>
+  <controller name="button" pages="0,up,1,down,2,over,3,selectedOver"/>
+  <displayList>
+    <image id="n0_e3m1" src="uxxstm6" name="n0" xy="0,0">
+      <relation target="" sidePair="width,height"/>
+    </image>
+  </displayList>
+</component>

+ 10 - 0
FGUIProject/assets/Task/components/ButtonReduce.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="59,58" extention="Button">
+  <Button/>
+  <controller name="button" pages="0,up,1,down,2,over,3,selectedOver"/>
+  <displayList>
+    <image id="n0_e3m1" src="uxxstmz" name="n0" xy="0,0">
+      <relation target="" sidePair="width,height"/>
+    </image>
+  </displayList>
+</component>

+ 12 - 0
FGUIProject/assets/Task/components/BuyBattlePassLevelBt.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="260,62" extention="Button">
+  <controller name="button" pages="0,up,1,down,2,over,3,selectedOver" selected="0"/>
+  <displayList>
+    <image id="n0_itts" name="n0" src="a0cf2d" fileName="imagesExport/lm_an.png" pkg="mk0fwx0x" xy="0,0">
+      <relation target="" sidePair="width-width,height-height"/>
+    </image>
+    <image id="n1_itts" name="n1" src="a0cf2h" fileName="imagesNew/lm_tb.png" pkg="eg2y0ldp" xy="68,15"/>
+    <text id="n2_itts" name="title" xy="111,6" size="110,48" fontSize="35" color="#915e15" align="center" vAlign="middle" autoSize="none" text=""/>
+  </displayList>
+  <Button/>
+</component>

+ 7 - 7
FGUIProject/assets/Task/components/ExpProcess.xml

@@ -1,15 +1,15 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="346,22" extention="ProgressBar">
   <displayList>
-    <image id="n0_nd17" name="n0" src="uxxstmw" fileName="images/jyt_dk_2.png" xy="0,0" size="346,22">
+    <image id="n0_e3m1" name="n0" src="uxxstn2" fileName="images/jyt_dk.png" xy="0,0" size="346,22">
       <relation target="" sidePair="width-width,height-height"/>
     </image>
-    <image id="n1_nd17" name="ExpBar" src="uxxstmi" fileName="images/jyt_yellow.png" xy="0,1" size="346,19"/>
-    <image id="n2_nd17" name="n2" src="uxxstm7" fileName="images/txz_lvl_db.png" xy="-99,-50"/>
-    <text id="n3_nd17" name="n3" xy="-51,-23" size="40,31" font="ui://eg2y0ldpa0cftks" fontSize="20" color="#c48624" autoSize="none" text="LV."/>
-    <text id="n4_nd17" name="Level" xy="-50,-11" size="20,62" font="ui://eg2y0ldpa0cftks" fontSize="46" color="#c48624" align="center" autoSize="none" text="2"/>
-    <text id="n5_nd17" name="NumProcess" xy="49,-43" size="76,44" font="ui://eg2y0ldpa0cftks" fontSize="32" color="#7a4e22" align="center" letterSpacing="-1" vars="true" text="{value=0}/{maxValue=100}"/>
-    <image id="n6_nd17" name="n6" src="a0cf2h" fileName="imagesNew/lm_tb.png" pkg="eg2y0ldp" xy="6,-36"/>
+    <image id="n1_e3m1" name="bar" src="uxxstmi" fileName="images/jyt_yellow.png" xy="0,0" size="346,19"/>
+    <image id="n3_e3m1" name="n3" src="uxxstm7" fileName="images/txz_lvl_db.png" xy="-103,-54"/>
+    <text id="n4_e3m1" name="n4" xy="-55,-27" size="40,31" font="ui://eg2y0ldpa0cftks" fontSize="20" color="#c48624" autoSize="none" text="LV."/>
+    <text id="n5_e3m1" name="Level" xy="-54,-15" size="20,62" font="ui://eg2y0ldpa0cftks" fontSize="46" color="#c48624" align="center" autoSize="none" text="2"/>
+    <text id="n6_e3m1" name="NumProcess" xy="45,-47" size="76,44" font="ui://eg2y0ldpa0cftks" fontSize="32" color="#7a4e22" align="center" letterSpacing="-1" vars="true" text="{value=0}/{maxValue=100}"/>
+    <image id="n7_e3m1" name="n7" src="a0cf2h" fileName="imagesNew/lm_tb.png" pkg="eg2y0ldp" xy="2,-40"/>
   </displayList>
   <ProgressBar titleType="valueAndmax"/>
 </component>

+ 15 - 0
FGUIProject/assets/Task/components/ExpProcess2.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="346,22" extention="ProgressBar">
+  <displayList>
+    <image id="n0_nd17" name="n0" src="uxxstn2" fileName="images/jyt_dk.png" xy="0,0" size="346,22">
+      <relation target="" sidePair="width-width,height-height"/>
+    </image>
+    <image id="n1_nd17" name="ExpBar" src="uxxstmi" fileName="images/jyt_yellow.png" xy="0,1" size="346,19"/>
+    <image id="n2_nd17" name="n2" src="uxxstm7" fileName="images/txz_lvl_db.png" xy="-99,-50"/>
+    <text id="n3_nd17" name="n3" xy="-51,-23" size="40,31" font="ui://eg2y0ldpa0cftks" fontSize="20" color="#c48624" autoSize="none" text="LV."/>
+    <text id="n4_nd17" name="Level" xy="-50,-11" size="20,62" font="ui://eg2y0ldpa0cftks" fontSize="46" color="#c48624" align="center" autoSize="none" text="2"/>
+    <text id="n5_nd17" name="NumProcess" xy="49,-43" size="76,44" font="ui://eg2y0ldpa0cftks" fontSize="32" color="#7a4e22" align="center" letterSpacing="-1" vars="true" text="{value=0}/{maxValue=100}"/>
+    <image id="n6_nd17" name="n6" src="a0cf2h" fileName="imagesNew/lm_tb.png" pkg="eg2y0ldp" xy="6,-36"/>
+  </displayList>
+  <ProgressBar/>
+</component>

+ 5 - 2
FGUIProject/assets/Task/package.xml

@@ -5,7 +5,7 @@
     <component id="fqor2n" name="TaskUI.xml" path="/" exported="true"/>
     <component id="fqor2p" name="CombTaskUI.xml" path="/" exported="true"/>
     <component id="nd173r" name="BattlePassRewardUI.xml" path="/" exported="true"/>
-    <component id="nd173t" name="ExpProcess.xml" path="/components/"/>
+    <component id="nd173t" name="ExpProcess2.xml" path="/components/"/>
     <component id="nd173u" name="BattlePassRewardItem.xml" path="/components/"/>
     <component id="nd1742" name="RewardIconBlue.xml" path="/components/"/>
     <component id="nd1743" name="RewardIconYellow.xml" path="/components/"/>
@@ -17,7 +17,6 @@
     <component id="or80tlw" name="BattlePassReward.xml" path="/components/"/>
     <component id="or80tlx" name="OpenBattlePassUI.xml" path="/" exported="true"/>
     <component id="or80tm1" name="BuyBattlePassLevelUI.xml" path="/" exported="true"/>
-    <component id="uxxstm2" name="AddReduceButton.xml" path="/components/"/>
     <image id="uxxstm3" name="bt_db_ptzz.png" path="/images/"/>
     <image id="uxxstm4" name="wz_kqjlzz.png" path="/images/"/>
     <image id="uxxstm5" name="wpk_sz_db2.png" path="/images/"/>
@@ -70,6 +69,10 @@
     <image id="ittstng" name="mrqd_xian.png" path="/images/"/>
     <image id="ittstni" name="wz_gmzzdj.png" path="/images/"/>
     <component id="ittstnj" name="ButtonBuyBattlePassLevel.xml" path="/components/"/>
+    <component id="ittstnk" name="BuyBattlePassLevelBt.xml" path="/components/"/>
+    <component id="e3m1tnl" name="ExpProcess.xml" path="/components/"/>
+    <component id="e3m1tnm" name="ButtonAdd.xml" path="/components/"/>
+    <component id="e3m1tnn" name="ButtonReduce.xml" path="/components/"/>
   </resources>
   <publish name="" path="../GameClient/Assets/ResIn/UI/Task" packageCount="2" genCode="true" extractAlpha="true"/>
 </packageDescription>

+ 47 - 44
GameClient/Assets/Game/HotUpdate/Constant/ConstMessage.cs

@@ -10,7 +10,7 @@ namespace GFGGame
         public const string ITEM_CHANGED = "ITEM_CHANGED";
         public const string ITEM_ATTRIBUTE_CHANGED = "ITEM_ATTRIBUTE_CHANGED";
 
-        public const string STORY_LEVEL_CHANGE = "STORY_LEVEL_CHANGE";//ͨ���¾�����¹ؿ�
+        public const string STORY_LEVEL_CHANGE = "STORY_LEVEL_CHANGE"; //ͨ���¾�����¹ؿ�
 
         public const string SUIT_BOX_STATUS_CHANGED = "SUIT_BOX_STATUS_CHANGED";
         public const string CJ_FINISH = "CJ_FINISH";
@@ -39,6 +39,7 @@ namespace GFGGame
         public const string CARD_UP_SKILL = "CARD_UP_SKILL";
         public const string NUMERIC_CHANGE = "NUMERIC_CHANGE";
         public const string LIVENESS_CHANGE = "LIVENESS_CHANGE";
+        public const string BATTLEPASS_LEVEL_CHANGE = "BATTLEPASS_LEVEL_CHANGE";
 
 
         public const string GET_SUIT_INFOS = "GET_SUIT_INFOS";
@@ -49,10 +50,10 @@ namespace GFGGame
         //����ս��������ɣ�չʾ����
         public const string STORY_FIGHT_QUICKLY_SUCCESS = "STORY_FIGHT_QUICKLY_SUCCESS";
 
-        public const string NOTICE_LIMIT_CHANGED = "NOTICE_LIMIT_CHANGED";//���ƴ����仯֪ͨ
+        public const string NOTICE_LIMIT_CHANGED = "NOTICE_LIMIT_CHANGED"; //���ƴ����仯֪ͨ
 
-        public const string FILING_SCORE_CHANGE = "FILING_SCORE_CHANGE";//���Ľ������������仯
-        public const string FILLING_CHANGE_CHAPTER = "FILLING_CHANGE_CHAPTER";//���Ľ����л�npc
+        public const string FILING_SCORE_CHANGE = "FILING_SCORE_CHANGE"; //���Ľ������������仯
+        public const string FILLING_CHANGE_CHAPTER = "FILLING_CHANGE_CHAPTER"; //���Ľ����л�npc
 
 
         public const string NOTICE_MAINSTORY_BOXBONUS_STATE = "NOTICE_MAINSTORY_BOXBONUS_STATE";
@@ -61,61 +62,63 @@ namespace GFGGame
 
         public const string LUCKY_BOX = "LUCKY_BOX";
 
-        public const string BUY_RECHARGE_SUCCESS = "BUY_RECHARGE_SUCCESS";//��ֵ�ɹ�
-        public const string BUY_GIFT_SUCCESS = "BUY_GIFT_SUCCESS";//��������ɹ�
-        public const string BUY_EXCHANGE_SUCCESS = "BUY_EXCHANGE_SUCCESS";//�̳Ƕһ��ɹ�
+        public const string BUY_RECHARGE_SUCCESS = "BUY_RECHARGE_SUCCESS"; //��ֵ�ɹ�
+        public const string BUY_GIFT_SUCCESS = "BUY_GIFT_SUCCESS"; //��������ɹ�
+        public const string BUY_EXCHANGE_SUCCESS = "BUY_EXCHANGE_SUCCESS"; //�̳Ƕһ��ɹ�
 
-        public const string LOGIN_SUCCESS = "LOGIN_SUCCESS";//��¼�ɹ�
-        public const string LOGIN_FAIL = "LOGIN_FAIL";//��¼ʧ��
-        public const string SERVER_CHANGE = "SERVER_CHANGE";//��������
+        public const string LOGIN_SUCCESS = "LOGIN_SUCCESS"; //��¼�ɹ�
+        public const string LOGIN_FAIL = "LOGIN_FAIL"; //��¼ʧ��
+        public const string SERVER_CHANGE = "SERVER_CHANGE"; //��������
 
-        public const string FIELD_RESULT = "FIELD_RESULT";//��Ұ����
-        public const string FIELD_TASK = "FIELD_TASK";//��Ұ����
+        public const string FIELD_RESULT = "FIELD_RESULT"; //��Ұ����
+        public const string FIELD_TASK = "FIELD_TASK"; //��Ұ����
 
-        public const string NOTICE_SYSTOM_ADD = "NOTICE_SYSTOM_ADD";//��������
-        public const string NOTICE_SYSTOM_REMOVE = "NOTICE_SYSTOM_REMOVE";//ɾ������
+        public const string NOTICE_SYSTOM_ADD = "NOTICE_SYSTOM_ADD"; //��������
+        public const string NOTICE_SYSTOM_REMOVE = "NOTICE_SYSTOM_REMOVE"; //ɾ������
 
-        public const string SUIT_GUIDE_BOX_BONUS = "SUIT_GUIDE_BOX_BONUS";//��ȡ��װ�ռ�����
-        public const string JUMP_TO_SOURCE = "JUMP_TO_SOURCE";//��ת����Դ
+        public const string SUIT_GUIDE_BOX_BONUS = "SUIT_GUIDE_BOX_BONUS"; //��ȡ��װ�ռ�����
+        public const string JUMP_TO_SOURCE = "JUMP_TO_SOURCE"; //��ת����Դ
 
-        public const string FINSH_GUIDE_INDEX = "FINSH_GUIDE_INDEX";//���һ������
-        public const string RED_CHANGE = "RED_CHANGE";//���仯��������ɾ��
+        public const string FINSH_GUIDE_INDEX = "FINSH_GUIDE_INDEX"; //���һ������
+        public const string RED_CHANGE = "RED_CHANGE"; //���仯��������ɾ��
 
-        public const string FRIEND_REFRESH = "FRIEND_REFRESH";//ˢ�º����б�
-        public const string FRIEND_ADD = "FRIEND_ADD";//��������
-        public const string FRIEND_REMOVE = "FRIEND_REMOVE";//ɾ������
-        public const string FRIEND_APPLY_CHANGE = "FRIEND_APPLY_CHANGE";//���������б��仯
+        public const string FRIEND_REFRESH = "FRIEND_REFRESH"; //ˢ�º����б�
+        public const string FRIEND_ADD = "FRIEND_ADD"; //��������
+        public const string FRIEND_REMOVE = "FRIEND_REMOVE"; //ɾ������
+        public const string FRIEND_APPLY_CHANGE = "FRIEND_APPLY_CHANGE"; //���������б��仯
 
-        public const string ITEM_READ = "ITEM_READ";//��Ʒ�Ѷ��ظ�
+        public const string ITEM_READ = "ITEM_READ"; //��Ʒ�Ѷ��ظ�
 
-        public const string POEM_PHOTO_INFOS_CHANGE = "POEM_PHOTO_INFOS_CHANGE";//������ݱ仯
+        public const string POEM_PHOTO_INFOS_CHANGE = "POEM_PHOTO_INFOS_CHANGE"; //������ݱ仯
 
-        public const string CHANGE_ROLE_NAME = "CHANGE_ROLE_NAME";//�޸��������
-        public const string CHANGE_ROLE_HEAD = "CHANGE_ROLE_HEAD";//�޸����ͷ��ͷ���
+        public const string CHANGE_ROLE_NAME = "CHANGE_ROLE_NAME"; //�޸��������
+        public const string CHANGE_ROLE_HEAD = "CHANGE_ROLE_HEAD"; //�޸����ͷ��ͷ���
 
-        public const string TRAVEL_STATE_CHANGE = "TRAVEL_STATE_CHANGE";//����״̬�仯
+        public const string TRAVEL_STATE_CHANGE = "TRAVEL_STATE_CHANGE"; //����״̬�仯
 
-        public const string GALLERY_DATA_CHANGE = "GALLERY_DATA_CHANGE";//�������ݱ仯
-        public const string GALLERY_RANK_DATA_CHANGE = "GALLERY_RANK_DATA_CHANGE";//�������а����ݱ仯
+        public const string GALLERY_DATA_CHANGE = "GALLERY_DATA_CHANGE"; //�������ݱ仯
+        public const string GALLERY_RANK_DATA_CHANGE = "GALLERY_RANK_DATA_CHANGE"; //�������а����ݱ仯
 
-        public const string DOWNLOAD_FINISH = "DOWNLOAD_FINISH";//�������
-        public const string DOWNLOAD_FINISH_ONE = "DOWNLOAD_FINISH_ONE";//�������һ��
+        public const string DOWNLOAD_FINISH = "DOWNLOAD_FINISH"; //�������
+        public const string DOWNLOAD_FINISH_ONE = "DOWNLOAD_FINISH_ONE"; //�������һ��
 
-        public const string ARENA_FIGHT_RESULT = "ARENA_FIGHT_RESULT";//������ս������
+        public const string ARENA_FIGHT_RESULT = "ARENA_FIGHT_RESULT"; //������ս������
+
+        public const string LEAGUE_MEMBER_CHANGE = "LEAGUE_MEMBER_CHANGE"; //���˳�Ա�仯
 
-        public const string LEAGUE_MEMBER_CHANGE = "LEAGUE_MEMBER_CHANGE";//���˳�Ա�仯
         // public const string LEAGUE_MEMBER_POS_CHANGE = "LEAGUE_MEMBER_POS_CHANGE";//���˳�Աְλ�仯
-        public const string LEAGUE_LOG_CHANGE = "LEAGUE_LOG_CHANGE";//������־�仯
-        public const string LEAGUE_INFO_CHANGE = "LEAGUE_INFO_CHANGE";//������Ϣ�仯
-        public const string LEAGUE_NUMBERIC_CHANGE = "LEAGUE_NUMBERIC_CHANGE";//������ֵ�仯
-        public const string LEAGUE_ANSWER_MEMBER_CHANGE = "LEAGUE_ANSWER_MEMBER_CHANGE";//���˼����˳������Ŀ
-        public const string LEAGUE_ANSWER_RESULT_CHANGE = "LEAGUE_ANSWER_RESULT_CHANGE";//�������˴����Ŀ
-        public const string LEAGUE_ANSWER_START = "LEAGUE_ANSWER_START";//������һ�ִ��⿪ʼ
-        public const string LEAGUE_ANSWER_END = "LEAGUE_ANSWER_END";//���˱��ִ������
-        // public const string LEAGUE_ANSWER_STATE_CHANGE = "LEAGUE_ANSWER_STATE_CHANGE";//���˴���״̬����
-        public const string OTHER_ROLE_INFO_CHANGE = "OTHER_ROLE_INFO_CHANGE";//���������Ϣ�仯
-        public const string NOTICE_CHAT_MESSAGE = "NOTICE_CHAT_MESSAGE";//֪ͨ������Ϣ
-        public const string ACTIVE_SKILL = "ACTIVE_SKILL";//���ܼ���
+        public const string LEAGUE_LOG_CHANGE = "LEAGUE_LOG_CHANGE"; //������־�仯
+        public const string LEAGUE_INFO_CHANGE = "LEAGUE_INFO_CHANGE"; //������Ϣ�仯
+        public const string LEAGUE_NUMBERIC_CHANGE = "LEAGUE_NUMBERIC_CHANGE"; //������ֵ�仯
+        public const string LEAGUE_ANSWER_MEMBER_CHANGE = "LEAGUE_ANSWER_MEMBER_CHANGE"; //���˼����˳������Ŀ
+        public const string LEAGUE_ANSWER_RESULT_CHANGE = "LEAGUE_ANSWER_RESULT_CHANGE"; //�������˴����Ŀ
+        public const string LEAGUE_ANSWER_START = "LEAGUE_ANSWER_START"; //������һ�ִ��⿪ʼ
 
+        public const string LEAGUE_ANSWER_END = "LEAGUE_ANSWER_END"; //���˱��ִ������
+
+        // public const string LEAGUE_ANSWER_STATE_CHANGE = "LEAGUE_ANSWER_STATE_CHANGE";//���˴���״̬����
+        public const string OTHER_ROLE_INFO_CHANGE = "OTHER_ROLE_INFO_CHANGE"; //���������Ϣ�仯
+        public const string NOTICE_CHAT_MESSAGE = "NOTICE_CHAT_MESSAGE"; //֪ͨ������Ϣ
+        public const string ACTIVE_SKILL = "ACTIVE_SKILL"; //���ܼ���
     }
 }

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Constant/ConstStoreSubId.cs

@@ -11,6 +11,7 @@ namespace GFGGame
         public const int STORE_GIFT_BAG_GREATEST = 2;//精选
         public const int STORE_GIFT_BAG_HOT = 3;//热销
         public const int STORE_EXCHANGE_GALLERY = 0;//画廊商城
+        public const int STORE_EXCHANGE_LEAGUE = 1;//雅集商城
         public const int STORE_ARENA_ITEM = 0;//竞技场
         public const int FU_ZHUANG_DIAN = 0;//服装店
 

+ 91 - 4
GameClient/Assets/Game/HotUpdate/Data/BattlePassTaskDataManager.cs

@@ -1,4 +1,5 @@
 using System.Collections.Generic;
+using System.Linq;
 using ET;
 
 namespace GFGGame
@@ -6,14 +7,14 @@ namespace GFGGame
     public class BattlePassTaskDataManager : Singleton<BattlePassTaskDataManager>
     {
         //通行证赛季Id
-        private int SeasonId = 0;
+        private int SeasonId;
 
         //是否购买通行证
-        private bool IsBuy = false;
+        private bool IsBuy;
 
+        private long SeasonEndTime;
 
-        private long SeasonEndTime = 0;
-
+        private SelectionCache<int, int> selectionCache;
 
         //已经领奖levelId
         private HashSet<int> NormalRewards = new HashSet<int>();
@@ -21,6 +22,9 @@ namespace GFGGame
         //已经高级领奖levelId
         private HashSet<int> SuperRewards = new HashSet<int>();
 
+        //所有特别奖励
+        private List<KeyValuePair<int, long>> tempItems = new List<KeyValuePair<int, long>>();
+
         public int GetSeasonId()
         {
             return SeasonId;
@@ -44,6 +48,8 @@ namespace GFGGame
             var seasonCfg = BattlePassOpenCfgArray.Instance.GetCfg(seasonId);
             if (seasonCfg == null) return;
             SeasonEndTime = TimeUtil.GetResetTimeSec(seasonCfg.endTime);
+            SetSpecialCfgCache();
+            InitItemTemp();
         }
 
         public void SetIsBuy(bool isBuy)
@@ -51,6 +57,21 @@ namespace GFGGame
             IsBuy = isBuy;
         }
 
+        public bool GetIsBuy()
+        {
+            return IsBuy;
+        }
+
+        //0:未完成 1:可领取 2:已领取 3:继续领取
+        public int GetRewardState(int level)
+        {
+            var battlePassLevel = GetBattlePassLevel();
+            if (level > battlePassLevel) return 0;
+            if (!NormalRewards.Contains(level)) return 1;
+            if (!IsBuy) return 2;
+            return !SuperRewards.Contains(level) ? 3 : 2;
+        }
+
         //检查普通领取状态
         public bool CheckLevelRewardGet(int levelId)
         {
@@ -74,5 +95,71 @@ namespace GFGGame
         {
             return GameGlobal.myNumericComponent.GetAsInt(NumericType.PassLevel);
         }
+
+        //获取通行证当前经验
+        public long GetBattlePassExp()
+        {
+            return ItemDataManager.GetItemNum(ConstItemID.BATTLE_PASS_CURRENCY);
+        }
+
+        public BattlePassCfg GetSpecialCfg(int level)
+        {
+            var targetLevel = selectionCache.GetValueNoCache(level);
+            return BattlePassCfgArray.Instance.GetCfgByidAndlevel(SeasonId, targetLevel);
+        }
+
+        private void SetSpecialCfgCache()
+        {
+            var battlePassCfgs = BattlePassCfgArray.Instance.GetCfgsByidAndisGood(GetSeasonId(), 1);
+            var minIndex = 0;
+            var selections = new List<Selection<int, int>>();
+            foreach (var battlePassCfg in battlePassCfgs)
+            {
+                selections.Add(new Selection<int, int>(minIndex, battlePassCfg.level, battlePassCfg.level,
+                    Selection<int, int>.SelectionModel.AllInclude));
+                minIndex = battlePassCfg.level + 1;
+            }
+            selectionCache = new SelectionCache<int, int>(battlePassCfgs[0].level);
+            selectionCache.AddSelection(selections);
+        }
+
+        //获取所有特别奖励
+        public List<KeyValuePair<int, long>> GetAllSpecialCfg()
+        {
+            return tempItems;
+        }
+
+        private void InitItemTemp()
+        {
+            tempItems.Clear();
+            var battlePassCfgs = BattlePassCfgArray.Instance.GetCfgsByid(GetSeasonId());
+            var items = new Dictionary<int, long>();
+            foreach (var itemsInfo in battlePassCfgs.SelectMany(battlePassCfg => battlePassCfg.bonusSpecialArr))
+            {
+                items.TryGetValue(itemsInfo[0], out var num);
+                items[itemsInfo[0]] = num + itemsInfo[1];
+            }
+            foreach (var item in items)
+            {
+                tempItems.Add(item);
+            }
+        }
+
+        //获取升级奖励
+        public int[][] GetUpLevelReward(int upLevel)
+        {
+            var battlePassLevel = GetBattlePassLevel();
+            var seasonId = GetSeasonId();
+            int[][] rs = null;
+            for (var i = upLevel; i > 0; i--)
+            {
+                var passLevel = battlePassLevel + i;
+                var cfg = BattlePassCfgArray.Instance.GetCfgByidAndlevel(seasonId, passLevel);
+                if (cfg == null) continue;
+                var mergeBonus = ItemUtil.MergeBonus(cfg.bonusNormalArr, cfg.bonusSpecialArr);
+                rs = ItemUtil.MergeBonus(rs, mergeBonus);
+            }
+            return rs;
+        }
     }
 }

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Data/DailyTaskDataManager.cs

@@ -6,7 +6,7 @@ namespace GFGGame
     public class DailyTaskDataManager : SingletonBase<DailyTaskDataManager>
     {
         private Dictionary<int, int> _livenessBoxInfos = new Dictionary<int, int>();
-        public Dictionary<int, int> LivenessBoxInfos => _livenessBoxInfos;
+        // public Dictionary<int, int> LivenessBoxInfos => _livenessBoxInfos;
 
         public void Clear()
         {

+ 9 - 0
GameClient/Assets/Game/HotUpdate/Data/FriendDataManager.cs

@@ -23,6 +23,15 @@ namespace GFGGame
             }
         }
 
+        //可领取体力的上限值
+        public int maxGetPowerCount
+        {
+            get
+            {
+                return GlobalCfgArray.globalCfg.maxGetPowerCount + GameGlobal.myNumericComponent.GetAsInt(ET.NumericType.MonthCardFriendPowerAdd);
+            }
+        }
+
         private Dictionary<long, FriendInfoData> _friendDic = new Dictionary<long, FriendInfoData>();//好友列表
         private List<FriendInfoData> _list = new List<FriendInfoData>();
         public List<FriendInfoData> FriendDatas

+ 15 - 9
GameClient/Assets/Game/HotUpdate/Data/ItemDataManager.cs

@@ -1,4 +1,5 @@
 using System.Collections.Generic;
+using System.Linq;
 using ET;
 using UnityEngine;
 
@@ -8,11 +9,14 @@ namespace GFGGame
     {
         private static Dictionary<int, ItemData> _dataDic = new Dictionary<int, ItemData>();
         private static Dictionary<int, int> _itemExchangeDic = new Dictionary<int, int>();
+
         delegate object MemberGetDelegate(ItemCfg p);
+
         public static void Clear()
         {
             _itemExchangeDic.Clear();
         }
+
         public static void Add(int itemID, long itemNum)
         {
             ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemID);
@@ -27,8 +31,7 @@ namespace GFGGame
                 itemData = _dataDic[itemID];
                 if (itemCfg.itemType == ConstItemType.CARD)
                 {
-                    return;//每张卡牌只有一张
-
+                    return; //每张卡牌只有一张
                 }
             }
             else
@@ -51,15 +54,14 @@ namespace GFGGame
 
                 if (dataInited
                     && itemCfg.rarity == ConstDressRarity.Rarity_TIANYI
-                    && StorageDataManager.Instance.GetStorageValue(ConstStorageId.FUNCTION_OPEN + functionOpenCfg.index) == 0)
+                    && StorageDataManager.Instance.GetStorageValue(ConstStorageId.FUNCTION_OPEN +
+                                                                   functionOpenCfg.index) == 0)
                 {
-
                     FunctionOpenDataManager.Instance.CheckHasSpecialFunOpen();
                 }
             }
-            
-            if (itemCfg.itemType == ConstItemType.ITEM ||
-                itemCfg.itemType == ConstItemType.GIFT_BAG && itemData.num > 0)
+            if ((itemCfg.itemType == ConstItemType.ITEM || itemCfg.itemType == ConstItemType.GIFT_BAG) &&
+                itemData.num > 0)
             {
                 BagDataManager.Instance.Add(itemData);
             }
@@ -108,7 +110,8 @@ namespace GFGGame
                     }
                 }
 
-                if (itemCfg.itemType == ConstItemType.DRESS_UP && !DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemID))
+                if (itemCfg.itemType == ConstItemType.DRESS_UP &&
+                    !DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemID))
                 {
                     DecomposeDataManager.Instance.Remove(itemID);
                 }
@@ -155,6 +158,7 @@ namespace GFGGame
                 }
             }
         }
+
         public static void InitItemExchange(int itemId, int exchangTimes)
         {
             if (_itemExchangeDic.ContainsKey(itemId))
@@ -166,6 +170,7 @@ namespace GFGGame
                 _itemExchangeDic.Add(itemId, exchangTimes);
             }
         }
+
         //获取物品已兑换次数
         public static int GetItemExchangeTimes(int itemId)
         {
@@ -232,6 +237,7 @@ namespace GFGGame
             }
             return 0;
         }
+
         /// <summary>
         /// 获取一个换装部件对应的标签分数
         /// </summary>
@@ -256,10 +262,10 @@ namespace GFGGame
                         score += int.Parse(itemCfg.tagsArr[i][1]);
                     }
                 }
-
             }
             return score;
         }
+
         /// <summary>
         /// 检测一件服装是否包含要求的标签
         /// </summary>

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Data/RedDotDataManager.cs

@@ -115,7 +115,7 @@ namespace GFGGame
         /// <returns></returns>
         public bool GetFriendGiftRed()
         {
-            if (FriendDataManager.Instance.Count >= GlobalCfgArray.globalCfg.maxGetPowerCount) return false;
+            if (FriendDataManager.Instance.Count >= FriendDataManager.Instance.maxGetPowerCount) return false;
 
             List<FriendInfoData> friendInfos = FriendDataManager.Instance.FriendDatas;
             for (int i = 0; i < friendInfos.Count; i++)

+ 10 - 2
GameClient/Assets/Game/HotUpdate/Data/RoleDataManager.cs

@@ -44,6 +44,14 @@ namespace GFGGame
             }
         }
 
+        public static int powerLimit
+        {
+            get
+            {
+                return GameGlobal.myNumericComponent.GetAsInt(NumericType.PowerLimit) + GameGlobal.myNumericComponent.GetAsInt(NumericType.MonthCardPowerLimitAdd);
+            }
+        }
+
         public static long gold
         {
             get
@@ -186,7 +194,7 @@ namespace GFGGame
 
         public static bool CheckPowerFull()
         {
-            return RoleDataManager.power >= GameGlobal.myNumericComponent.GetAsInt(NumericType.PowerLimit);
+            return RoleDataManager.power >= powerLimit;
         }
 
         public static void InitServerData()
@@ -208,7 +216,7 @@ namespace GFGGame
             {
                 return TimeHelper.ServerNow() < GameGlobal.myNumericComponent.GetAsInt(NumericType.MonthCardBlackGoldEndTime);
             }
-            return false;
+            return true;
         }
         public static OtherRoleInfoData GetOtherRoleInfoData(OtherRoleInfoProto otherRoleInfo)
         {

+ 79 - 37
GameClient/Assets/Game/HotUpdate/Data/ShopDataManager.cs

@@ -162,47 +162,75 @@ namespace GFGGame
             // return giftBagCfgs;
             return null;
         }
-
-        public List<ShopCfg> SortGiftBagCfgs(List<ShopCfg> shopCfgs)
+        public List<ShopCfg> SortShopGoodsCfgs(List<ShopCfg> shopCfgs)
         {
             shopCfgs.Sort((ShopCfg a, ShopCfg b) =>
             {
-
-                //未售罄的>未解锁>已售罄的
+                //未售罄的>已售罄的
                 int buyTypeA = (a.maxBuyNum == 0 || a.maxBuyNum - GetGoodsBuyNumById(a.id) > 0) ? 1 : -1;
                 int buyTypeB = (b.maxBuyNum == 0 || b.maxBuyNum - GetGoodsBuyNumById(b.id) > 0) ? 1 : -1;
                 if (buyTypeA > buyTypeB) return -1;
                 if (buyTypeA < buyTypeB) return 1;
 
-                //解锁状态
-                int lockA = GetShopGoodsStateById(a.id) ? 1 : -1;
-                int lockB = GetShopGoodsStateById(b.id) ? 1 : -1;
-                if (lockA > lockB) return -1;
-                if (lockA < lockB) return 1;
+                return a.id - b.id;
+            });
+            return shopCfgs;
+        }
+        public List<int> GetShopCostIds(List<ShopCfg> shopCfgs)
+        {
+            List<int> costIds = new List<int>();
+            for (int i = 0; i < shopCfgs.Count; i++)
+            {
+                if (shopCfgs[i].costId == 0) continue;
+                if (costIds.IndexOf(shopCfgs[i].costId) < 0)
+                {
+                    costIds.Add(shopCfgs[i].costId);
+                }
+            }
+            return costIds;
+        }
+        // public List<ShopCfg> SortGiftBagCfgs(List<ShopCfg> shopCfgs)
+        // {
+        //     shopCfgs.Sort((ShopCfg a, ShopCfg b) =>
+        //     {
 
-                //免费>钻石>现金>道具
-                if (a.costType < b.costType) return -1;
-                if (a.costType > b.costType) return 1;
+        //         //未售罄的>未解锁>已售罄的
+        //         int buyTypeA = (a.maxBuyNum == 0 || a.maxBuyNum - GetGoodsBuyNumById(a.id) > 0) ? 1 : -1;
+        //         int buyTypeB = (b.maxBuyNum == 0 || b.maxBuyNum - GetGoodsBuyNumById(b.id) > 0) ? 1 : -1;
+        //         if (buyTypeA > buyTypeB) return -1;
+        //         if (buyTypeA < buyTypeB) return 1;
 
-                //有下架时间的 > 没有下架时间的
-                int endTimeA = a.endTime != "" ? 1 : -1;
-                int endTimeB = b.endTime != "" ? 1 : -1;
-                if (endTimeA > endTimeB) return -1;
-                if (endTimeA < endTimeB) return 1;
+        //         //解锁状态
+        //         int lockA = GetShopGoodsStateById(a.id) ? 1 : -1;
+        //         int lockB = GetShopGoodsStateById(b.id) ? 1 : -1;
+        //         if (lockA > lockB) return -1;
+        //         if (lockA < lockB) return 1;
 
+        //         //免费>钻石>现金>道具
+        //         if (a.costType < b.costType) return -1;
+        //         if (a.costType > b.costType) return 1;
 
+        //         //有下架时间的 > 没有下架时间的
+        //         int endTimeA = a.endTime != "" ? 1 : -1;
+        //         int endTimeB = b.endTime != "" ? 1 : -1;
+        //         if (endTimeA > endTimeB) return -1;
+        //         if (endTimeA < endTimeB) return 1;
 
-                int disCountA = GetShopGoodsDiscount(a.id);
-                int disCountB = GetShopGoodsDiscount(b.id);
-                if (disCountA != disCountB) return disCountA - disCountB;
 
-                if (a.price != b.price) return a.price - b.price;
+        //         //折扣打的>折扣小的
+        //         int disCountA = GetShopGoodsDiscount(a.id);
+        //         int disCountB = GetShopGoodsDiscount(b.id);
+        //         if (disCountA > disCountB) return -1;
+        //         if (disCountA < disCountB) return 1;
 
+        //         //价格低的>价格高的
+        //         if (a.price != b.price) return a.price - b.price;
 
-                return 0;
-            });
-            return shopCfgs;
-        }
+
+        //         return 0;
+        //     });
+        //     return shopCfgs;
+        // }
         //获取商品折扣百分比
         public int GetShopGoodsDiscount(int goodsId)
         {
@@ -279,33 +307,39 @@ namespace GFGGame
         //     return shopExchangeCfgs;
         // }
         /// <summary>
-        /// 根据商品Id获取商品是否解锁解锁
+        /// 根据商品Id获取商品是否解锁
         /// /// </summary>
         /// <param name="goodsId"></param>
         /// <returns></returns>
         public bool GetShopGoodsStateById(int goodsId)
         {
-            ShopCfg cfg = ShopCfgArray.Instance.GetCfg(goodsId);
+            ShopCfg shopCfg = ShopCfgArray.Instance.GetCfg(goodsId);
 
-            if (cfg.lockType == LockType.NONE)
+            if (shopCfg.lockType == LockType.NONE)
             {
                 return true;
             }
-            else if (cfg.lockType == LockType.STORY_LV)
+            else if (shopCfg.lockType == LockType.STORY_LV)
             {
-                return InstanceZonesDataManager.CheckLevelPass(cfg.lockValue);
+                return InstanceZonesDataManager.CheckLevelPass(shopCfg.lockValue);
             }
-            else if (cfg.lockType == LockType.ROLE_LV)
+            else if (shopCfg.lockType == LockType.ROLE_LV)
             {
-                return GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl) >= cfg.lockValue;
+                return GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl) >= shopCfg.lockValue;
             }
-            else if (cfg.lockType == LockType.MONTH_CARD_TYPE)
+            else if (shopCfg.lockType == LockType.MONTH_CARD_TYPE)
             {
-                return RoleDataManager.CheckIsMonthCardOpenByType(cfg.lockValue);
+                return RoleDataManager.CheckIsMonthCardOpenByType(shopCfg.lockValue);
             }
-            else if (cfg.lockType == LockType.AREND_GRADE)
+            else if (shopCfg.lockType == LockType.AREND_GRADE)
             {
-                return ArenaDataManager.Instance.Grade >= cfg.lockValue;
+                int lockValue = shopCfg.lockValue;
+                if (shopCfg.menu1 == ConstStoreTabId.STORE_ARENA && shopCfg.menu2 != ConstStoreSubId.STORE_ARENA_ITEM)
+                {
+                    bool isDown = ArenaDataManager.Instance.SeasonId - GlobalCfgArray.globalCfg.seasonReduce >= 0;
+                    lockValue = isDown ? Math.Min(1, shopCfg.lockValue - GlobalCfgArray.globalCfg.rankReduce) : shopCfg.lockValue;
+                }
+                return ArenaDataManager.Instance.Grade >= lockValue;
             }
             return true;
         }
@@ -332,7 +366,15 @@ namespace GFGGame
             }
             else if (shopCfg.lockType == LockType.AREND_GRADE)
             {
-                return string.Format("飞花令达到段位-{0}解锁", shopCfg.lockValue);
+                int lockValue = shopCfg.lockValue;
+                if (shopCfg.menu1 == ConstStoreTabId.STORE_ARENA && shopCfg.menu2 != ConstStoreSubId.STORE_ARENA_ITEM)
+                {
+                    bool isDown = ArenaDataManager.Instance.SeasonId - GlobalCfgArray.globalCfg.seasonReduce >= 0;
+                    lockValue = isDown ? Math.Min(1, shopCfg.lockValue - GlobalCfgArray.globalCfg.rankReduce) : shopCfg.lockValue;
+                }
+                ArenaRankCfg arenaRankCfg = ArenaRankCfgArray.Instance.GetCfg(lockValue);
+
+                return string.Format("飞花令段位达到{0}解锁", arenaRankCfg.gradeName);
             }
             return "";
         }

+ 11 - 10
GameClient/Assets/Game/HotUpdate/Data/ShopViewManager.cs

@@ -73,7 +73,7 @@ namespace GFGGame
                 item.m_btnBuy.m_txtOriginalPrice.text = NumberUtil.ChangeNumberUnit(shopCfg.originalPrice);
                 if (shopCfg.price > 0 && shopCfg.costType != CostType.FREE)//不免费
                 {
-                    item.m_btnBuy.m_grpOriginalPrice.visible = shopCfg.originalPrice > 0;
+                    item.m_btnBuy.m_grpOriginalPrice.visible = shopCfg.originalPrice > 0 && shopCfg.originalPrice != shopCfg.price;
                     item.m_btnBuy.m_loaIcon.visible = true;
                     item.m_btnBuy.m_txtPrice.text = NumberUtil.ChangeNumberUnit(shopCfg.price);// cfg.price.ToString();
 
@@ -126,15 +126,16 @@ namespace GFGGame
                 return;
             }
 
-            if (cfg.costType == CostType.RMB)
-            {
-                if (!AntiAddictionController.CheckAntiAddictionRecharge(cfg.price))
-                {
-                    ShopSProxy.ReqShopBuy(cfg.id, 1).Coroutine();
-                    LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.SHANG_CHENG, 2);
-                }
-            }
-            else if (cfg.costType == CostType.FREE)
+            // if (cfg.costType == CostType.RMB)
+            // {
+            //     if (!AntiAddictionController.CheckAntiAddictionRecharge(cfg.price))
+            //     {
+            //         ShopSProxy.ReqShopBuy(cfg.id, 1).Coroutine();
+            //         LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.SHANG_CHENG, 2);
+            //     }
+            // }
+            // else 
+            if (cfg.costType == CostType.FREE)
             {
                 ShopSProxy.ReqShopBuy(cfg.id, 1).Coroutine();
                 LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.SHANG_CHENG, 2);

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Data/TaskDataManager.cs

@@ -40,11 +40,11 @@ namespace GFGGame
             if (taskInfo == null)
             {
                 TaskInfosDic.Add(taskId, info);
-                TaskType2TaskIdListDic.TryGetValue(cfg.type, out var taskIds);
+                TaskType2TaskIdListDic.TryGetValue(cfg.taskType, out var taskIds);
                 if (taskIds == null)
                 {
                     taskIds = new List<int>();
-                    TaskType2TaskIdListDic.Add(cfg.type, taskIds);
+                    TaskType2TaskIdListDic.Add(cfg.taskType, taskIds);
                 }
                 taskIds.Add(taskId);
             }

+ 71 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ButtonInValueBar.cs

@@ -0,0 +1,71 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.CommonGame
+{
+    public partial class UI_ButtonInValueBar
+    {
+        public GButton target;
+        public GImage m_imgAdd;
+        public const string URL = "ui://eg2y0ldpr9gf5z";
+        public const string PACKAGE_NAME = "CommonGame";
+        public const string RES_NAME = "ButtonInValueBar";
+        private static UI_ButtonInValueBar _proxy;
+
+        public static UI_ButtonInValueBar Create(GObject gObject = null)
+        {
+            var ui = new UI_ButtonInValueBar();
+            if(gObject == null)
+            	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GButton)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_ButtonInValueBar Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ButtonInValueBar();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GButton)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_imgAdd = (GImage)comp.GetChild("imgAdd");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_imgAdd = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ButtonInValueBar.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: bc6317852ede26a4fbcf6a70f767e8bd
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 36 - 22
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComponentValueBar.cs

@@ -8,17 +8,18 @@ namespace UI.CommonGame
     {
         public GComponent target;
         public Controller m_c1;
-        public GButton m_btnCJLuoXing;
-        public GButton m_btnCJHuoDong;
-        public GButton m_btnTravel;
-        public GButton m_btnGallery;
-        public GButton m_btnPower;
-        public GButton m_btnCJ;
-        public GButton m_btnGold;
-        public GButton m_btnDiamondRed;
-        public GButton m_btnDiamondPurple;
-        public GButton m_btnArena;
-        public GButton m_btnLeagueContribuation;
+        public UI_ButtonInValueBar m_btnCJLuoXing;
+        public UI_ButtonInValueBar m_btnCJHuoDong;
+        public UI_ButtonInValueBar m_btnTravel;
+        public UI_ButtonInValueBar m_btnGallery;
+        public UI_ButtonInValueBar m_btnPower;
+        public UI_ButtonInValueBar m_btnCJ;
+        public UI_ButtonInValueBar m_btnGold;
+        public UI_ButtonInValueBar m_btnDiamondRed;
+        public UI_ButtonInValueBar m_btnDiamondPurple;
+        public UI_ButtonInValueBar m_btnArena;
+        public UI_ButtonInValueBar m_btnLeagueContribuation;
+        public GList m_list;
         public const string URL = "ui://eg2y0ldpv3541v";
         public const string PACKAGE_NAME = "CommonGame";
         public const string RES_NAME = "ComponentValueBar";
@@ -67,32 +68,45 @@ namespace UI.CommonGame
         private void Init(GComponent comp)
         {
             m_c1 = comp.GetController("c1");
-            m_btnCJLuoXing = (GButton)comp.GetChild("btnCJLuoXing");
-            m_btnCJHuoDong = (GButton)comp.GetChild("btnCJHuoDong");
-            m_btnTravel = (GButton)comp.GetChild("btnTravel");
-            m_btnGallery = (GButton)comp.GetChild("btnGallery");
-            m_btnPower = (GButton)comp.GetChild("btnPower");
-            m_btnCJ = (GButton)comp.GetChild("btnCJ");
-            m_btnGold = (GButton)comp.GetChild("btnGold");
-            m_btnDiamondRed = (GButton)comp.GetChild("btnDiamondRed");
-            m_btnDiamondPurple = (GButton)comp.GetChild("btnDiamondPurple");
-            m_btnArena = (GButton)comp.GetChild("btnArena");
-            m_btnLeagueContribuation = (GButton)comp.GetChild("btnLeagueContribuation");
+            m_btnCJLuoXing = (UI_ButtonInValueBar)UI_ButtonInValueBar.Create(comp.GetChild("btnCJLuoXing"));
+            m_btnCJHuoDong = (UI_ButtonInValueBar)UI_ButtonInValueBar.Create(comp.GetChild("btnCJHuoDong"));
+            m_btnTravel = (UI_ButtonInValueBar)UI_ButtonInValueBar.Create(comp.GetChild("btnTravel"));
+            m_btnGallery = (UI_ButtonInValueBar)UI_ButtonInValueBar.Create(comp.GetChild("btnGallery"));
+            m_btnPower = (UI_ButtonInValueBar)UI_ButtonInValueBar.Create(comp.GetChild("btnPower"));
+            m_btnCJ = (UI_ButtonInValueBar)UI_ButtonInValueBar.Create(comp.GetChild("btnCJ"));
+            m_btnGold = (UI_ButtonInValueBar)UI_ButtonInValueBar.Create(comp.GetChild("btnGold"));
+            m_btnDiamondRed = (UI_ButtonInValueBar)UI_ButtonInValueBar.Create(comp.GetChild("btnDiamondRed"));
+            m_btnDiamondPurple = (UI_ButtonInValueBar)UI_ButtonInValueBar.Create(comp.GetChild("btnDiamondPurple"));
+            m_btnArena = (UI_ButtonInValueBar)UI_ButtonInValueBar.Create(comp.GetChild("btnArena"));
+            m_btnLeagueContribuation = (UI_ButtonInValueBar)UI_ButtonInValueBar.Create(comp.GetChild("btnLeagueContribuation"));
+            m_list = (GList)comp.GetChild("list");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_c1 = null;
+            m_btnCJLuoXing.Dispose();
             m_btnCJLuoXing = null;
+            m_btnCJHuoDong.Dispose();
             m_btnCJHuoDong = null;
+            m_btnTravel.Dispose();
             m_btnTravel = null;
+            m_btnGallery.Dispose();
             m_btnGallery = null;
+            m_btnPower.Dispose();
             m_btnPower = null;
+            m_btnCJ.Dispose();
             m_btnCJ = null;
+            m_btnGold.Dispose();
             m_btnGold = null;
+            m_btnDiamondRed.Dispose();
             m_btnDiamondRed = null;
+            m_btnDiamondPurple.Dispose();
             m_btnDiamondPurple = null;
+            m_btnArena.Dispose();
             m_btnArena = null;
+            m_btnLeagueContribuation.Dispose();
             m_btnLeagueContribuation = null;
+            m_list = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ItemExchangeUI.cs

@@ -22,6 +22,7 @@ namespace UI.CommonGame
         public GTextField m_txtCostCount;
         public GTextField m_txtTips;
         public UI_ComCostCurrency m_comCost;
+        public GTextField m_txtRmbCost;
         public GButton m_btnCancle;
         public GButton m_btnConfirm;
         public const string URL = "ui://eg2y0ldps5s9tik";
@@ -86,6 +87,7 @@ namespace UI.CommonGame
             m_txtCostCount = (GTextField)comp.GetChild("txtCostCount");
             m_txtTips = (GTextField)comp.GetChild("txtTips");
             m_comCost = (UI_ComCostCurrency)UI_ComCostCurrency.Create(comp.GetChild("comCost"));
+            m_txtRmbCost = (GTextField)comp.GetChild("txtRmbCost");
             m_btnCancle = (GButton)comp.GetChild("btnCancle");
             m_btnConfirm = (GButton)comp.GetChild("btnConfirm");
         }
@@ -110,6 +112,7 @@ namespace UI.CommonGame
             m_txtTips = null;
             m_comCost.Dispose();
             m_comCost = null;
+            m_txtRmbCost = null;
             m_btnCancle = null;
             m_btnConfirm = null;
             if(disposeTarget && target != null)

+ 2 - 2
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_LeagueMemberUI.cs

@@ -16,7 +16,7 @@ namespace UI.League
         public UI_Button14 m_btnRecruit;
         public GButton m_btnApplyList;
         public GButton m_btnMemberLog;
-        public GComponent m_btnExit;
+        public GButton m_btnExit;
         public GButton m_btnExit1;
         public const string URL = "ui://tw70qm9du2u35";
         public const string PACKAGE_NAME = "League";
@@ -74,7 +74,7 @@ namespace UI.League
             m_btnRecruit = (UI_Button14)UI_Button14.Create(comp.GetChild("btnRecruit"));
             m_btnApplyList = (GButton)comp.GetChild("btnApplyList");
             m_btnMemberLog = (GButton)comp.GetChild("btnMemberLog");
-            m_btnExit = (GComponent)comp.GetChild("btnExit");
+            m_btnExit = (GButton)comp.GetChild("btnExit");
             m_btnExit1 = (GButton)comp.GetChild("btnExit1");
         }
         public void Dispose(bool disposeTarget = false)

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_ListGiftButItem.cs

@@ -14,6 +14,8 @@ namespace UI.League
         public GList m_listGift;
         public GTextField m_txtTime;
         public GLoader m_loaType;
+        public GTextField m_txtLock;
+        public GGroup m_grpLock;
         public const string URL = "ui://tw70qm9d9jv678";
         public const string PACKAGE_NAME = "League";
         public const string RES_NAME = "ListGiftButItem";
@@ -68,6 +70,8 @@ namespace UI.League
             m_listGift = (GList)comp.GetChild("listGift");
             m_txtTime = (GTextField)comp.GetChild("txtTime");
             m_loaType = (GLoader)comp.GetChild("loaType");
+            m_txtLock = (GTextField)comp.GetChild("txtLock");
+            m_grpLock = (GGroup)comp.GetChild("grpLock");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -78,6 +82,8 @@ namespace UI.League
             m_listGift = null;
             m_txtTime = null;
             m_loaType = null;
+            m_txtLock = null;
+            m_grpLock = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 3 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_ListGiftItem.cs

@@ -16,8 +16,8 @@ namespace UI.Store
         public GTextField m_txtName;
         public GTextField m_txtEndTime;
         public GTextField m_txtLimit;
-        public GTextField m_txtLock;
         public UI_Button5 m_btnBuy;
+        public GTextField m_txtLock;
         public const string URL = "ui://p9mtgheo10not1t";
         public const string PACKAGE_NAME = "Store";
         public const string RES_NAME = "ListGiftItem";
@@ -74,8 +74,8 @@ namespace UI.Store
             m_txtName = (GTextField)comp.GetChild("txtName");
             m_txtEndTime = (GTextField)comp.GetChild("txtEndTime");
             m_txtLimit = (GTextField)comp.GetChild("txtLimit");
-            m_txtLock = (GTextField)comp.GetChild("txtLock");
             m_btnBuy = (UI_Button5)UI_Button5.Create(comp.GetChild("btnBuy"));
+            m_txtLock = (GTextField)comp.GetChild("txtLock");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -88,9 +88,9 @@ namespace UI.Store
             m_txtName = null;
             m_txtEndTime = null;
             m_txtLimit = null;
-            m_txtLock = null;
             m_btnBuy.Dispose();
             m_btnBuy = null;
+            m_txtLock = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 3 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_ListShopItem.cs

@@ -16,8 +16,8 @@ namespace UI.Store
         public GTextField m_txtName;
         public GTextField m_txtEndTime;
         public GTextField m_txtLimit;
-        public GTextField m_txtLock;
         public UI_Button5 m_btnBuy;
+        public GTextField m_txtLock;
         public const string URL = "ui://p9mtgheol500tbe";
         public const string PACKAGE_NAME = "Store";
         public const string RES_NAME = "ListShopItem";
@@ -74,8 +74,8 @@ namespace UI.Store
             m_txtName = (GTextField)comp.GetChild("txtName");
             m_txtEndTime = (GTextField)comp.GetChild("txtEndTime");
             m_txtLimit = (GTextField)comp.GetChild("txtLimit");
-            m_txtLock = (GTextField)comp.GetChild("txtLock");
             m_btnBuy = (UI_Button5)UI_Button5.Create(comp.GetChild("btnBuy"));
+            m_txtLock = (GTextField)comp.GetChild("txtLock");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -88,9 +88,9 @@ namespace UI.Store
             m_txtName = null;
             m_txtEndTime = null;
             m_txtLimit = null;
-            m_txtLock = null;
             m_btnBuy.Dispose();
             m_btnBuy = null;
+            m_txtLock = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreChargeAddUpUI.cs

@@ -7,6 +7,7 @@ namespace UI.Store
     public partial class UI_StoreChargeAddUpUI
     {
         public GComponent target;
+        public GComponent m_valueBar;
         public UI_ComVipLv m_comVipLv;
         public GList m_list;
         public const string URL = "ui://p9mtgheol500tbf";
@@ -56,11 +57,13 @@ namespace UI.Store
 
         private void Init(GComponent comp)
         {
+            m_valueBar = (GComponent)comp.GetChild("valueBar");
             m_comVipLv = (UI_ComVipLv)UI_ComVipLv.Create(comp.GetChild("comVipLv"));
             m_list = (GList)comp.GetChild("list");
         }
         public void Dispose(bool disposeTarget = false)
         {
+            m_valueBar = null;
             m_comVipLv.Dispose();
             m_comVipLv = null;
             m_list = null;

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreChargeUI.cs

@@ -7,6 +7,7 @@ namespace UI.Store
     public partial class UI_StoreChargeUI
     {
         public GComponent target;
+        public GComponent m_valueBar;
         public UI_ComVipLv m_comVipLv;
         public GList m_list;
         public const string URL = "ui://p9mtgheol500tb9";
@@ -56,11 +57,13 @@ namespace UI.Store
 
         private void Init(GComponent comp)
         {
+            m_valueBar = (GComponent)comp.GetChild("valueBar");
             m_comVipLv = (UI_ComVipLv)UI_ComVipLv.Create(comp.GetChild("comVipLv"));
             m_list = (GList)comp.GetChild("list");
         }
         public void Dispose(bool disposeTarget = false)
         {
+            m_valueBar = null;
             m_comVipLv.Dispose();
             m_comVipLv = null;
             m_list = null;

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreExchangeUI.cs

@@ -8,6 +8,7 @@ namespace UI.Store
     {
         public GComponent target;
         public GList m_list;
+        public GComponent m_valueBar;
         public const string URL = "ui://p9mtgheol500tbh";
         public const string PACKAGE_NAME = "Store";
         public const string RES_NAME = "StoreExchangeUI";
@@ -56,10 +57,12 @@ namespace UI.Store
         private void Init(GComponent comp)
         {
             m_list = (GList)comp.GetChild("list");
+            m_valueBar = (GComponent)comp.GetChild("valueBar");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_list = null;
+            m_valueBar = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreGiftBagUI.cs

@@ -8,6 +8,7 @@ namespace UI.Store
     {
         public GComponent target;
         public GList m_list;
+        public GComponent m_valueBar;
         public const string URL = "ui://p9mtgheol500tbc";
         public const string PACKAGE_NAME = "Store";
         public const string RES_NAME = "StoreGiftBagUI";
@@ -56,10 +57,12 @@ namespace UI.Store
         private void Init(GComponent comp)
         {
             m_list = (GList)comp.GetChild("list");
+            m_valueBar = (GComponent)comp.GetChild("valueBar");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_list = null;
+            m_valueBar = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 0 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreUI.cs

@@ -8,7 +8,6 @@ namespace UI.Store
     {
         public GComponent target;
         public GLoader m_loaBg;
-        public GComponent m_valueBar;
         public GButton m_btnBack;
         public UI_ComTab m_comTab;
         public GList m_listSubTab;
@@ -60,7 +59,6 @@ namespace UI.Store
         private void Init(GComponent comp)
         {
             m_loaBg = (GLoader)comp.GetChild("loaBg");
-            m_valueBar = (GComponent)comp.GetChild("valueBar");
             m_btnBack = (GButton)comp.GetChild("btnBack");
             m_comTab = (UI_ComTab)UI_ComTab.Create(comp.GetChild("comTab"));
             m_listSubTab = (GList)comp.GetChild("listSubTab");
@@ -68,7 +66,6 @@ namespace UI.Store
         public void Dispose(bool disposeTarget = false)
         {
             m_loaBg = null;
-            m_valueBar = null;
             m_btnBack = null;
             m_comTab.Dispose();
             m_comTab = null;

+ 4 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Task/UI_BattlePassRewardUI.cs

@@ -14,6 +14,7 @@ namespace UI.Task
         public GButton m_btnOpen;
         public GList m_RewardList;
         public GButton m_btnGetAll;
+        public UI_BattlePassReward m_SpecialReward;
         public const string URL = "ui://5mpsibzznd173r";
         public const string PACKAGE_NAME = "Task";
         public const string RES_NAME = "BattlePassRewardUI";
@@ -68,6 +69,7 @@ namespace UI.Task
             m_btnOpen = (GButton)comp.GetChild("btnOpen");
             m_RewardList = (GList)comp.GetChild("RewardList");
             m_btnGetAll = (GButton)comp.GetChild("btnGetAll");
+            m_SpecialReward = (UI_BattlePassReward)UI_BattlePassReward.Create(comp.GetChild("SpecialReward"));
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -79,6 +81,8 @@ namespace UI.Task
             m_btnOpen = null;
             m_RewardList = null;
             m_btnGetAll = null;
+            m_SpecialReward.Dispose();
+            m_SpecialReward = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 15 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Task/UI_BuyBattlePassLevelUI.cs

@@ -8,6 +8,11 @@ namespace UI.Task
     {
         public GComponent target;
         public GButton m_CloseBtn;
+        public GList m_Rewards;
+        public GTextField m_Tip;
+        public GButton m_Add;
+        public GButton m_Reduce;
+        public GButton m_AddLevelBtn;
         public const string URL = "ui://5mpsibzzor80tm1";
         public const string PACKAGE_NAME = "Task";
         public const string RES_NAME = "BuyBattlePassLevelUI";
@@ -56,10 +61,20 @@ namespace UI.Task
         private void Init(GComponent comp)
         {
             m_CloseBtn = (GButton)comp.GetChild("CloseBtn");
+            m_Rewards = (GList)comp.GetChild("Rewards");
+            m_Tip = (GTextField)comp.GetChild("Tip");
+            m_Add = (GButton)comp.GetChild("Add");
+            m_Reduce = (GButton)comp.GetChild("Reduce");
+            m_AddLevelBtn = (GButton)comp.GetChild("AddLevelBtn");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_CloseBtn = null;
+            m_Rewards = null;
+            m_Tip = null;
+            m_Add = null;
+            m_Reduce = null;
+            m_AddLevelBtn = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 1 - 4
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Task/UI_ExpProcess.cs

@@ -7,10 +7,9 @@ namespace UI.Task
     public partial class UI_ExpProcess
     {
         public GProgressBar target;
-        public GImage m_ExpBar;
         public GTextField m_Level;
         public GTextField m_NumProcess;
-        public const string URL = "ui://5mpsibzznd173t";
+        public const string URL = "ui://5mpsibzze3m1tnl";
         public const string PACKAGE_NAME = "Task";
         public const string RES_NAME = "ExpProcess";
         private static UI_ExpProcess _proxy;
@@ -57,13 +56,11 @@ namespace UI.Task
 
         private void Init(GComponent comp)
         {
-            m_ExpBar = (GImage)comp.GetChild("ExpBar");
             m_Level = (GTextField)comp.GetChild("Level");
             m_NumProcess = (GTextField)comp.GetChild("NumProcess");
         }
         public void Dispose(bool disposeTarget = false)
         {
-            m_ExpBar = null;
             m_Level = null;
             m_NumProcess = null;
             if(disposeTarget && target != null)

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Task/UI_OpenBattlePassUI.cs

@@ -8,6 +8,7 @@ namespace UI.Task
     {
         public GComponent target;
         public GButton m_CloseBtn;
+        public GList m_Rewards;
         public GButton m_OpenBtn;
         public const string URL = "ui://5mpsibzzor80tlx";
         public const string PACKAGE_NAME = "Task";
@@ -57,11 +58,13 @@ namespace UI.Task
         private void Init(GComponent comp)
         {
             m_CloseBtn = (GButton)comp.GetChild("CloseBtn");
+            m_Rewards = (GList)comp.GetChild("Rewards");
             m_OpenBtn = (GButton)comp.GetChild("OpenBtn");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_CloseBtn = null;
+            m_Rewards = null;
             m_OpenBtn = null;
             if(disposeTarget && target != null)
             {

+ 4 - 6
GameClient/Assets/Game/HotUpdate/ServerProxy/ArenaSproxy.cs

@@ -361,10 +361,6 @@ namespace GFGGame
             arenaTarget.FightScores = arenaTargetProto.FightPower;
             if (arenaTarget.Type == FightTargetType.PLAYER)
             {
-                // arenaTarget.RoleInfo.roleId = arenaTargetProto.RoleInfo.RoleId;
-                // arenaTarget.RoleInfo.roleName = arenaTargetProto.RoleInfo.RoleName;
-                // arenaTarget.RoleInfo.roleLv = arenaTargetProto.RoleInfo.RoleLvl;
-                // arenaTarget.RoleInfo.headId = arenaTargetProto.RoleInfo.HeadItemId;
                 arenaTarget.RoleInfo = RoleDataManager.GetOtherRoleInfoData(arenaTargetProto.RoleInfo);
             }
             else
@@ -424,14 +420,16 @@ namespace GFGGame
                 fightData.tagAddition = robotCfg.tagAddition;
             }
             fightData.itemScoreList.Clear();
+            double randoms = robotProto.Randoms.Count >= robotCfg.partsScoreArr.Length ? (double)robotProto.Randoms[index] / 10000d : 1;
+
             for (int i = 0; i < robotCfg.partsScoreArr.Length; i++)
             {
-                double score = (double)robotCfg.partsScoreArr[i] * (double)robotProto.Randoms[index] / 10000d;
+                double score = (double)robotCfg.partsScoreArr[i] * randoms;
                 fightData.itemScoreList.Add((int)Math.Ceiling(score));
             }
             fightData.type = FightTargetType.ROBOT;
             fightData.res = string.IsNullOrEmpty(robotProto.RobotHead) ? "self" : robotProto.RobotHead;
-            double cardScore = (double)robotCfg.cardScore * (double)robotProto.Randoms[index] / 10000d;
+            double cardScore = (double)robotCfg.cardScore * randoms;
             fightData.cardScore = (int)Math.Ceiling(cardScore);
             fightData.skillLvs.Add(robotCfg.skillLvs);
             fightData.showSuitId = robotProto.SuitList.Count <= index ? 0 : robotProto.SuitList[index];//上赛季没有穿戴数据

+ 16 - 8
GameClient/Assets/Game/HotUpdate/ServerProxy/BattlePassTaskSProxy.cs

@@ -74,65 +74,73 @@ namespace GFGGame
         }
 
         //C2S_GetBattlePassReward
-        public static async ETTask GetBattlePassReward(int level)
+        public static async ETTask<bool> GetBattlePassReward(int level)
         {
             var response =
                 (S2C_GetBattlePassReward)await MessageHelper.SendToServer(new C2S_GetBattlePassReward { Id = level });
-            if (!(response is { Error: ErrorCode.ERR_Success })) return;
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
             var responseGetType = response.Type;
             //获取通行证奖励配置
             var passCfg =
                 BattlePassCfgArray.Instance.GetCfgByidAndlevel(BattlePassTaskDataManager.Instance.GetSeasonId(), level);
-            if (passCfg == null) return;
+            if (passCfg == null) return false;
             var passCfgBonusNormalArr = passCfg.bonusNormalArr;
             var passCfgBonusSuperArr = passCfg.bonusSpecialArr;
             var bonusList = new List<ItemData>();
             if (MathHelper.isBitSet(responseGetType, 1))
             {
                 bonusList.AddRange(ItemUtil.CreateItemDataList(passCfgBonusNormalArr));
+                BattlePassTaskDataManager.Instance.AddNormalReward(level);
             }
             if (MathHelper.isBitSet(responseGetType, 2))
             {
                 bonusList.AddRange(ItemUtil.CreateItemDataList(passCfgBonusSuperArr));
+                BattlePassTaskDataManager.Instance.AddSuperReward(level);
             }
             BonusController.TryShowBonusList(bonusList);
+            return true;
         }
 
         //C2S_GetAllBattlePassReward
-        public static async ETTask GetAllBattlePassReward()
+        public static async ETTask<bool> GetAllBattlePassReward()
         {
             var response =
                 (S2C_GetAllBattlePassReward)await MessageHelper.SendToServer(new C2S_GetAllBattlePassReward());
-            if (!(response is { Error: ErrorCode.ERR_Success })) return;
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
             var normalLevels = response.Levels;
             var superLevels = response.SuperLevels;
             var levels = new HashSet<int>();
             levels.UnionWith(normalLevels);
             levels.UnionWith(superLevels);
             var bonusList = new List<ItemData>();
+            var dataManager = BattlePassTaskDataManager.Instance;
             foreach (var level in levels)
             {
                 //获取通行证奖励配置
                 var passCfg =
-                    BattlePassCfgArray.Instance.GetCfgByidAndlevel(BattlePassTaskDataManager.Instance.GetSeasonId(),
+                    BattlePassCfgArray.Instance.GetCfgByidAndlevel(dataManager.GetSeasonId(),
                         level);
                 if (normalLevels.Contains(level))
                 {
                     bonusList.AddRange(ItemUtil.CreateItemDataList(passCfg.bonusNormalArr));
+                    dataManager.AddNormalReward(level);
                 }
                 if (superLevels.Contains(level))
                 {
                     bonusList.AddRange(ItemUtil.CreateItemDataList(passCfg.bonusSpecialArr));
+                    dataManager.AddSuperReward(level);
                 }
             }
             BonusController.TryShowBonusList(bonusList);
+            return true;
         }
 
         //购买等级 C2S_BuyBattlePassLevel
-        public static async ETTask BuyBattlePassLevel(int upLevel)
+        public static async ETTask<bool> BuyBattlePassLevel(int upLevel)
         {
-            _ = (S2C_BuyBattlePassLevel)await MessageHelper.SendToServer(new C2S_BuyBattlePassLevel
+            var response = (S2C_BuyBattlePassLevel)await MessageHelper.SendToServer(new C2S_BuyBattlePassLevel
                 { UpLevel = upLevel });
+            return response is { Error: ErrorCode.ERR_Success };
         }
     }
 }

+ 6 - 2
GameClient/Assets/Game/HotUpdate/ServerProxy/CommonSProxy.cs

@@ -7,13 +7,14 @@ namespace ET
     {
         protected override async ETTask Run(Session session, M2C_NoticeUnitNumeric message)
         {
-            int oldValue = GameGlobal.myNumericComponent.GetAsInt(message.NumericType);
+            var oldValue = GameGlobal.myNumericComponent.GetAsInt(message.NumericType);
             GameGlobal.myNumericComponent.Set(message.NumericType, message.NewValue);
 
             switch (message.NumericType)
             {
                 case NumericType.Lvl:
-                    FunctionOpenDataManager.Instance.CheckHasLvFunOpen((int)message.NewValue, oldValue);//等级变化要加测是否有功能开启
+                    FunctionOpenDataManager.Instance.CheckHasLvFunOpen((int)message.NewValue,
+                        oldValue); //等级变化要加测是否有功能开启
                     RoleDataManager.RoleLvUp(oldValue);
                     break;
                 case NumericType.Power:
@@ -22,6 +23,9 @@ namespace ET
                 case NumericType.Liveness:
                     EventAgent.DispatchEvent(ConstMessage.LIVENESS_CHANGE);
                     break;
+                case NumericType.PassLevel:
+                    EventAgent.DispatchEvent(ConstMessage.BATTLEPASS_LEVEL_CHANGE);
+                    break;
             }
             EventAgent.DispatchEvent(ConstMessage.NUMERIC_CHANGE, message.NumericType);
             EventAgent.DispatchEvent(ConstMessage.RED_CHANGE, message.NumericType);

+ 1 - 1
GameClient/Assets/Game/HotUpdate/ServerProxy/FriendSProxy.cs

@@ -249,7 +249,7 @@ namespace GFGGame
                     {
                         FriendDataManager.Instance.ChangeGiveTakeGiftStates(response.FriendIds[i], response.GiveGiftStates[i], response.TakeGiftStates[i]);
                     }
-                    if (FriendDataManager.Instance.Count >= GlobalCfgArray.globalCfg.maxGetPowerCount)
+                    if (FriendDataManager.Instance.Count >= FriendDataManager.Instance.maxGetPowerCount)
                     {
                         PromptController.Instance.ShowFloatTextPrompt("今日体力已全部领取");
                     }

+ 49 - 0
GameClient/Assets/Game/HotUpdate/Utils/ItemUtil.cs

@@ -3,6 +3,7 @@ using FairyGUI;
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using System.Linq;
 using UI.CommonGame;
 using UnityEngine;
 
@@ -165,6 +166,11 @@ namespace GFGGame
             return hasNum >= num;
         }
 
+        public static Boolean CheckItemEnough(int[][] items, int count = 1)
+        {
+            return items.All(item => CheckItemEnough(item[0], item[1] * count));
+        }
+
         public static bool CheckMenuType1(int needItemId, int needSuitId, int typeId)
         {
             DressUpMenuItemCfg1 cfg1 = DressUpMenuItemCfg1Array.Instance.GetCfg(typeId);
@@ -271,5 +277,48 @@ namespace GFGGame
             item.m_loaTag.url = ResPathUtil.GetCommonGameResPath("fzd_bqbq_" + tagType);
             UI_ComTag.ProxyEnd();
         }
+
+        /// <summary>
+        /// 合并奖励配置,会将同一物品id的奖励合并
+        /// </summary>
+        public static int[][] MergeBonus(int[][] item1, int[][] item2)
+        {
+            Dictionary<int, int> dictionary = new Dictionary<int, int>();
+            if (item1 != null)
+            {
+                foreach (int[] item in item1)
+                {
+                    if (dictionary.ContainsKey(item[0]))
+                    {
+                        dictionary[item[0]] += item[1];
+                    }
+                    else
+                    {
+                        dictionary.Add(item[0], item[1]);
+                    }
+                }
+            }
+            if (item2 != null)
+            {
+                foreach (int[] item in item2)
+                {
+                    if (dictionary.ContainsKey(item[0]))
+                    {
+                        dictionary[item[0]] += item[1];
+                    }
+                    else
+                    {
+                        dictionary.Add(item[0], item[1]);
+                    }
+                }
+            }
+            int[][] result = new int[dictionary.Count][];
+            int i = 0;
+            foreach (KeyValuePair<int, int> item in dictionary)
+            {
+                result[i++] = new[] { item.Key, item.Value };
+            }
+            return result;
+        }
     }
 }

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaFightRecordView.cs

@@ -63,7 +63,7 @@ namespace GFGGame
             item.m_txtTargetName.text = historyData.targetData.RoleInfo.roleName;
             item.m_txtRank.text = historyData.targetData.RankInGrade.ToString();
 
-            item.m_txtTargetFightScore.text = string.Format("竞技场战力:{0}", ArenaDataManager.Instance.GetAllFightScore(historyData.targetData.FightScores));
+            item.m_txtTargetFightScore.text = string.Format("飞花令战力:{0}", ArenaDataManager.Instance.GetAllFightScore(historyData.targetData.FightScores));
             ArenaViewManager.Instance.UpdateDanIcon(item.m_loaDanIcon, historyData.targetData.Grade);
             TimeUtil.FormattingTime(historyData.FightTime, TimeHelper.ServerNow(), out int num, out string str);
             str = str == "秒" ? "刚刚" : num + str + "前";

+ 9 - 9
GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaRankView.cs

@@ -228,7 +228,7 @@ namespace GFGGame
             if (arenaData == null)
             {
                 item.m_txtName.text = "--";
-                item.m_txtFightScore.text = "竞技场战力:--";
+                item.m_txtFightScore.text = "飞花令战力:--";
                 item.m_txtDanRank.text = "段位排名:--";
                 // item.m_loaDanIcon.url = "";
                 RoleInfoManager.Instance.UpdateLv(item.m_comLv, 0);
@@ -242,16 +242,16 @@ namespace GFGGame
                 if (arenaData.Type == FightTargetType.PLAYER)
                 {
                     //上榜的玩家一定战斗过,可以直接计算
-                    item.m_txtFightScore.text = string.Format("竞技场战力:{0}", ArenaDataManager.Instance.GetAllFightScore(arenaData.FightScores));
+                    item.m_txtFightScore.text = string.Format("飞花令战力:{0}", ArenaDataManager.Instance.GetAllFightScore(arenaData.FightScores));
                     RoleInfoManager.Instance.UpdateHead(item.m_comHead, arenaData.RoleInfo.headId, 0);
                 }
                 else
                 {
-                    //上榜的机器人不一定战斗过,所以不一定有竞技场战力数据,所以机器人需要重新计算
-                    item.m_txtFightScore.text = string.Format("竞技场战力:{0}", ArenaDataManager.Instance.GetAllFightScore(arenaData.FightDatas));
+                    //上榜的机器人不一定战斗过,所以不一定有飞花令战力数据,所以机器人需要重新计算
+                    item.m_txtFightScore.text = string.Format("飞花令战力:{0}", ArenaDataManager.Instance.GetAllFightScore(arenaData.FightDatas));
                     RoleInfoManager.Instance.UpdateNpcHead(item.m_comHead, arenaData.RoleInfo.headRes);
                 }
-                // item.m_txtFightScore.text = string.Format("竞技场战力:{0}", fightScore);
+                // item.m_txtFightScore.text = string.Format("飞花令战力:{0}", fightScore);
                 item.m_txtDanRank.text = string.Format("段位排名:{0}", arenaData.Grade);
                 ArenaViewManager.Instance.UpdateDanIcon(item.m_loaDanIcon, arenaData.Grade);
                 RoleInfoManager.Instance.UpdateLv(item.m_comLv, arenaData.RoleInfo.roleLv);
@@ -283,7 +283,7 @@ namespace GFGGame
             {
                 item.m_txtRank.text = "--";
                 item.m_txtName.text = "--";
-                item.m_txtFightScore.text = "竞技场战力:--";
+                item.m_txtFightScore.text = "飞花令战力:--";
                 item.m_txtDanRank.text = "--";
                 // item.m_loaDanIcon.url = "";
                 RoleInfoManager.Instance.UpdateLv(item.m_comLv, 0);
@@ -301,13 +301,13 @@ namespace GFGGame
                 if (arenaData.Type == FightTargetType.PLAYER)
                 {
                     //上榜的玩家一定战斗过,可以直接计算
-                    item.m_txtFightScore.text = string.Format("竞技场战力:{0}", ArenaDataManager.Instance.GetAllFightScore(arenaData.FightScores));
+                    item.m_txtFightScore.text = string.Format("飞花令战力:{0}", ArenaDataManager.Instance.GetAllFightScore(arenaData.FightScores));
                     RoleInfoManager.Instance.UpdateHead(item.m_comHead, arenaData.RoleInfo.headId, 0);
                 }
                 else
                 {
-                    //上榜的机器人不一定战斗过,所以不一定有竞技场战力数据,所以机器人需要重新计算
-                    item.m_txtFightScore.text = string.Format("竞技场战力:{0}", ArenaDataManager.Instance.GetAllFightScore(arenaData.FightDatas));
+                    //上榜的机器人不一定战斗过,所以不一定有飞花令战力数据,所以机器人需要重新计算
+                    item.m_txtFightScore.text = string.Format("飞花令战力:{0}", ArenaDataManager.Instance.GetAllFightScore(arenaData.FightDatas));
                     RoleInfoManager.Instance.UpdateNpcHead(item.m_comHead, arenaData.RoleInfo.headRes);
                 }
             }

+ 5 - 5
GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaView.cs

@@ -154,7 +154,7 @@ namespace GFGGame
         }
         private void OnBtnShopClick()
         {
-            ViewManager.Show<StoreView>();
+            ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_ARENA, ConstStoreSubId.STORE_ARENA_ITEM }, new object[] { typeof(ArenaView).FullName, this.viewData });
         }
         private void OnBtnRewardClick()
         {
@@ -181,7 +181,7 @@ namespace GFGGame
                 return;
             }
             ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(GlobalCfgArray.globalCfg.costIdBuyFightTimes);
-            AlertUI.Show(string.Format("是否使用{0}{1}增加1次竞技场挑战次数?", GlobalCfgArray.globalCfg.costNumBuyFightTimes, itemCfg.name),
+            AlertUI.Show(string.Format("是否使用{0}{1}增加1次飞花令挑战次数?", GlobalCfgArray.globalCfg.costNumBuyFightTimes, itemCfg.name),
             string.Format("(今天已购买{0}/{1}次)", GlobalCfgArray.globalCfg.limitDailyBuyFightTimes - RoleDataManager.ArenaBuyFightTimes, GlobalCfgArray.globalCfg.limitDailyBuyFightTimes))
             .SetLeftButton(true, "取消").SetRightButton(true, "确定", (object data) =>
             {
@@ -326,7 +326,7 @@ namespace GFGGame
             _ui.m_txtRank.text = string.Format("段位排名:{0}", _dataManager.Rank);
             _ui.m_txtDanTitle.text = ArenaRankCfgArray.Instance.GetCfg(_dataManager.Grade).gradeName;
             long fightScore = _dataManager.GetAllFightScore(_dataManager.DressupList);
-            _ui.m_txtFightScore.text = string.Format("竞技场战力:{0}", fightScore);
+            _ui.m_txtFightScore.text = string.Format("飞花令战力:{0}", fightScore);
             _ui.m_btnQuickFight.selected = _dataManager.QuickFight;
             ArenaViewManager.Instance.UpdateFightScore(_ui.m_comFightScore.target, _dataManager.DressupList);
         }
@@ -335,7 +335,7 @@ namespace GFGGame
         private void UpdateValue()
         {
             ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(GlobalCfgArray.globalCfg.bonusSpecialWinArr[0][0]);
-            _ui.m_txtMoneyCount.text = string.Format("今日还可获得{0}次{1}货币", RoleDataManager.ArenaTimesBonusSpecial, itemCfg.name);
+            _ui.m_txtMoneyCount.text = string.Format("今日还可获得{0}次{1}", RoleDataManager.ArenaTimesBonusSpecial, itemCfg.name);
             _ui.m_txtFightCount.text = string.Format("剩余次数:{0}/{1}", RoleDataManager.ArenaFightTimes, GlobalCfgArray.globalCfg.fightTimesLimit);
             if (RoleDataManager.ArenaFreshTimes > 0)
             {
@@ -403,7 +403,7 @@ namespace GFGGame
             item.m_comLv.GetChild("txtLvl").asTextField.text = targetData.RoleInfo.roleLv.ToString();
 
             long fightScore = _dataManager.GetAllFightScore(targetData.FightDatas);
-            item.m_txtFightScore.text = string.Format("竞技场战力:{0}", fightScore);
+            item.m_txtFightScore.text = string.Format("飞花令战力:{0}", fightScore);
             item.m_txtRank.text = string.Format("段位排名:{0}", targetData.RankInGrade);
             item.m_imgUpDan.visible = targetData.Grade > ArenaDataManager.Instance.Grade;
             if (item.m_loaBg.data == null)

+ 135 - 75
GameClient/Assets/Game/HotUpdate/Views/Common/Controller/ValueBarController.cs

@@ -1,6 +1,7 @@
 using UI.CommonGame;
 using FairyGUI;
 using ET;
+using System.Collections.Generic;
 
 namespace GFGGame
 {
@@ -11,65 +12,47 @@ namespace GFGGame
         public ValueBarController(GComponent valueBar, int ctrlSelected = 0)
         {
             _valueBar = UI_ComponentValueBar.Create(valueBar);
-            // _valueBar.m_c1.selectedIndex = ctrlSelected;
-            // _valueBar.target.x = 370;
-            _valueBar.m_btnGold.onClick.Add(() =>
-            {
-
-                ItemUtil.AddGold();
-            });
-            _valueBar.m_btnPower.onClick.Add(() =>
-            {
-
-                ItemUtil.AddPower();
-            });
-            _valueBar.m_btnDiamondPurple.onClick.Add(() =>
-            {
-
-                ItemUtil.AddDiamondPurple();
-            });
-            _valueBar.m_btnDiamondRed.onClick.Add(() =>
-            {
 
-                ItemUtil.AddDiamondRed();
-            });
-            _valueBar.m_btnCJLuoXing.onClick.Add(() =>
-            {
-
-                ViewManager.Show<LuckyBoxView>(LuckyBoxDataManager.BOX_ID_2, new object[] { typeof(ClothingShopView).FullName, new object[] { LuckyBoxDataManager.BOX_ID_2 } });
-
-            });
-            _valueBar.m_btnCJHuoDong.onClick.Add(() =>
-            {
+            _valueBar.m_btnGold.target.onClick.Add(OnClickGold);
+            _valueBar.m_btnPower.target.onClick.Add(OnClickPower);
+            _valueBar.m_btnDiamondPurple.target.onClick.Add(OnClickDiamondPurple);
+            _valueBar.m_btnDiamondRed.target.onClick.Add(OnClickDiamondRed);
 
-                ViewManager.Show<LuckyBoxView>(LuckyBoxDataManager.BOX_ID_1, new object[] { typeof(ClothingShopView).FullName, new object[] { LuckyBoxDataManager.BOX_ID_1 } });
-
-            });
-
-            _valueBar.m_btnCJ.onClick.Add((EventCallback0)(() =>
-            {
-                int luckyBoxId = LuckyBoxDataManager.Instance.currentBoxId;
-                LuckyBoxCfg luckyBoxCfg = LuckyBoxCfgArray.Instance.GetCfg(luckyBoxId);
-
-                ItemUtil.ExchangeItemById(luckyBoxCfg.costID, 1, true);
-
-            }));
-            _valueBar.m_btnTravel.onClick.Add(() =>
-            {
-                object[] sourceDatas = new object[] { GlobalCfgArray.globalCfg.travelCostArr[0], new object[] { typeof(TravelView).FullName, null } };
-                GoodsItemTipsController.ShowItemTips(GlobalCfgArray.globalCfg.travelCostArr[0], sourceDatas);
-            });
-            _valueBar.m_btnGallery.onClick.Add(() =>
-            {
-                ViewManager.Show<PoemGalleryRuleView>();
-            });
-            _valueBar.m_btnLeagueContribuation.onClick.Add(() =>
-            {
-                object[] sourceDatas = new object[] { ConstItemID.LEAGUE_CONTRIBUTION, new object[] { typeof(LeagueSkillUpView).FullName, null } };
-                GoodsItemTipsController.ShowItemTips(ConstItemID.LEAGUE_CONTRIBUTION, sourceDatas);
-            });
+            _valueBar.m_btnTravel.target.onClick.Add(OnClickTravel);
+            _valueBar.m_btnGallery.target.onClick.Add(OnClickGallery);
+            _valueBar.m_btnLeagueContribuation.target.onClick.Add(OnClickLeagueContribuation);
 
         }
+        private void OnClickGold()
+        {
+            ItemUtil.AddGold();
+        }
+        private void OnClickPower()
+        {
+            ItemUtil.AddPower();
+        }
+        private void OnClickDiamondPurple()
+        {
+            ItemUtil.AddDiamondPurple();
+        }
+        private void OnClickDiamondRed()
+        {
+            ItemUtil.AddDiamondRed();
+        }
+        private void OnClickTravel()
+        {
+            object[] sourceDatas = new object[] { GlobalCfgArray.globalCfg.travelCostArr[0], new object[] { typeof(TravelView).FullName, null } };
+            GoodsItemTipsController.ShowItemTips(GlobalCfgArray.globalCfg.travelCostArr[0], sourceDatas);
+        }
+        private void OnClickGallery()
+        {
+            ViewManager.Show<PoemGalleryRuleView>();
+        }
+        private void OnClickLeagueContribuation()
+        {
+            object[] sourceDatas = new object[] { ConstItemID.LEAGUE_CONTRIBUTION, new object[] { typeof(LeagueSkillUpView).FullName, null } };
+            GoodsItemTipsController.ShowItemTips(ConstItemID.LEAGUE_CONTRIBUTION, sourceDatas);
+        }
 
         public void Dispose()
         {
@@ -109,62 +92,139 @@ namespace GFGGame
             UpdateGallery();
             UpdateArena();
             UpdateLeagueContribution();
+            _valueBar.m_list.numItems = _valueBar.m_list.numItems;
         }
         private void UpdateCurrency()
         {
-            _valueBar.m_btnGold.text = "" + RoleDataManager.gold;
-            _valueBar.m_btnDiamondPurple.text = "" + RoleDataManager.diaP;
-            _valueBar.m_btnDiamondRed.text = "" + RoleDataManager.diaR;
+            _valueBar.m_btnGold.target.text = "" + RoleDataManager.gold;
+            _valueBar.m_btnDiamondPurple.target.text = "" + RoleDataManager.diaP;
+            _valueBar.m_btnDiamondRed.target.text = "" + RoleDataManager.diaR;
         }
         private void UpdateNumeric()
         {
-            _valueBar.m_btnPower.text = string.Format("{0}/{1}", RoleDataManager.power, GameGlobal.myNumericComponent.GetAsInt(NumericType.PowerLimit));
+            _valueBar.m_btnPower.target.text = string.Format("{0}/{1}", RoleDataManager.power, RoleDataManager.powerLimit);
         }
 
         //ժ�ǣ��齱���һ�
         private void UpdateCJExchange()
         {
-            _valueBar.m_btnCJLuoXing.text = "" + ItemDataManager.GetItemNum(ConstItemID.LUCKYBOX_STORE_COST);
-            _valueBar.m_btnCJLuoXing.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(ConstItemID.LUCKYBOX_STORE_COST).res);
+            _valueBar.m_btnCJLuoXing.target.text = "" + ItemDataManager.GetItemNum(ConstItemID.LUCKYBOX_STORE_COST);
+            _valueBar.m_btnCJLuoXing.target.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(ConstItemID.LUCKYBOX_STORE_COST).res);
         }
         private void UpdateCJAExchange()
         {
-            _valueBar.m_btnCJHuoDong.text = "" + ItemDataManager.GetItemNum(ConstItemID.LUCKYBOX_ACTIVITY_STORE_COST);
-            _valueBar.m_btnCJHuoDong.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(ConstItemID.LUCKYBOX_ACTIVITY_STORE_COST).res);
+            _valueBar.m_btnCJHuoDong.target.text = "" + ItemDataManager.GetItemNum(ConstItemID.LUCKYBOX_ACTIVITY_STORE_COST);
+            _valueBar.m_btnCJHuoDong.target.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(ConstItemID.LUCKYBOX_ACTIVITY_STORE_COST).res);
         }
 
         public void UpdateCJ()
         {
             LuckyBoxCfg luckyBoxCfg = LuckyBoxCfgArray.Instance.GetCfg(LuckyBoxDataManager.Instance.currentBoxId);
             if (luckyBoxCfg == null) return;
-            _valueBar.m_btnCJ.text = "" + ItemDataManager.GetItemNum(luckyBoxCfg.costID);
-            _valueBar.m_btnCJ.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(luckyBoxCfg.costID).res);
+            _valueBar.m_btnCJ.target.text = "" + ItemDataManager.GetItemNum(luckyBoxCfg.costID);
+            _valueBar.m_btnCJ.target.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(luckyBoxCfg.costID).res);
         }
 
         private void UpdateTravel()
         {
             int itemId = GlobalCfgArray.globalCfg.travelCostArr[0];
-            _valueBar.m_btnTravel.text = "" + ItemDataManager.GetItemNum(itemId);
-            _valueBar.m_btnTravel.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(itemId).res);
+            _valueBar.m_btnTravel.target.text = "" + ItemDataManager.GetItemNum(itemId);
+            _valueBar.m_btnTravel.target.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(itemId).res);
 
         }
 
         private void UpdateGallery()
         {
-            _valueBar.m_btnGallery.text = "" + ItemDataManager.GetItemNum(ConstItemID.GALLERY_STORE_COST);
-            _valueBar.m_btnGallery.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(ConstItemID.GALLERY_STORE_COST).res);
+            _valueBar.m_btnGallery.target.text = "" + ItemDataManager.GetItemNum(ConstItemID.GALLERY_STORE_COST);
+            _valueBar.m_btnGallery.target.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(ConstItemID.GALLERY_STORE_COST).res);
         }
         private void UpdateArena()
         {
-            _valueBar.m_btnArena.GetChild("n3").asImage.visible = false;
-            _valueBar.m_btnArena.text = "" + ItemDataManager.GetItemNum(GlobalCfgArray.globalCfg.bonusSpecialWinArr[0][0]);
-            _valueBar.m_btnArena.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(GlobalCfgArray.globalCfg.bonusSpecialWinArr[0][0]).res);
+            _valueBar.m_btnArena.m_imgAdd.visible = false;
+            _valueBar.m_btnArena.target.text = "" + ItemDataManager.GetItemNum(GlobalCfgArray.globalCfg.bonusSpecialWinArr[0][0]);
+            _valueBar.m_btnArena.target.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(GlobalCfgArray.globalCfg.bonusSpecialWinArr[0][0]).res);
         }
         private void UpdateLeagueContribution()
         {
-            _valueBar.m_btnLeagueContribuation.GetChild("n3").asImage.visible = false;
-            _valueBar.m_btnLeagueContribuation.text = "" + ItemDataManager.GetItemNum(ConstItemID.LEAGUE_CONTRIBUTION);
-            _valueBar.m_btnLeagueContribuation.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(ConstItemID.LEAGUE_CONTRIBUTION).res);
+            _valueBar.m_btnLeagueContribuation.target.text = "" + ItemDataManager.GetItemNum(ConstItemID.LEAGUE_CONTRIBUTION);
+            _valueBar.m_btnLeagueContribuation.target.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(ConstItemID.LEAGUE_CONTRIBUTION).res);
+        }
+
+        public void UpdateList(List<int> itemIds)
+        {
+            itemIds.Sort((x, y) => -x.CompareTo(y));
+            if (_valueBar.m_list.data == null)
+            {
+                _valueBar.m_list.itemRenderer = RenderListItem;
+            }
+            _valueBar.m_list.data = itemIds;
+            _valueBar.m_list.numItems = itemIds.Count;
+        }
+
+        private void RenderListItem(int index, GObject obj)
+        {
+            int itemId = (obj.parent.data as List<int>)[index];
+            UpdateButton(obj, itemId);
+        }
+        private void UpdateButton(GObject obj, int itemId)
+        {
+            UI_ButtonInValueBar button = UI_ButtonInValueBar.Proxy(obj);
+            button.target.text = "" + ItemDataManager.GetItemNum(itemId);
+            button.target.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(itemId).res);
+            switch (itemId)
+            {
+                case ConstItemID.GOLD:
+                case ConstItemID.POWER:
+                case ConstItemID.DIAMOND_PURPLE:
+                case ConstItemID.DIAMOND_RED:
+                case ConstItemID.TRAVEL:
+                case ConstItemID.GALLERY_STORE_COST:
+                case ConstItemID.LEAGUE_CONTRIBUTION:
+                    button.m_imgAdd.visible = true;
+                    break;
+                default:
+                    button.m_imgAdd.visible = false;
+                    break;
+            }
+            if (button.target.data == null)
+            {
+                button.target.onClick.Add(OnBtnClick);
+            }
+            button.target.data = itemId;
+            UI_ButtonInValueBar.ProxyEnd();
+        }
+
+        private void OnBtnClick(EventContext context)
+        {
+            int itemId = (int)(context.sender as GObject).data;
+            OnBtnClick(itemId);
+        }
+        private void OnBtnClick(int itemId)
+        {
+            switch (itemId)
+            {
+                case ConstItemID.GOLD:
+                    OnClickGold();
+                    break;
+                case ConstItemID.POWER:
+                    OnClickPower();
+                    break;
+                case ConstItemID.DIAMOND_PURPLE:
+                    OnClickDiamondPurple();
+                    break;
+                case ConstItemID.DIAMOND_RED:
+                    OnClickDiamondRed();
+                    break;
+                case ConstItemID.TRAVEL:
+                    OnClickGold();
+                    break;
+                case ConstItemID.GALLERY_STORE_COST:
+                    OnClickGallery();
+                    break;
+                case ConstItemID.LEAGUE_CONTRIBUTION:
+                    OnClickLeagueContribuation();
+                    break;
+            }
         }
     }
 }

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/Friend/FriendView.cs

@@ -190,7 +190,7 @@ namespace GFGGame
 
         private void OnBtnSendAllClick()
         {
-            if (RedDotDataManager.Instance.GetFriendGiftRed() && FriendDataManager.Instance.Count < GlobalCfgArray.globalCfg.maxGetPowerCount)
+            if (RedDotDataManager.Instance.GetFriendGiftRed() && FriendDataManager.Instance.Count < FriendDataManager.Instance.maxGetPowerCount)
             {
                 FriendSProxy.ReqTakeGiftFromAllFriend().Coroutine();
             }

+ 3 - 4
GameClient/Assets/Game/HotUpdate/Views/League/LeagueGiftView.cs

@@ -1,9 +1,8 @@
 using System.Collections.Generic;
-using System.Text.RegularExpressions;
 using ET;
 using FairyGUI;
 using UI.League;
-using UnityEngine;
+
 
 namespace GFGGame
 {
@@ -119,11 +118,11 @@ namespace GFGGame
             string strCount = buyData.GiftCfg.limitType == 1 ? "今日剩余:{0}/{1}" : "本周剩余:{0}/{1}";
             item.m_comItem.m_txtCount.text = string.Format(strCount, buyData.GiftCfg.limit - buyData.BuyCount, buyData.GiftCfg.limit);
             long day = TimeUtil.FormattingTime11(TimeHelper.ServerNow(), buyData.EndTime);
-            // long day = buyData.EndTime / TimeUtil.SECOND_PER_DAY / 1000;// TimeUtil.FormattingTime11(TimeHelper.ServerNow(), TimeHelper.ServerNow() + buyData.EndTime);
-            // item.m_txtTime.text = buyData.EndTime == 0 ? "" : string.Format("(剩余{0}天)", day);
             item.m_comItem.m_loaType.url = string.Format("ui://League/lm_biaoqian_{0}", _buyDatas[index].GiftCfg.type);
             item.m_comItem.m_txtTime.visible = buyData.EndTime != 0;
             item.m_comItem.m_txtTime.text = string.Format("剩余{0}天", StringUtil.GetColorText(day.ToString(), "#E45E29"));
+            item.m_comItem.m_grpLock.visible = LeagueDataManager.Instance.HallLevel < buyData.GiftCfg.level;
+            item.m_comItem.m_txtLock.text = string.Format("宴客厅等级达到{0}级解锁", buyData.GiftCfg.level);
             ItemUtil.UpdateItemNeedNum(item.m_comItem.m_comCost, buyData.GiftCfg.consumeArr[0]);
 
             if (item.m_comItem.m_listGift.data == null)

+ 3 - 3
GameClient/Assets/Game/HotUpdate/Views/League/LeagueMemberView.cs

@@ -84,7 +84,7 @@ namespace GFGGame
                 PromptController.Instance.ShowFloatTextPrompt("消耗不足");
                 return;
             }
-            string tips = string.Format("是否花费{0}货币发布24小时招募成员信息,并临时增加新加入成员上限?", itemCfg.name);
+            string tips = string.Format("是否花费{0}*{1}发布24小时招募成员信息,并临时增加新加入成员上限?", itemCfg.name, needCount);
             AlertUI.Show(tips).
             SetLeftButton(true, "取消").
              SetRightButton(true, "确认", async (object param) =>
@@ -176,7 +176,7 @@ namespace GFGGame
         }
         private void OnUpdateTimer(object param)
         {
-            int timeCount = (int)(LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.AdEndTime) - TimeHelper.ServerNow()) / 1000;
+            int timeCount = (int)(LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.AdEndTime) - TimeHelper.ServerNow());
             if (timeCount <= 0)
             {
                 _ui.m_btnRecruit.target.touchable = true;
@@ -184,7 +184,7 @@ namespace GFGGame
                 // _ui.m_btnRecruit.m_txtTime.text = "";
                 Timers.inst.Remove(OnUpdateTimer);
             }
-            string time = TimeUtil.FormattingTime6(timeCount);
+            string time = TimeUtil.FormattingTime5(timeCount);
             _ui.m_btnRecruit.m_txtTime.text = string.Format("剩余时间: {0}", time);
         }
         private void UpdateLeader(GObject obj, long roleId)

+ 32 - 15
GameClient/Assets/Game/HotUpdate/Views/League/LeagueSkillUpView.cs

@@ -53,6 +53,7 @@ namespace GFGGame
         protected override void AddEventListener()
         {
             base.AddEventListener();
+            EventAgent.AddEventListener(ConstMessage.NUMERIC_CHANGE, UpdateView);
         }
         protected override void OnShown()
         {
@@ -61,18 +62,7 @@ namespace GFGGame
             _valueBarController.OnShown();
             _valueBarController.Controller(11);
             _ui.m_list.numItems = LeagueSkillCountCfgArray.Instance.GetCfg(_type).layerCount;
-            if (LeagueDataManager.Instance.GetSkillProgressByType(_type) < 100 && LeagueDataManager.Instance.GetSkillProgressByType(_type) > 0)
-            {
-                if (LeagueDataManager.Instance.CurLayer == _ui.m_list.numItems)
-                {
-                    _ui.m_list.ScrollToView(LeagueDataManager.Instance.CurLayer - 1);
-                }
-                else
-                {
-                    _ui.m_list.ScrollToView(LeagueDataManager.Instance.CurLayer);
-                }
-            }
-            // _pageCount = Math.Ceiling((double)(_ui.m_list.scrollPane.contentWidth / _ui.m_list.scrollPane.viewWidth));
+
             UpdateView();
         }
 
@@ -86,6 +76,7 @@ namespace GFGGame
         protected override void RemoveEventListener()
         {
             base.RemoveEventListener();
+            EventAgent.RemoveEventListener(ConstMessage.NUMERIC_CHANGE, UpdateView);
         }
 
         private void OnBtnBackClick()
@@ -114,14 +105,40 @@ namespace GFGGame
         }
         private void UpdateView()
         {
+            if (LeagueDataManager.Instance.GetSkillProgressByType(_type) < 100 && LeagueDataManager.Instance.GetSkillProgressByType(_type) > 0)
+            {
+                if (LeagueDataManager.Instance.CurLayer == _ui.m_list.numItems)
+                {
+                    _ui.m_list.ScrollToView(LeagueDataManager.Instance.CurLayer - 1);
+                }
+                else
+                {
+                    bool isActive = true;
+                    List<LeagueSkillCfg> skillCfgs = LeagueSkillCfgArray.Instance.GetCfgsBytypeAndlayer(_type, LeagueDataManager.Instance.CurLayer);
+                    for (int i = 0; i < skillCfgs.Count; i++)
+                    {
+                        if (!SkillDataManager.Instance.LeagueSkillDatas.ContainsKey(_type) || SkillDataManager.Instance.LeagueSkillDatas[_type].IndexOf(skillCfgs[i].id) < 0)
+                        {
+                            isActive = false;
+                            break;
+                        }
+                    }
+                    if (isActive)
+                    {
+                        _ui.m_list.ScrollToView(LeagueDataManager.Instance.CurLayer);
+                    }
+                    else
+                    {
+                        _ui.m_list.ScrollToView(LeagueDataManager.Instance.CurLayer - 1);
+                    }
+                }
+                // _ui.m_list.ScrollToView(LeagueDataManager.Instance.CurLayer - 1);
+            }
             _ui.m_listScore.numItems = 4;
             _ui.m_list.RefreshVirtualList();
             _ui.m_txtTitle.text = "茶艺-" + LeagueSkillCountCfgArray.Instance.GetCfg(_type).name;
-            // UI_ListSkillTypeItem item = UI_ListSkillTypeItem.Proxy(_ui.m_comSkillType.target);
             double progress = LeagueDataManager.Instance.GetSkillProgressByType(_type);
-            // _ui.m_txtProgress.text = string.Format("进度{0}%", progress);
             _ui.m_txtProgress.SetVar("value", progress.ToString()).FlushVars();
-            // UI_ListSkillTypeItem.ProxyEnd();
         }
         private void RenderListScoreItem(int index, GObject obj)
         {

+ 5 - 0
GameClient/Assets/Game/HotUpdate/Views/League/LeagueView.cs

@@ -93,6 +93,11 @@ namespace GFGGame
         {
             ViewManager.Show<LeaguePrayView>(null, new object[] { typeof(LeagueView).FullName, null });
         }
+        private void OnBtnShopClick()
+        {
+            ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_EXCHANGE, ConstStoreSubId.STORE_EXCHANGE_LEAGUE }, new object[] { typeof(LeaguePrayView).FullName, true }, true);
+            ViewManager.Show<LeaguePrayView>(null, new object[] { typeof(LeagueView).FullName, null });
+        }
         private void OnBtnSkillClick()
         {
             ViewManager.Show<LeagueSkillView>(null, new object[] { typeof(LeagueView).FullName, null });

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/Poem/PoemGalleryView.cs

@@ -249,7 +249,7 @@ namespace GFGGame
         private void OnBtnShopClick()
         {
             object[] gobackParamDatas = new object[] { _tabIndex, _subtabIndex, _ui.m_comNormal.m_comBoBox.selectedIndex };
-            ViewManager.Show<GalleryShopView>(new object[] { ConstStoreId.GALLERY_STORE_ID }, new object[] { typeof(PoemGalleryView).FullName, gobackParamDatas }, true);
+            ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_EXCHANGE, ConstStoreSubId.STORE_EXCHANGE_GALLERY }, new object[] { typeof(PoemGalleryView).FullName, gobackParamDatas }, true);
         }
 
         /// <summary>

+ 18 - 6
GameClient/Assets/Game/HotUpdate/Views/Store/ItemExchangeView.cs

@@ -114,14 +114,26 @@ namespace GFGGame
             _ui.m_btnMinus.m_c1.selectedIndex = _buyCount == 1 ? 1 : 0;
             _ui.m_btnMinus.target.touchable = _buyCount == 1 ? false : true;
             // int hasCount = ItemDataManager.GetItemNum(cfg.itemId);
-            _ui.m_btnAdd.m_c1.selectedIndex = _buyCount == _maxCanBuy ? 1 : 0;
-            _ui.m_btnAdd.target.touchable = _buyCount == _maxCanBuy ? false : true;
-            _ui.m_btnMax.m_c1.selectedIndex = _buyCount == _maxCanBuy ? 1 : 0;
-            _ui.m_btnMax.target.touchable = _buyCount == _maxCanBuy ? false : true;
+            _ui.m_btnAdd.m_c1.selectedIndex = _shopCfg.costType == CostType.RMB || _buyCount == _maxCanBuy ? 1 : 0;
+            _ui.m_btnAdd.target.touchable = _shopCfg.costType == CostType.RMB || _buyCount == _maxCanBuy ? false : true;
+            _ui.m_btnMax.m_c1.selectedIndex = _shopCfg.costType == CostType.RMB || _buyCount == _maxCanBuy ? 1 : 0;
+            _ui.m_btnMax.target.touchable = _shopCfg.costType == CostType.RMB || _buyCount == _maxCanBuy ? false : true;
 
             _ui.m_txtShow.text = "选择购买数量";
             _ui.m_txtTips.text = string.Format("确定购买{0}个{1}?", _buyCount, itemCfg.name);
-            ItemUtil.UpdateItemNeedNum(_ui.m_comCost.target, _shopCfg.costId, (int)_buyCount * _shopCfg.price);
+            if (_shopCfg.costType == CostType.RMB)
+            {
+                _ui.m_comCost.target.visible = false;
+                _ui.m_txtRmbCost.visible = true;
+                _ui.m_txtRmbCost.text = string.Format("¥ {0}", _shopCfg.price);
+                // _ui.m_txtRmbCost.SetVar("value", _shopCfg.price.ToString()).FlushVars();
+            }
+            else
+            {
+                _ui.m_comCost.target.visible = true;
+                _ui.m_txtRmbCost.visible = false;
+                ItemUtil.UpdateItemNeedNum(_ui.m_comCost.target, _shopCfg.costId, (int)_buyCount * _shopCfg.price);
+            }
         }
 
 
@@ -153,7 +165,7 @@ namespace GFGGame
         private async void OnBtnExchangeClick()
         {
             ShopCfg cfg = ShopCfgArray.Instance.GetCfg(_goodIds);
-            if (ItemDataManager.GetItemNum(cfg.costId) < cfg.price)
+            if (cfg.costType != CostType.RMB && ItemDataManager.GetItemNum(cfg.costId) < cfg.price)
             {
                 PromptController.Instance.ShowFloatTextPrompt("道具不足");
                 return;

+ 11 - 2
GameClient/Assets/Game/HotUpdate/Views/Store/StoreArenaView.cs

@@ -9,11 +9,16 @@ namespace GFGGame
     public class StoreArenaView : BaseWindow
     {
         private UI_StoreExchangeUI _ui;
+        private ValueBarController _valueBarController;
         private List<ShopCfg> _shopCfgs;
 
         public override void Dispose()
         {
-
+            if (_valueBarController != null)
+            {
+                _valueBarController.Dispose();
+                _valueBarController = null;
+            }
             if (_ui != null)
             {
                 _ui.Dispose();
@@ -32,6 +37,7 @@ namespace GFGGame
             this.clickBlankToClose = false;
 
             _ui.m_list.itemRenderer = ListItemRenderer;
+            _valueBarController = new ValueBarController(_ui.m_valueBar);
         }
         protected override void AddEventListener()
         {
@@ -43,12 +49,15 @@ namespace GFGGame
             base.OnShown();
             int menu2 = (int)this.viewData;
             _shopCfgs = ShopCfgArray.Instance.GetCfgsBymenu1Andmenu2(ConstStoreTabId.STORE_ARENA, menu2);
+            _valueBarController.OnShown();
+            _valueBarController.UpdateList(ShopDataManager.Instance.GetShopCostIds(_shopCfgs));
             UpdateView();
         }
 
         protected override void OnHide()
         {
             base.OnHide();
+            _valueBarController.OnHide();
         }
         protected override void RemoveEventListener()
         {
@@ -58,7 +67,7 @@ namespace GFGGame
 
         private void UpdateView()
         {
-            _shopCfgs = ShopDataManager.Instance.SortGiftBagCfgs(_shopCfgs);
+            _shopCfgs = ShopDataManager.Instance.SortShopGoodsCfgs(_shopCfgs);
             _ui.m_list.numItems = _shopCfgs.Count;
         }
         private void ListItemRenderer(int index, GObject obj)

+ 10 - 2
GameClient/Assets/Game/HotUpdate/Views/Store/StoreChargeAddUpView.cs

@@ -9,11 +9,16 @@ namespace GFGGame
     public class StoreChargeAddUpView : BaseWindow
     {
         private UI_StoreGiftBagUI _ui;
+        private ValueBarController _valueBarController;
         private List<ShopCfg> _shopCfgs;
 
         public override void Dispose()
         {
-
+            if (_valueBarController != null)
+            {
+                _valueBarController.Dispose();
+                _valueBarController = null;
+            }
             if (_ui != null)
             {
                 _ui.Dispose();
@@ -32,6 +37,7 @@ namespace GFGGame
             this.clickBlankToClose = false;
 
             _ui.m_list.itemRenderer = ListItemRenderer;
+            _valueBarController = new ValueBarController(_ui.m_valueBar);
         }
         protected override void AddEventListener()
         {
@@ -42,13 +48,15 @@ namespace GFGGame
             base.OnShown();
             int menu2 = (int)this.viewData;
             _shopCfgs = ShopCfgArray.Instance.GetCfgsBymenu1Andmenu2(ConstStoreTabId.STORE_GIFT_BAG, menu2);
-            _shopCfgs = ShopDataManager.Instance.SortGiftBagCfgs(_shopCfgs);
+            _shopCfgs = ShopDataManager.Instance.SortShopGoodsCfgs(_shopCfgs);
             _ui.m_list.numItems = _shopCfgs.Count;
+            _valueBarController.OnShown();
         }
 
         protected override void OnHide()
         {
             base.OnHide();
+            _valueBarController.OnHide();
         }
         protected override void RemoveEventListener()
         {

+ 9 - 1
GameClient/Assets/Game/HotUpdate/Views/Store/StoreChargeView.cs

@@ -9,11 +9,16 @@ namespace GFGGame
     public class StoreChargeView : BaseWindow
     {
         private UI_StoreChargeUI _ui;
+        private ValueBarController _valueBarController;
         private List<ShopCfg> _shopCfgs;
 
         public override void Dispose()
         {
-
+            if (_valueBarController != null)
+            {
+                _valueBarController.Dispose();
+                _valueBarController = null;
+            }
             if (_ui != null)
             {
                 _ui.Dispose();
@@ -32,6 +37,7 @@ namespace GFGGame
             this.clickBlankToClose = false;
 
             _ui.m_list.itemRenderer = ListItemRenderer;
+            _valueBarController = new ValueBarController(_ui.m_valueBar);
         }
         protected override void AddEventListener()
         {
@@ -44,6 +50,7 @@ namespace GFGGame
             base.OnShown();
             _shopCfgs = ShopCfgArray.Instance.GetCfgsBymenu1Andmenu2(ConstStoreTabId.STORE_CHARGE, ConstStoreSubId.STORE_CHARGE);
             _ui.m_list.numItems = _shopCfgs.Count;
+            _valueBarController.OnShown();
             UpdateVipProgressCom();
         }
 
@@ -54,6 +61,7 @@ namespace GFGGame
         protected override void OnHide()
         {
             base.OnHide();
+            _valueBarController.OnHide();
         }
         protected override void RemoveEventListener()
         {

+ 11 - 2
GameClient/Assets/Game/HotUpdate/Views/Store/StoreExchangeView.cs

@@ -9,11 +9,16 @@ namespace GFGGame
     public class StoreExchangeView : BaseWindow
     {
         private UI_StoreExchangeUI _ui;
+        private ValueBarController _valueBarController;
         private List<ShopCfg> _shopCfgs;
 
         public override void Dispose()
         {
-
+            if (_valueBarController != null)
+            {
+                _valueBarController.Dispose();
+                _valueBarController = null;
+            }
             if (_ui != null)
             {
                 _ui.Dispose();
@@ -32,6 +37,7 @@ namespace GFGGame
             this.clickBlankToClose = false;
 
             _ui.m_list.itemRenderer = ListItemRenderer;
+            _valueBarController = new ValueBarController(_ui.m_valueBar);
         }
         protected override void AddEventListener()
         {
@@ -43,12 +49,15 @@ namespace GFGGame
             base.OnShown();
             int menu2 = (int)this.viewData;
             _shopCfgs = ShopCfgArray.Instance.GetCfgsBymenu1Andmenu2(ConstStoreTabId.STORE_EXCHANGE, menu2);
+            _valueBarController.OnShown();
+            _valueBarController.UpdateList(ShopDataManager.Instance.GetShopCostIds(_shopCfgs));
             UpdateView();
         }
 
         protected override void OnHide()
         {
             base.OnHide();
+            _valueBarController.OnHide();
         }
         protected override void RemoveEventListener()
         {
@@ -58,7 +67,7 @@ namespace GFGGame
 
         private void UpdateView()
         {
-            _shopCfgs = ShopDataManager.Instance.SortGiftBagCfgs(_shopCfgs);
+            _shopCfgs = ShopDataManager.Instance.SortShopGoodsCfgs(_shopCfgs);
             _ui.m_list.numItems = _shopCfgs.Count;
         }
         private void ListItemRenderer(int index, GObject obj)

+ 11 - 2
GameClient/Assets/Game/HotUpdate/Views/Store/StoreGiftBagView.cs

@@ -9,11 +9,16 @@ namespace GFGGame
     public class StoreGiftBagView : BaseWindow
     {
         private UI_StoreGiftBagUI _ui;
+        private ValueBarController _valueBarController;
         private List<ShopCfg> _shopCfgs;
 
         public override void Dispose()
         {
-
+            if (_valueBarController != null)
+            {
+                _valueBarController.Dispose();
+                _valueBarController = null;
+            }
             if (_ui != null)
             {
                 _ui.Dispose();
@@ -32,6 +37,7 @@ namespace GFGGame
             this.clickBlankToClose = false;
 
             _ui.m_list.itemRenderer = ListItemRenderer;
+            _valueBarController = new ValueBarController(_ui.m_valueBar);
         }
         protected override void AddEventListener()
         {
@@ -43,12 +49,15 @@ namespace GFGGame
             base.OnShown();
             int menu2 = (int)this.viewData;
             _shopCfgs = ShopCfgArray.Instance.GetCfgsBymenu1Andmenu2(ConstStoreTabId.STORE_GIFT_BAG, menu2);
+            _valueBarController.OnShown();
+            _valueBarController.UpdateList(ShopDataManager.Instance.GetShopCostIds(_shopCfgs));
             UpdateView();
         }
 
         protected override void OnHide()
         {
             base.OnHide();
+            _valueBarController.OnHide();
         }
         protected override void RemoveEventListener()
         {
@@ -58,7 +67,7 @@ namespace GFGGame
 
         private void UpdateView()
         {
-            _shopCfgs = ShopDataManager.Instance.SortGiftBagCfgs(_shopCfgs);
+            _shopCfgs = ShopDataManager.Instance.SortShopGoodsCfgs(_shopCfgs);
             _ui.m_list.numItems = _shopCfgs.Count;
         }
         private void ListItemRenderer(int index, GObject obj)

+ 4 - 13
GameClient/Assets/Game/HotUpdate/Views/Store/StoreView.cs

@@ -12,7 +12,7 @@ namespace GFGGame
     public class StoreView : BaseWindow
     {
         private UI_StoreUI _ui;
-        private ValueBarController _valueBarController;
+        // private ValueBarController _valueBarController;
         private List<List<string>> _arenaSubTab = new List<List<string>>();
         private int _curTabIndex = 0;
         private int _curSubTabIndex = 0;
@@ -20,12 +20,6 @@ namespace GFGGame
 
         public override void Dispose()
         {
-            if (_valueBarController != null)
-            {
-                _valueBarController.Dispose();
-                _valueBarController = null;
-            }
-
             if (_ui != null)
             {
                 _ui.Dispose();
@@ -58,7 +52,6 @@ namespace GFGGame
                 _arenaSubTab.Add(new List<string>() { string.Format("第{0}赛季", i), i.ToString(), "StoreArenaView" });
             }
 
-            _valueBarController = new ValueBarController(_ui.m_valueBar);
             _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("sc_beijing");
 
             _ui.m_btnBack.onClick.Add(OnClickBtnBack);
@@ -75,12 +68,11 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
-            _valueBarController.OnShown();
             //this.viewData[functionId][subTabIndex]
-            string functionId = this.viewData == null ? "" : (this.viewData as object[])[0].ToString();
+            _curTabIndex = this.viewData == null ? ConstStoreTabId.STORE_CHARGE : (int)(this.viewData as object[])[0];
 
-            StoreTabCfg tabCfg = StoreTabCfgArray.Instance.GetCfgByfunctionId(functionId);
-            _curTabIndex = tabCfg == null ? 1 : tabCfg.index;
+            // StoreTabCfg tabCfg = StoreTabCfgArray.Instance.GetCfg(tabIndex);
+            // _curTabIndex = tabCfg == null ? 1 : tabCfg.index;
             _ui.m_comTab.m_c1.selectedIndex = _curTabIndex;
             _ui.m_comTab.target.scrollPane.SetPercX((float)(_curTabIndex - 1) / (float)StoreTabCfgArray.Instance.dataArray.Length, false);
 
@@ -96,7 +88,6 @@ namespace GFGGame
         protected override void OnHide()
         {
             base.OnHide();
-            _valueBarController.OnHide();
             _ui.m_comTab.m_c1.selectedIndex = 0;
             _ui.m_listSubTab.selectedIndex = 0;
 

+ 82 - 44
GameClient/Assets/Game/HotUpdate/Views/Task/BattlePassTaskView.cs

@@ -1,5 +1,4 @@
 using System.Collections.Generic;
-using System.Linq;
 using ET;
 using FairyGUI;
 using UI.Task;
@@ -19,7 +18,6 @@ namespace GFGGame
                 _ui.Dispose();
                 _ui = null;
             }
-
             base.Dispose();
         }
 
@@ -31,58 +29,70 @@ namespace GFGGame
             viewCom = _ui.target;
             isfullScreen = true;
             clickBlankToClose = false;
-
             _ui.m_btnOpen.onClick.Add(OnBtnOpenClick);
-            // _ui.m_btnGet.onClick.Add(OnBtnGetClick);
-            // _ui.m_btnContinue.onClick.Add(OnBtnContinueClick);
-            // _ui.m_btnGetAll.onClick.Add(OnBtnGetAllClick);
-            // _ui.m_btnGo.onClick.Add(OnBtnGoClick);
+            _ui.m_btnBuyLevel.onClick.Add(OnBtnBuyLevel);
             _ui.m_btnGetAll.onClick.Add(OnBtnGetAllClick);
             _ui.m_RewardList.itemRenderer = ListBoxRewardItemRender;
+            _ui.m_RewardList.SetVirtual();
+            _ui.m_SpecialReward.m_RewardList.itemRenderer = SpecialRewardRender;
         }
 
 
         protected override void OnShown()
         {
             base.OnShown();
-            //获取通行证奖励配置
-            var seasonId = BattlePassTaskDataManager.Instance.GetSeasonId();
-            _rewardCfgs = new List<BattlePassCfg>(BattlePassCfgArray.Instance.GetCfgsByid(seasonId));
-            //去掉第一个为0的配置
-            _ui.m_RewardList.numItems = _rewardCfgs.Count - 1;
+            oldLevel = 0;
             SetSeasonLeftTime();
             SetBattlePassLevel();
+            SetOpenBattlePassBtnStatus();
+            FreshSpecialReward(oldLevel);
+        }
+
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+            //监听通行证等级变化
+            EventAgent.AddEventListener(ConstMessage.BATTLEPASS_LEVEL_CHANGE, SetBattlePassLevel);
         }
 
 
         //开启通行证
         private void OnBtnOpenClick(EventContext context)
         {
+            ViewManager.Show<OpenBattlePassView>(null, new object[] { typeof(BattlePassTaskView).FullName, null });
         }
 
         private void OnBtnBuyLevel(EventContext context)
         {
+            ViewManager.Show<BuyBattlePassLevelView>(null, new object[] { typeof(BattlePassTaskView).FullName, null });
         }
 
         //领取奖励
-        private void OnBtnGetClick(EventContext context)
+        private async void OnBtnGetClick(EventContext context)
         {
-            //TODO
-            Log.Debug("领取奖励");
+            if (!(context.sender is GObject obj)) return;
+            var id = (int)obj.data;
+            var get = await BattlePassTaskSProxy.GetBattlePassReward(id);
+            if (!get) return;
+            SetBattlePassLevel();
         }
 
         //继续领取
-        private void OnBtnContinueClick(EventContext context)
+        private async void OnBtnContinueClick(EventContext context)
         {
-            //TODO
-            Log.Debug("继续领取");
+            if (!(context.sender is GObject obj)) return;
+            var id = (int)obj.data;
+            var get = await BattlePassTaskSProxy.GetBattlePassReward(id);
+            if (!get) return;
+            SetBattlePassLevel();
         }
 
         //领取全部奖励
-        private void OnBtnGetAllClick(EventContext context)
+        private async void OnBtnGetAllClick(EventContext context)
         {
-            //TODO
-            Log.Debug("领取全部奖励");
+            var get = await BattlePassTaskSProxy.GetAllBattlePassReward();
+            if (!get) return;
+            SetBattlePassLevel();
         }
 
         //前往
@@ -94,11 +104,13 @@ namespace GFGGame
             ViewManager.Show($"GFGGame.{btnGo.data}", null, new[] { typeof(TaskView).FullName, viewData }, true);
         }
 
+
         private void ListBoxRewardItemRender(int index, GObject obj)
         {
             var item = UI_BattlePassRewardItem.Proxy(obj);
+            var level = index + 1;
             //这里跳过为0的第一个配置
-            var battlePassCfg = _rewardCfgs[index + 1];
+            var battlePassCfg = _rewardCfgs[level];
             //设置等级
             item.m_Level.text = battlePassCfg.level.ToString();
             //设置奖励
@@ -112,21 +124,19 @@ namespace GFGGame
                     item.m_NormalReward.m_num.text = bonusNormalArr[0][1].ToString();
                 }
             }
-
             if (item.m_RewardList.data == null)
             {
                 item.m_RewardList.itemRenderer = SpecialRewardRender;
             }
-
             item.m_RewardList.data = battlePassCfg.bonusSpecialArr;
             item.m_RewardList.numItems = battlePassCfg.bonusSpecialArr.Length;
             //获取玩家当前的通行证等级
-            var dataManager = BattlePassTaskDataManager.Instance;
-            var state = 1;
+            var state = BattlePassTaskDataManager.Instance.GetRewardState(level);
             //设置按钮状态
             SetBtnState(item, battlePassCfg.id, state);
             item.target.data = battlePassCfg;
             UI_BattlePassRewardItem.ProxyEnd();
+            FreshSpecialReward(level);
         }
 
         //SpecialRewardRender
@@ -134,11 +144,6 @@ namespace GFGGame
         {
             var item = UI_RewardIconYellow.Proxy(obj);
             var parentData = (int[][])obj.parent.data;
-            // if (!(obj.parent.data is int[][] parentData))
-            // {
-            //     UI_RewardIconYellow.ClearProxy();
-            //     return;
-            // }
             var itemInfo = parentData[index];
             var itemId = itemInfo[0];
             var num = itemInfo[1];
@@ -148,7 +153,6 @@ namespace GFGGame
                 item.m_loaIcon.url = ResPathUtil.GetCommonGameResPath(itemCfg.res);
                 item.m_num.text = num.ToString();
             }
-
             UI_RewardIconYellow.ProxyEnd();
         }
 
@@ -160,24 +164,19 @@ namespace GFGGame
             {
                 item.m_GetRewardBt.onClick.Add(OnBtnGetClick);
             }
-
             item.m_GetRewardBt.data = id;
-
             //继续领取
             if (item.m_ContinueBt.data == null)
             {
                 item.m_ContinueBt.onClick.Add(OnBtnContinueClick);
             }
-
+            item.m_ContinueBt.data = id;
             //前往
             if (item.m_ComeBt.data == null)
             {
                 item.m_ComeBt.onClick.Add(OnBtnGoClick);
             }
-
-            item.m_GetRewardBt.data = id;
-
-            item.m_GetRewardBt.data = id;
+            item.m_ComeBt.data = id;
         }
 
         //设置赛季剩余时间
@@ -200,25 +199,64 @@ namespace GFGGame
             _ui.m_LeftTime.text = TimeUtil.FormattingTime(TimeHelper.ServerNow(), seasonEndTime);
         }
 
-
         private void SetBattlePassLevel()
         {
             //获取玩家当前的通行证等级
             var dataManager = BattlePassTaskDataManager.Instance;
             var battlePassLevel = dataManager.GetBattlePassLevel();
+            var seasonId = dataManager.GetSeasonId();
             var uiExpProcess = _ui.m_LevelProcess;
             uiExpProcess.m_Level.text = battlePassLevel.ToString();
             //获取当前等级的经验
             var battlePassCfg =
-                BattlePassCfgArray.Instance.GetCfgByidAndlevel(dataManager.GetSeasonId(),
-                    dataManager.GetBattlePassLevel());
+                BattlePassCfgArray.Instance.GetCfgByidAndlevel(seasonId, dataManager.GetBattlePassLevel());
             uiExpProcess.target.max = battlePassCfg.value;
-            uiExpProcess.target.value = 50;
+            uiExpProcess.target.value = dataManager.GetBattlePassExp();
+            uiExpProcess.m_NumProcess.SetVar("value", dataManager.GetBattlePassExp().ToString())
+                .SetVar("maxValue", battlePassCfg.value.ToString()).FlushVars();
+            //刷新奖励列表
+            _rewardCfgs = new List<BattlePassCfg>(BattlePassCfgArray.Instance.GetCfgsByid(seasonId));
+            //去掉第一个为0的配置
+            _ui.m_RewardList.numItems = _rewardCfgs.Count - 1;
         }
 
+        private void SetOpenBattlePassBtnStatus()
+        {
+            //通行证是否购买
+            var isBuy = BattlePassTaskDataManager.Instance.GetIsBuy();
+            _ui.m_c1.selectedIndex = isBuy ? 1 : 0;
+        }
+
+        private int oldLevel;
+
         //刷新特别大奖展示
-        private void FreshSpecialReward()
+        private void FreshSpecialReward(int level)
         {
+            var battlePassCfg = BattlePassTaskDataManager.Instance.GetSpecialCfg(level);
+            var uiBattlePassReward = _ui.m_SpecialReward;
+            if (battlePassCfg == null)
+            {
+                uiBattlePassReward.target.visible = false;
+                return;
+            }
+            var newLeve = battlePassCfg.level;
+            if (newLeve == oldLevel) return;
+            oldLevel = newLeve;
+            uiBattlePassReward.target.visible = true;
+            uiBattlePassReward.m_Level.text = newLeve.ToString();
+            //设置奖励
+            var bonusNormalArr = battlePassCfg.bonusNormalArr;
+            if (bonusNormalArr != null && bonusNormalArr.Length > 0)
+            {
+                var itemCfg = ItemCfgArray.Instance.GetCfg(bonusNormalArr[0][0]);
+                if (itemCfg != null)
+                {
+                    uiBattlePassReward.m_NormalReward.m_loaIcon.url = ResPathUtil.GetCommonGameResPath(itemCfg.res);
+                    uiBattlePassReward.m_NormalReward.m_num.text = bonusNormalArr[0][1].ToString();
+                }
+            }
+            uiBattlePassReward.m_RewardList.data = battlePassCfg.bonusSpecialArr;
+            uiBattlePassReward.m_RewardList.numItems = battlePassCfg.bonusSpecialArr.Length;
         }
     }
 }

+ 114 - 0
GameClient/Assets/Game/HotUpdate/Views/Task/BuyBattlePassLevelView.cs

@@ -0,0 +1,114 @@
+using FairyGUI;
+using UI.Task;
+
+namespace GFGGame
+{
+    public class BuyBattlePassLevelView : BaseWindow
+    {
+        private UI_BuyBattlePassLevelUI _ui;
+
+        private int addLevel = 1;
+
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_OpenBattlePassUI.PACKAGE_NAME;
+            _ui = UI_BuyBattlePassLevelUI.Create();
+            viewCom = _ui.target;
+            viewCom.Center();
+            _ui.m_CloseBtn.onClick.Add(Hide);
+            // clickBlankToClose = false;
+            _ui.m_Rewards.itemRenderer = SpecialRewardRender;
+            _ui.m_Add.onClick.Add(OnAddLevel);
+            _ui.m_Reduce.onClick.Add(OnReduceLevel);
+            _ui.m_AddLevelBtn.onClick.Add(OnRequestAddLevel);
+        }
+
+        protected override void OnShown()
+        {
+            SetLevel();
+            base.OnShown();
+        }
+
+        private static void SpecialRewardRender(int index, GObject obj)
+        {
+            var item = UI_RewardIconYellow.Proxy(obj);
+            var itemInfos = (int[][])obj.parent.data;
+            // if (!(obj.parent.data is int[][] parentData))
+            // {
+            //     UI_RewardIconYellow.ClearProxy();
+            //     return;
+            // }
+            var itemInfo = itemInfos[index];
+            var itemId = itemInfo[0];
+            var num = itemInfo[1];
+            var itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+            if (itemCfg != null)
+            {
+                item.m_loaIcon.url = ResPathUtil.GetCommonGameResPath(itemCfg.res);
+                item.m_num.text = num.ToString();
+            }
+            UI_RewardIconYellow.ProxyEnd();
+        }
+
+        private void SetLevel()
+        {
+            var dataManager = BattlePassTaskDataManager.Instance;
+            var battlePassLevel = dataManager.GetBattlePassLevel();
+            _ui.m_Tip.SetVar("startLeve", battlePassLevel.ToString())
+                .SetVar("endLevel", (battlePassLevel + addLevel).ToString()).FlushVars();
+            var globalCfgBattlePassLevelConsumeArr = GlobalCfgArray.globalCfg.BattlePassLevelConsumeArr;
+            var count = globalCfgBattlePassLevelConsumeArr[0][1];
+            _ui.m_AddLevelBtn.text = (addLevel * count).ToString();
+
+            var upLevelReward = dataManager.GetUpLevelReward(addLevel);
+            _ui.m_Rewards.data = upLevelReward;
+            _ui.m_Rewards.numItems = upLevelReward?.Length ?? 0;
+        }
+
+        private void OnReduceLevel(EventContext context)
+        {
+            if (addLevel == 0)
+            {
+                return;
+            }
+            addLevel -= 1;
+            SetLevel();
+        }
+
+        private void OnAddLevel(EventContext context)
+        {
+            var newLevel = addLevel + 1;
+            var dataManager = BattlePassTaskDataManager.Instance;
+            var cfg = BattlePassCfgArray.Instance.GetCfgByidAndlevel(dataManager.GetSeasonId(), newLevel);
+            if (cfg == null)
+            {
+                return;
+            }
+            addLevel = newLevel;
+            SetLevel();
+        }
+
+        private async void OnRequestAddLevel(EventContext context)
+        {
+            //检查是否消耗足够
+            var globalCfgBattlePassLevelConsumeArr = GlobalCfgArray.globalCfg.BattlePassLevelConsumeArr;
+            if (!ItemUtil.CheckItemEnough(globalCfgBattlePassLevelConsumeArr, addLevel))
+            {
+                PromptController.Instance.ShowFloatTextPrompt("货币不够!");
+                return;
+            }
+            await BattlePassTaskSProxy.BuyBattlePassLevel(addLevel);
+        }
+    }
+}

+ 3 - 0
GameClient/Assets/Game/HotUpdate/Views/Task/BuyBattlePassLevelView.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 254054006d324e17a8d863110779b991
+timeCreated: 1684829497

+ 39 - 3
GameClient/Assets/Game/HotUpdate/Views/Task/OpenBattlePassView.cs

@@ -1,3 +1,5 @@
+using System.Collections.Generic;
+using FairyGUI;
 using UI.Task;
 
 namespace GFGGame
@@ -23,8 +25,16 @@ namespace GFGGame
             packageName = UI_OpenBattlePassUI.PACKAGE_NAME;
             _ui = UI_OpenBattlePassUI.Create();
             viewCom = _ui.target;
-            // isfullScreen = true;
-            clickBlankToClose = false;
+            viewCom.Center();
+            _ui.m_CloseBtn.onClick.Add(Hide);
+            // clickBlankToClose = false;
+            _ui.m_Rewards.itemRenderer = SpecialRewardRender;
+            _ui.m_OpenBtn.onClick.Add(OnBtnOpenClick);
+        }
+
+        private void OnBtnOpenClick(EventContext context)
+        {
+            //TODO:打开购买界面
         }
 
 
@@ -33,10 +43,36 @@ namespace GFGGame
             base.OnShown();
             SetPrizeData();
         }
+        
+        
 
+        private static void SpecialRewardRender(int index, GObject obj)
+        {
+            var item = UI_RewardIconYellow.Proxy(obj);
+            var itemInfos = (List<KeyValuePair<int, long>>)obj.parent.data;
+            // if (!(obj.parent.data is int[][] parentData))
+            // {
+            //     UI_RewardIconYellow.ClearProxy();
+            //     return;
+            // }
+            var itemInfo = itemInfos[index];
+            var itemId = itemInfo.Key;
+            var num = itemInfo.Value;
+            var itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+            if (itemCfg != null)
+            {
+                item.m_loaIcon.url = ResPathUtil.GetCommonGameResPath(itemCfg.res);
+                item.m_num.text = num.ToString();
+            }
+            UI_RewardIconYellow.ProxyEnd();
+        }
         private void SetPrizeData()
         {
-            
+            //获取所有特别奖励数据
+            var dataManager = BattlePassTaskDataManager.Instance;
+            var allSpecialCfg = dataManager.GetAllSpecialCfg();
+            _ui.m_Rewards.data = allSpecialCfg;
+            _ui.m_Rewards.numItems = allSpecialCfg.Count;
         }
     }
 }

BIN
GameClient/Assets/ResIn/UI/Arena/Arena_fui.bytes


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_fui.bytes


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0.png


Някои файлове не бяха показани, защото твърде много файлове са промени