Forráskód Böngészése

Merge branch 'master' of http://10.108.64.190:3000/gfg/client

zhaoyang 2 éve
szülő
commit
30ce0bf7a5
72 módosított fájl, 1932 hozzáadás és 80 törlés
  1. 0 1
      FGUIProject/assets/Bag/GiftBoxSelectorUI.xml
  2. 0 7
      FGUIProject/assets/Bag/components/ComItemNumBag.xml
  3. 2 1
      FGUIProject/assets/Bag/components/ListSelectorItem.xml
  4. 0 1
      FGUIProject/assets/Bag/package.xml
  5. 0 2
      FGUIProject/assets/EnduringGiftBox/EnduringGiftBoxGold.xml
  6. 0 18
      FGUIProject/assets/EnduringGiftBox/EnduringGiftBoxPower.xml
  7. 75 0
      FGUIProject/assets/EnduringGiftBox/EnduringGiftBoxUI.xml
  8. 6 0
      FGUIProject/assets/EnduringGiftBox/components/BnBack.xml
  9. 13 0
      FGUIProject/assets/EnduringGiftBox/components/BtnBuy.xml
  10. 13 0
      FGUIProject/assets/EnduringGiftBox/components/BtnBuyWeek.xml
  11. 12 0
      FGUIProject/assets/EnduringGiftBox/components/BtnReceive.xml
  12. 18 0
      FGUIProject/assets/EnduringGiftBox/components/ComCurSupplyItem.xml
  13. 8 0
      FGUIProject/assets/EnduringGiftBox/components/ComDiscount.xml
  14. 10 0
      FGUIProject/assets/EnduringGiftBox/components/ComGouMaiGetText.xml
  15. 10 0
      FGUIProject/assets/EnduringGiftBox/components/ComLeftGiftBox.xml
  16. 12 0
      FGUIProject/assets/EnduringGiftBox/components/ComRewardIconItem.xml
  17. BIN
      FGUIProject/assets/EnduringGiftBox/images/hlhdjficon.png
  18. BIN
      FGUIProject/assets/EnduringGiftBox/images/lm_tb.png
  19. BIN
      FGUIProject/assets/EnduringGiftBox/images/lm_tb_tishi.png
  20. BIN
      FGUIProject/assets/EnduringGiftBox/images/tili.png
  21. BIN
      FGUIProject/assets/EnduringGiftBox/images/txz_tb_ylq.png
  22. BIN
      FGUIProject/assets/EnduringGiftBox/images/wpk_db_1.png
  23. BIN
      FGUIProject/assets/EnduringGiftBox/images/wpk_db_2.png
  24. BIN
      FGUIProject/assets/EnduringGiftBox/images/wpk_sz_db.png
  25. BIN
      FGUIProject/assets/EnduringGiftBox/images/wpk_sz_db2.png
  26. 22 5
      FGUIProject/assets/EnduringGiftBox/package.xml
  27. 3 0
      GameClient/Assets/Game/HotUpdate/Constant/ConstMessage.cs
  28. 2 1
      GameClient/Assets/Game/HotUpdate/Constant/ConstStoreSubId.cs
  29. 2 2
      GameClient/Assets/Game/HotUpdate/Constant/ConstStoreTabId.cs
  30. 32 0
      GameClient/Assets/Game/HotUpdate/Controller/EnduringGiftBoxController.cs
  31. 3 0
      GameClient/Assets/Game/HotUpdate/Controller/EnduringGiftBoxController.cs.meta
  32. 1 0
      GameClient/Assets/Game/HotUpdate/Controller/GameController.cs
  33. 53 0
      GameClient/Assets/Game/HotUpdate/Data/EnduringGiftBoxDataManager.cs
  34. 3 0
      GameClient/Assets/Game/HotUpdate/Data/EnduringGiftBoxDataManager.cs.meta
  35. 3 4
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Bag/UI_ListSelectorItem.cs
  36. 8 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox.meta
  37. 80 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_BtnBuy.cs
  38. 1 1
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_BtnBuy.cs.meta
  39. 74 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_BtnBuyWeek.cs
  40. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_BtnBuyWeek.cs.meta
  41. 77 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_BtnReceive.cs
  42. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_BtnReceive.cs.meta
  43. 98 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComCurSupplyItem.cs
  44. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComCurSupplyItem.cs.meta
  45. 13 13
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComDiscount.cs
  46. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComDiscount.cs.meta
  47. 74 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComGouMaiGetText.cs
  48. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComGouMaiGetText.cs.meta
  49. 79 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComLeftGiftBox.cs
  50. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComLeftGiftBox.cs.meta
  51. 89 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComRewardIconItem.cs
  52. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComRewardIconItem.cs.meta
  53. 107 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_EnduringGiftBoxUI.cs
  54. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_EnduringGiftBoxUI.cs.meta
  55. 1 1
      GameClient/Assets/Game/HotUpdate/GameConfig.cs
  56. 58 0
      GameClient/Assets/Game/HotUpdate/ServerProxy/EnduringGiftBoxSProxy.cs
  57. 3 0
      GameClient/Assets/Game/HotUpdate/ServerProxy/EnduringGiftBoxSProxy.cs.meta
  58. 7 0
      GameClient/Assets/Game/HotUpdate/ServerProxy/ShopSProxy.cs
  59. 2 2
      GameClient/Assets/Game/HotUpdate/Utils/ItemUtil.cs
  60. 72 17
      GameClient/Assets/Game/HotUpdate/Views/Bag/GiftBoxSelectorView.cs
  61. 3 0
      GameClient/Assets/Game/HotUpdate/Views/EnduringGiftBox.meta
  62. 481 0
      GameClient/Assets/Game/HotUpdate/Views/EnduringGiftBox/EnduringGiftBoxView.cs
  63. 3 0
      GameClient/Assets/Game/HotUpdate/Views/EnduringGiftBox/EnduringGiftBoxView.cs.meta
  64. 4 4
      GameClient/Assets/Game/Launcher/LauncherConfig.cs
  65. BIN
      GameClient/Assets/ResIn/UI/Bag/Bag_fui.bytes
  66. 8 0
      GameClient/Assets/ResIn/UI/EnduringGiftBox.meta
  67. BIN
      GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0!a.png
  68. 96 0
      GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0!a.png.meta
  69. BIN
      GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0.png
  70. 96 0
      GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0.png.meta
  71. BIN
      GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_fui.bytes
  72. 7 0
      GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_fui.bytes.meta

+ 0 - 1
FGUIProject/assets/Bag/GiftBoxSelectorUI.xml

@@ -27,5 +27,4 @@
     <component id="n30_cu9w" name="btnSub" src="cu9wtme" fileName="components/BtnSub.xml" xy="348,845" group="n27_v5no"/>
     <group id="n27_v5no" name="n27" xy="73,766" size="816,161"/>
   </displayList>
-  <transition name="t0"/>
 </component>

+ 0 - 7
FGUIProject/assets/Bag/components/ComItemNumBag.xml

@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<component size="166,45" overflow="hidden">
-  <displayList>
-    <image id="n1_v5no" name="n1" src="v5notm8" fileName="images/wpk_sz_db_1.png" xy="-21,0" size="208,45"/>
-    <text id="n2_v5no" name="txtNum" xy="29,3" size="107,42" fontSize="30" color="#ffffff" align="center" vAlign="middle" autoSize="none" text="120"/>
-  </displayList>
-</component>

+ 2 - 1
FGUIProject/assets/Bag/components/ListSelectorItem.xml

@@ -5,7 +5,8 @@
     <image id="n2_v5no" name="n2" src="v5notmc" fileName="images/db_jiajian_1.png" xy="23,189"/>
     <text id="n17_cu9w" name="txtSelNum" xy="56,184" size="60,53" fontSize="39" color="#915e15" align="center" autoSize="none" text="0"/>
     <loader id="n11_v5no" name="loaIcon" xy="87,84" pivot="0.5,0.5" anchor="true" size="100,88" fill="scale"/>
-    <component id="n12_v5no" name="comItemNumBag" src="v5notmd" fileName="components/ComItemNumBag.xml" xy="8,120" size="155,45"/>
+    <image id="n18_qqhz" name="n18" src="v5notm8" fileName="images/wpk_sz_db_1.png" xy="8,120" size="155,45"/>
+    <text id="n19_qqhz" name="txtNum" xy="58,122" size="54,42" fontSize="30" color="#ffffff" align="center" vAlign="middle" autoSize="none" text="120"/>
     <component id="n15_cu9w" name="btnReduce" src="cu9wtmf" fileName="components/BtnReduce.xml" xy="-1,188"/>
     <component id="n16_cu9w" name="btnAdd" src="cu9wtmg" fileName="components/BtnAdd.xml" xy="121,189"/>
   </displayList>

+ 0 - 1
FGUIProject/assets/Bag/package.xml

@@ -23,7 +23,6 @@
     <image id="v5notm9" name="wplb_db.png" path="/images/"/>
     <component id="v5notmb" name="ListSelectorItem.xml" path="/components/" exported="true"/>
     <image id="v5notmc" name="db_jiajian_1.png" path="/images/"/>
-    <component id="v5notmd" name="ComItemNumBag.xml" path="/components/" exported="true"/>
     <component id="cu9wtme" name="BtnSub.xml" path="/components/" exported="true"/>
     <component id="cu9wtmf" name="BtnReduce.xml" path="/components/" exported="true"/>
     <component id="cu9wtmg" name="BtnAdd.xml" path="/components/" exported="true"/>

+ 0 - 2
FGUIProject/assets/EnduringGiftBox/EnduringGiftBoxGold.xml

@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<component size="962,970"/>

+ 0 - 18
FGUIProject/assets/EnduringGiftBox/EnduringGiftBoxPower.xml

@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<component size="1080,1118">
-  <displayList>
-    <image id="n0_qqhz" name="n0" src="qqhze" fileName="images/diban.png" xy="23,261" group="n7_qqhz"/>
-    <image id="n1_qqhz" name="n1" src="qqhza" fileName="images/kaikou.png" xy="37,62" group="n7_qqhz"/>
-    <image id="n3_qqhz" name="n3" src="qqhz4" fileName="images/tape.png" xy="-1,577" group="n7_qqhz"/>
-    <image id="n6_qqhz" name="n6" src="qqhzb" fileName="images/heart.png" xy="208,57" group="n7_qqhz" rotation="-0.5"/>
-    <image id="n5_qqhz" name="n5" src="qqhz5" fileName="images/small_paper.png" xy="261,405" group="n7_qqhz"/>
-    <image id="n2_qqhz" name="n2" src="qqhz6" fileName="images/paper.png" xy="30,366" group="n7_qqhz"/>
-    <image id="n8_qqhz" name="n8" src="qqhzp" fileName="images/cz_tl_juese.png" xy="23,-27" group="n7_qqhz"/>
-    <text id="n9_qqhz" name="n9" xy="481,164" size="444,154" group="n7_qqhz" fontSize="32" color="#915e15" align="center" autoSize="none" text="是否花费20粉钻购买60体力?&#xA;体力每5分钟恢复1点&#xA;(今日剩余购买次数:8/8)"/>
-    <component id="n12_qqhz" name="btnCancel" src="qqhzs" fileName="components/BtnCancel.xml" xy="362,327" group="n7_qqhz"/>
-    <component id="n14_qqhz" name="btnSub" src="qqhzu" fileName="components/BtnSub.xml" xy="648,327" group="n7_qqhz"/>
-    <text id="n15_qqhz" name="n15" xy="151,434" size="753,48" group="n7_qqhz" fontSize="28" color="#a67975" autoSize="none" text="除了上述购买体力的途径,我们还提供了更多的优惠礼包选择"/>
-    <image id="n16_qqhz" name="n16" src="qqhzg" fileName="images/cz_lb_db.png" xy="69,475" group="n7_qqhz"/>
-    <group id="n7_qqhz" name="n7" xy="-1,-27" size="1080,1105"/>
-  </displayList>
-</component>

+ 75 - 0
FGUIProject/assets/EnduringGiftBox/EnduringGiftBoxUI.xml

@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="1080,1076">
+  <displayList>
+    <image id="n0_qqhz" name="n0" src="qqhze" fileName="images/diban.png" xy="23,260" group="n7_qqhz"/>
+    <graph id="n30_qqhz" name="holderPaoMax" xy="402,382" size="69,35" group="n7_qqhz"/>
+    <image id="n1_qqhz" name="n1" src="qqhza" fileName="images/kaikou.png" xy="37,61" group="n7_qqhz"/>
+    <image id="n3_qqhz" name="n3" src="qqhz4" fileName="images/tape.png" xy="-1,576" group="n7_qqhz"/>
+    <image id="n6_qqhz" name="n6" src="qqhzb" fileName="images/heart.png" xy="208,56" group="n7_qqhz" rotation="-0.5"/>
+    <graph id="n31_qqhz" name="holderPaoMin" xy="559,520" size="121,68" group="n7_qqhz"/>
+    <image id="n5_qqhz" name="n5" src="qqhz5" fileName="images/small_paper.png" xy="261,404" group="n7_qqhz"/>
+    <image id="n2_qqhz" name="n2" src="qqhz6" fileName="images/paper.png" xy="30,365" group="n7_qqhz"/>
+    <graph id="n29_qqhz" name="holderBaby" xy="260,207" size="166,132" group="n7_qqhz"/>
+    <graph id="n33_qqhz" name="holderFg" xy="550,428" size="97,49" group="n7_qqhz"/>
+    <group id="n7_qqhz" name="n7" xy="-1,56" size="1080,1021"/>
+    <image id="n27_qqhz" name="n27" src="qqhzq" fileName="images/zsx_flower1.png" xy="224,300" group="n17_qqhz"/>
+    <text id="n9_qqhz" name="txtNeed" xy="481,163" size="444,47" group="n17_qqhz" fontSize="32" color="#915e15" align="center" autoSize="none" text="是否花费20粉钻购买60体力?"/>
+    <text id="n34_qqhz" name="txtNum" xy="481,208" size="444,115" group="n17_qqhz" fontSize="32" color="#915e15" align="center" autoSize="none" text="体力每5分钟恢复1点&#xA;(今日剩余购买次数:8/8)"/>
+    <component id="n12_qqhz" name="btnCancel" src="qqhzs" fileName="components/BtnCancel.xml" xy="362,326" group="n17_qqhz"/>
+    <component id="n14_qqhz" name="btnSure" src="qqhzu" fileName="components/BtnSub.xml" xy="648,326" group="n17_qqhz"/>
+    <group id="n17_qqhz" name="n17" xy="224,163" size="799,238" group="n26_qqhz"/>
+    <text id="n15_qqhz" name="txtPromptExt" xy="151,433" size="753,48" group="n26_qqhz" fontSize="28" color="#a67975" autoSize="none" text="除了上述购买体力的途径,我们还提供了更多的优惠礼包选择"/>
+    <list id="n35_qqhz" name="list" xy="71,481" size="925,459" group="n26_qqhz" overflow="scroll" scrollBarFlags="32" defaultItem="ui://bdi1qe15qqhz11">
+      <item/>
+      <item/>
+    </list>
+    <group id="n26_qqhz" name="n26" xy="71,163" size="952,777"/>
+    <component id="n36_qqhz" name="btnBack" src="qqhz26" fileName="components/BnBack.xml" xy="497,1064"/>
+  </displayList>
+  <transition name="t1">
+    <item time="0" type="Alpha" target="n0_qqhz" tween="true" startValue="0" endValue="1" duration="15"/>
+    <item time="0" type="Alpha" target="n12_qqhz" value="0"/>
+    <item time="0" type="Alpha" target="n14_qqhz" value="0"/>
+    <item time="0" type="Alpha" target="n15_qqhz" value="0"/>
+    <item time="0" type="Alpha" target="n1_qqhz" value="0"/>
+    <item time="0" type="Alpha" target="n27_qqhz" value="0"/>
+    <item time="0" type="Alpha" target="n29_qqhz" value="0"/>
+    <item time="0" type="Alpha" target="n2_qqhz" tween="true" startValue="0" endValue="1" duration="15"/>
+    <item time="0" type="Alpha" target="n33_qqhz" value="0"/>
+    <item time="0" type="Alpha" target="n34_qqhz" value="0"/>
+    <item time="0" type="Alpha" target="n3_qqhz" value="0"/>
+    <item time="0" type="Alpha" target="n5_qqhz" value="0"/>
+    <item time="0" type="Alpha" target="n6_qqhz" value="0"/>
+    <item time="0" type="Alpha" target="n9_qqhz" value="0"/>
+    <item time="0" type="Rotation" target="n0_qqhz" tween="true" startValue="-2" endValue="0" duration="15"/>
+    <item time="0" type="Visible" target="n29_qqhz" value="false"/>
+    <item time="0" type="Visible" target="n33_qqhz" value="false"/>
+    <item time="0" type="XY" target="n1_qqhz" tween="true" startValue="6,96" endValue="37,61" duration="12"/>
+    <item time="0" type="XY" target="n2_qqhz" tween="true" startValue="-25,400" endValue="30,365" duration="15"/>
+    <item time="5" type="Alpha" target="n29_qqhz" value="0"/>
+    <item time="9" type="Alpha" target="n33_qqhz" tween="true" startValue="0.7" endValue="1" duration="6"/>
+    <item time="9" type="Visible" target="n33_qqhz" value="true"/>
+    <item time="12" type="Alpha" target="n1_qqhz" tween="true" startValue="0.2" endValue="1" duration="11"/>
+    <item time="12" type="Alpha" target="n29_qqhz" tween="true" startValue="0.4" endValue="1" duration="13"/>
+    <item time="12" type="Alpha" target="n6_qqhz" tween="true" startValue="0.6" endValue="1" duration="9"/>
+    <item time="12" type="Scale" target="n29_qqhz" tween="true" startValue="0.85,0.85" endValue="1,1" duration="10"/>
+    <item time="12" type="Visible" target="n29_qqhz" value="true"/>
+    <item time="13" type="Alpha" target="n5_qqhz" tween="true" startValue="0.5" endValue="1" duration="8"/>
+    <item time="14" type="Alpha" target="n34_qqhz" tween="true" startValue="0.7" endValue="1" duration="8"/>
+    <item time="14" type="Alpha" target="n9_qqhz" tween="true" startValue="0.7" endValue="1" duration="8"/>
+    <item time="15" type="Alpha" target="n12_qqhz" tween="true" startValue="0.7" endValue="1" duration="8"/>
+    <item time="15" type="Alpha" target="n14_qqhz" tween="true" startValue="0.7" endValue="1" duration="8"/>
+    <item time="15" type="Alpha" target="n33_qqhz" tween="true" startValue="1" endValue="0.2" duration="4"/>
+    <item time="18" type="Alpha" target="n15_qqhz" tween="true" startValue="0.7" endValue="1" duration="8"/>
+    <item time="18" type="Alpha" target="n27_qqhz" tween="true" startValue="0.7" endValue="1" duration="8"/>
+    <item time="19" type="Alpha" target="n3_qqhz" tween="true" startValue="0.7" endValue="1" duration="6"/>
+    <item time="19" type="Visible" target="n33_qqhz" value="false"/>
+    <item time="25" type="Alpha" target="n30_qqhz" tween="true" startValue="0.5" endValue="1" duration="18"/>
+    <item time="43" type="Alpha" target="n30_qqhz" tween="true" startValue="1" endValue="0" duration="24"/>
+    <item time="68" type="Visible" target="n30_qqhz" value="false"/>
+  </transition>
+  <transition name="t2" autoPlay="true" autoPlayRepeat="-1" autoPlayDelay=".5">
+    <item time="0" type="Alpha" target="n31_qqhz" tween="true" startValue="0" endValue="1" duration="19"/>
+    <item time="19" type="Alpha" target="n31_qqhz" tween="true" startValue="1" endValue="0" duration="23"/>
+  </transition>
+</component>

+ 6 - 0
FGUIProject/assets/EnduringGiftBox/components/BnBack.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="88,102">
+  <displayList>
+    <image id="n0_qqhz" name="n0" src="qqhz2" fileName="images/back.png" xy="0,0"/>
+  </displayList>
+</component>

+ 13 - 0
FGUIProject/assets/EnduringGiftBox/components/BtnBuy.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="260,74" extention="Button">
+  <controller name="button" pages="0,up,1,down,2,over,3,selectedOver" selected="0"/>
+  <displayList>
+    <image id="n3_qqhz" name="bagGrey" src="qqhzm" fileName="images/cz_an_grey.png" xy="0,0"/>
+    <image id="n0_qqhz" name="bagYellow" src="qqhzk" fileName="images/cz_an_yellow.png" xy="0,0">
+      <relation target="" sidePair="width-width,height-height"/>
+    </image>
+    <text id="n1_qqhz" name="txtNewPrice" xy="116,0" size="123,69" font="SourceHanSerifCN-SemiBold" fontSize="32" color="#fffdf4" vAlign="middle" autoSize="shrink" text="12元"/>
+    <text id="n2_qqhz" name="txtOldPrice" xy="21,2" size="84,69" font="SourceHanSerifCN-SemiBold" fontSize="32" color="#fffdf4" align="center" vAlign="middle" autoSize="shrink" strike="true" text="86"/>
+  </displayList>
+  <Button/>
+</component>

+ 13 - 0
FGUIProject/assets/EnduringGiftBox/components/BtnBuyWeek.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="260,74" extention="Button">
+  <controller name="button" pages="0,up,1,down,2,over,3,selectedOver" selected="0"/>
+  <displayList>
+    <image id="n0_qqhz" name="n0" src="qqhzk" fileName="images/cz_an_yellow.png" xy="0,0">
+      <relation target="" sidePair="width-width,height-height"/>
+    </image>
+    <text id="n1_qqhz" name="txtNewPrice" xy="135,0" size="106,69" font="SourceHanSerifCN-SemiBold" fontSize="32" color="#fffdf4" vAlign="middle" autoSize="shrink" text="300"/>
+    <text id="n2_qqhz" name="txtOldPrice" xy="21,1" size="84,69" font="SourceHanSerifCN-SemiBold" fontSize="32" color="#fffdf4" vAlign="middle" autoSize="shrink" strike="true" text="2000"/>
+    <image id="n3_qqhz" name="n3" src="qqhz10" fileName="images/lm_tb.png" xy="103,21"/>
+  </displayList>
+  <Button/>
+</component>

+ 12 - 0
FGUIProject/assets/EnduringGiftBox/components/BtnReceive.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="260,74" extention="Button">
+  <controller name="button" pages="0,up,1,down,2,over,3,selectedOver" selected="0"/>
+  <displayList>
+    <image id="n2_qqhz" name="received" src="qqhzm" fileName="images/cz_an_grey.png" xy="0,0"/>
+    <image id="n0_qqhz" name="receive" src="qqhzk" fileName="images/cz_an_yellow.png" xy="0,0">
+      <relation target="" sidePair="width-width,height-height"/>
+    </image>
+    <text id="n1_qqhz" name="txtRec" xy="0,0" size="260,69" font="SourceHanSerifCN-SemiBold" fontSize="32" color="#fffdf4" align="center" vAlign="middle" autoSize="none" text="领取"/>
+  </displayList>
+  <Button/>
+</component>

+ 18 - 0
FGUIProject/assets/EnduringGiftBox/components/ComCurSupplyItem.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="940,231">
+  <displayList>
+    <image id="n0_qqhz" name="n0" src="qqhzg" fileName="images/cz_lb_db.png" xy="0,0" size="940,231"/>
+    <image id="n1_qqhz" name="n1" src="qqhz8" fileName="images/lm_dt_tsdb_2.png" xy="680,9"/>
+    <text id="n2_qqhz" name="txtLrc" xy="669,169" size="248,39" fontSize="28" color="#c69652" align="right" leading="0" autoSize="none" text="剩余1天"/>
+    <text id="n3_qqhz" name="txtUrc" xy="711,15" size="216,39" rotation="-0.5" fontSize="28" color="#cc6960" align="center" leading="0" autoSize="none" text="今日剩余1/1"/>
+    <component id="n4_qqhz" name="btnBuy" src="qqhzy" fileName="components/BtnBuy.xml" xy="656,90"/>
+    <component id="n5_qqhz" name="btnCurReceive" src="qqhzv" fileName="components/BtnReceive.xml" xy="656,90"/>
+    <component id="n28_qqhz" name="comLeftGiftBox" src="qqhz1q" fileName="components/ComLeftGiftBox.xml" xy="25,22"/>
+    <text id="n15_qqhz" name="txtTitle" xy="290,15" size="275,47" font="SourceHanSerifCN-SemiBold" fontSize="28" color="#cc9974" align="center" autoSize="none" text="体力超值返利包"/>
+    <text id="n22_qqhz" name="txtWeekPrompt" xy="294,46" size="266,39" font="FZKTJW--GB1-0" fontSize="26" color="#bda5a8" align="center" autoSize="none" text="连续七天每日获得"/>
+    <image id="n23_qqhz" name="icoWeekPromptTag" src="qqhz1p" fileName="images/lm_tb_tishi.png" xy="530,48"/>
+    <list id="n18_qqhz" name="list" xy="231,83" size="402,132" layout="flow_vt" overflow="scroll" scroll="horizontal" scrollBarFlags="32" colGap="35" defaultItem="ui://bdi1qe15qqhz1g" align="center">
+      <item/>
+    </list>
+  </displayList>
+</component>

+ 8 - 0
FGUIProject/assets/EnduringGiftBox/components/ComDiscount.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="78,77">
+  <displayList>
+    <image id="n0_qqhz" name="n0" src="qqhz3" fileName="images/tb_zk.png" xy="-3,-2"/>
+    <text id="n1_qqhz" name="txtDiscountNum" xy="8,6" size="57,44" font="SourceHanSerifCN-SemiBold" fontSize="32" color="#fffceb" align="center" autoSize="none" text="1.5"/>
+    <text id="n2_qqhz" name="n2" xy="18,36" size="38,34" font="SourceHanSerifCN-SemiBold" fontSize="24" color="#fffceb" align="center" autoSize="none" text="折"/>
+  </displayList>
+</component>

+ 10 - 0
FGUIProject/assets/EnduringGiftBox/components/ComGouMaiGetText.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="194,57">
+  <displayList>
+    <image id="n0_qqhz" name="n0" src="qqhzi" fileName="images/cz_gmjd_db.png" xy="0,1" group="n4_qqhz"/>
+    <text id="n1_qqhz" name="n1" xy="15,-6" size="170,39" group="n4_qqhz" fontSize="28" color="#ffffff" align="center" autoSize="none" text="购买即得"/>
+    <loader id="n5_qqhz" name="loaIcon" xy="62,31" size="23,24" group="n4_qqhz" fill="scaleFree" shrinkOnly="true"/>
+    <text id="n3_qqhz" name="txtGetGold" xy="93,22" size="76,39" group="n4_qqhz" fontSize="28" color="#ffffff" autoSize="none" text="200"/>
+    <group id="n4_qqhz" name="n4" xy="0,-6" size="194,67"/>
+  </displayList>
+</component>

+ 10 - 0
FGUIProject/assets/EnduringGiftBox/components/ComLeftGiftBox.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="204,188">
+  <displayList>
+    <image id="n0_qqhz" name="n0" src="qqhzf" fileName="images/cz_lbicon_db.png" xy="10,0" group="n7_qqhz"/>
+    <loader id="n9_qqhz" name="loaIcon" xy="47,42" size="120,104" group="n7_qqhz"/>
+    <component id="n6_qqhz" name="comDiscount" src="qqhz1o" fileName="components/ComDiscount.xml" xy="0,2" group="n7_qqhz"/>
+    <component id="n8_qqhz" name="comGouMaiGetText" src="qqhz1r" fileName="components/ComGouMaiGetText.xml" xy="10,127" group="n7_qqhz"/>
+    <group id="n7_qqhz" name="n7" xy="0,0" size="204,186"/>
+  </displayList>
+</component>

+ 12 - 0
FGUIProject/assets/EnduringGiftBox/components/ComRewardIconItem.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="132,132">
+  <controller name="c1" pages="0,NotGet,1,Get" selected="0"/>
+  <displayList>
+    <image id="n5_qqhz" name="bagYellow" src="qqhz1e" fileName="images/wpk_db_1.png" xy="0,0" size="132,132"/>
+    <image id="n0_nd17" name="bagBlue" src="qqhz1a" fileName="images/wpk_db_2.png" xy="0,0" size="132,132"/>
+    <loader id="n3_vixc" name="loaIcon" xy="66,66" pivot="0.5,0.5" anchor="true" size="80,80" aspect="true" url="ui://xz8kxrecng0i27" fill="scaleFree"/>
+    <image id="n6_qqhz" name="bagYellowEx" src="qqhz1f" fileName="images/wpk_sz_db.png" xy="7,95" size="118,31"/>
+    <image id="n1_nd17" name="bagBlueEx" src="qqhz1b" fileName="images/wpk_sz_db2.png" xy="7,95" size="118,31"/>
+    <text id="n2_nd17" name="num" xy="9,85" size="116,44" font="ui://eg2y0ldpa0cftks" fontSize="32" color="#ffffff" align="center" autoSize="none" text="120"/>
+  </displayList>
+</component>

BIN
FGUIProject/assets/EnduringGiftBox/images/hlhdjficon.png


BIN
FGUIProject/assets/EnduringGiftBox/images/lm_tb.png


BIN
FGUIProject/assets/EnduringGiftBox/images/lm_tb_tishi.png


BIN
FGUIProject/assets/EnduringGiftBox/images/tili.png


BIN
FGUIProject/assets/EnduringGiftBox/images/txz_tb_ylq.png


BIN
FGUIProject/assets/EnduringGiftBox/images/wpk_db_1.png


BIN
FGUIProject/assets/EnduringGiftBox/images/wpk_db_2.png


BIN
FGUIProject/assets/EnduringGiftBox/images/wpk_sz_db.png


BIN
FGUIProject/assets/EnduringGiftBox/images/wpk_sz_db2.png


+ 22 - 5
FGUIProject/assets/EnduringGiftBox/package.xml

@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packageDescription id="bdi1qe15">
   <resources>
-    <component id="qqhz0" name="EnduringGiftBoxGold.xml" path="/"/>
-    <component id="qqhz1" name="EnduringGiftBoxPower.xml" path="/"/>
+    <component id="qqhz1" name="EnduringGiftBoxUI.xml" path="/" exported="true"/>
     <image id="qqhz2" name="back.png" path="/images/"/>
     <image id="qqhz3" name="tb_zk.png" path="/images/"/>
     <image id="qqhz4" name="tape.png" path="/images/"/>
@@ -28,8 +27,26 @@
     <image id="qqhzo" name="ch_db_gy.png" path="/images/"/>
     <image id="qqhzp" name="cz_tl_juese.png" path="/images/"/>
     <image id="qqhzq" name="zsx_flower1.png" path="/images/"/>
-    <component id="qqhzs" name="BtnCancel.xml" path="/components/"/>
-    <component id="qqhzu" name="BtnSub.xml" path="/components/"/>
+    <component id="qqhzs" name="BtnCancel.xml" path="/components/" exported="true"/>
+    <component id="qqhzu" name="BtnSub.xml" path="/components/" exported="true"/>
+    <component id="qqhzv" name="BtnReceive.xml" path="/components/" exported="true"/>
+    <component id="qqhzy" name="BtnBuy.xml" path="/components/" exported="true"/>
+    <component id="qqhzz" name="BtnBuyWeek.xml" path="/components/" exported="true"/>
+    <image id="qqhz10" name="lm_tb.png" path="/images/"/>
+    <component id="qqhz11" name="ComCurSupplyItem.xml" path="/components/" exported="true"/>
+    <image id="qqhz1a" name="wpk_db_2.png" path="/images/"/>
+    <image id="qqhz1b" name="wpk_sz_db2.png" path="/images/"/>
+    <image id="qqhz1c" name="txz_tb_ylq.png" path="/images/"/>
+    <image id="qqhz1e" name="wpk_db_1.png" path="/images/"/>
+    <image id="qqhz1f" name="wpk_sz_db.png" path="/images/"/>
+    <component id="qqhz1g" name="ComRewardIconItem.xml" path="/components/" exported="true"/>
+    <image id="qqhz1n" name="hlhdjficon.png" path="/images/" exported="true"/>
+    <component id="qqhz1o" name="ComDiscount.xml" path="/components/" exported="true"/>
+    <image id="qqhz1p" name="lm_tb_tishi.png" path="/images/" exported="true"/>
+    <component id="qqhz1q" name="ComLeftGiftBox.xml" path="/components/" exported="true"/>
+    <component id="qqhz1r" name="ComGouMaiGetText.xml" path="/components/" exported="true"/>
+    <image id="qqhz25" name="tili.png" path="/images/"/>
+    <component id="qqhz26" name="BnBack.xml" path="/components/" exported="true"/>
   </resources>
-  <publish name=""/>
+  <publish name="" path="../GameClient/Assets/ResIn/UI/EnduringGiftBox" packageCount="2" genCode="true" extractAlpha="true"/>
 </packageDescription>

+ 3 - 0
GameClient/Assets/Game/HotUpdate/Constant/ConstMessage.cs

@@ -120,5 +120,8 @@ namespace GFGGame
         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 CONTINUOUS_REBATE_GIFT = "CONTINUOUS_REBATE_GIFT";//领取连续返利礼包
+        public const string CONTINUOUS_REBATE_GIFT_SHOP_BUY = "CONTINUOUS_REBATE_GIFT_SHOP_BUY";
     }
 }

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

@@ -14,6 +14,7 @@ namespace GFGGame
         public const int STORE_EXCHANGE_LEAGUE = 1;//雅集商城
         public const int STORE_ARENA_ITEM = 0;//竞技场
         public const int FU_ZHUANG_DIAN = 0;//服装店
-
+        public const int ENDURING_GIFT_BOX_POWER = 0;//常驻礼包-体力
+        public const int ENDURING_GIFT_BOX_GOLD = 1;//常驻礼包-金币
     }
 }

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Constant/ConstStoreTabId.cs

@@ -9,7 +9,7 @@ namespace GFGGame
         public const int STORE_ARENA = 5;//商城-竞技场
 
         public const int FU_ZHUANG_DIAN = 101;//服装店
-
-
+        
+        public const int ENDURING_GIFT_BOX = 105;//常驻礼包
     }
 }

+ 32 - 0
GameClient/Assets/Game/HotUpdate/Controller/EnduringGiftBoxController.cs

@@ -0,0 +1,32 @@
+using System;
+
+namespace GFGGame
+{
+
+    public class EnduringGiftBoxController : SingletonBase<EnduringGiftBoxController>
+    {
+        private static EnduringGiftBoxView _enduringGiftBoxView;
+
+        public static void Show(int itemId, int count, Action onSuccess = null, string message = "")
+        {
+            if (_enduringGiftBoxView == null)
+            {
+                _enduringGiftBoxView = new EnduringGiftBoxView();
+            }
+            _enduringGiftBoxView.SetParams(itemId, count, onSuccess, message);
+            _enduringGiftBoxView.Show();
+        }
+        
+        public static void hide()
+        {
+            if (_enduringGiftBoxView != null)
+            {
+                _enduringGiftBoxView.Hide();
+            }
+        }
+        public static void Dispose()
+        {
+            _enduringGiftBoxView = null;
+        }
+    }
+}

+ 3 - 0
GameClient/Assets/Game/HotUpdate/Controller/EnduringGiftBoxController.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 78e0e445c1624fd1b0bdde5f666ff33b
+timeCreated: 1685352694

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Controller/GameController.cs

@@ -251,6 +251,7 @@ namespace GFGGame
             PoemGallerySProxy.ReqGalleryTheme().Coroutine();
             ArenaDataManager.Instance.ReqArenaInfo();
             SkillSProxy.ReqGetSkillList(SkillType.LeagueSkill).Coroutine();
+            EnduringGiftBoxSProxy.ReqGetAllGiftBagRebateStatus().Coroutine();
 
             int storageAutoPlay = StorageDataManager.Instance.GetStorageValue(ConstStorageId.STORAGE_AUTO_PLAY);
             FightDataManager.Instance.autoPlay = storageAutoPlay <= 0 ? false : true;

+ 53 - 0
GameClient/Assets/Game/HotUpdate/Data/EnduringGiftBoxDataManager.cs

@@ -0,0 +1,53 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using ET;
+
+
+namespace GFGGame
+{
+    public class EnduringGiftBoxDataManager : SingletonBase<EnduringGiftBoxDataManager>
+    {
+        //当天可以领取的列表物品Id
+        private static HashSet<int> _dayAllRebateItemIds = new HashSet<int>();
+
+        //当天已经领取的返利物品Id
+        private static HashSet<int> _dayRebateItemIds = new HashSet<int>();
+
+        public HashSet<int> DayAllRebateItemIds => _dayAllRebateItemIds;
+        public HashSet<int> DayRebateItemIds => _dayRebateItemIds;
+
+        public void InitData()
+        {
+            _dayRebateItemIds.Clear();
+            _dayAllRebateItemIds.Clear();
+        }
+
+        public void AddDayRebateItemIds(int itemId)
+        {
+            _dayRebateItemIds.Add(itemId);
+        }
+
+        public void AddDayAllRebateItemIds(int itemId)
+        {
+            _dayAllRebateItemIds.Add(itemId);
+        }
+
+        //当天是否需要领取该返利物品
+        public bool DayIsRebateGiftBox(int itemId)
+        {
+            if (!_dayAllRebateItemIds.Contains(itemId))
+            {
+                return false;
+            }
+
+            if (_dayRebateItemIds.Contains(itemId))
+            {
+                return false;
+            }
+
+            //需要领取
+            return true;
+        }
+    }
+}

+ 3 - 0
GameClient/Assets/Game/HotUpdate/Data/EnduringGiftBoxDataManager.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 00a12a0641534482967aa174115c7771
+timeCreated: 1685012546

+ 3 - 4
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Bag/UI_ListSelectorItem.cs

@@ -9,7 +9,7 @@ namespace UI.Bag
         public GComponent target;
         public GTextField m_txtSelNum;
         public GLoader m_loaIcon;
-        public UI_ComItemNumBag m_comItemNumBag;
+        public GTextField m_txtNum;
         public GButton m_btnReduce;
         public GButton m_btnAdd;
         public const string URL = "ui://2bsz6nelv5notmb";
@@ -61,7 +61,7 @@ namespace UI.Bag
         {
             m_txtSelNum = (GTextField)comp.GetChild("txtSelNum");
             m_loaIcon = (GLoader)comp.GetChild("loaIcon");
-            m_comItemNumBag = (UI_ComItemNumBag)UI_ComItemNumBag.Create(comp.GetChild("comItemNumBag"));
+            m_txtNum = (GTextField)comp.GetChild("txtNum");
             m_btnReduce = (GButton)comp.GetChild("btnReduce");
             m_btnAdd = (GButton)comp.GetChild("btnAdd");
         }
@@ -69,8 +69,7 @@ namespace UI.Bag
         {
             m_txtSelNum = null;
             m_loaIcon = null;
-            m_comItemNumBag.Dispose();
-            m_comItemNumBag = null;
+            m_txtNum = null;
             m_btnReduce = null;
             m_btnAdd = null;
             if(disposeTarget && target != null)

+ 8 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d8e2a53b3c5ac6e4191829c6ec31bf6c
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 80 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_BtnBuy.cs

@@ -0,0 +1,80 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.EnduringGiftBox
+{
+    public partial class UI_BtnBuy
+    {
+        public GButton target;
+        public GImage m_bagGrey;
+        public GImage m_bagYellow;
+        public GTextField m_txtNewPrice;
+        public GTextField m_txtOldPrice;
+        public const string URL = "ui://bdi1qe15qqhzy";
+        public const string PACKAGE_NAME = "EnduringGiftBox";
+        public const string RES_NAME = "BtnBuy";
+        private static UI_BtnBuy _proxy;
+
+        public static UI_BtnBuy Create(GObject gObject = null)
+        {
+            var ui = new UI_BtnBuy();
+            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_BtnBuy Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_BtnBuy();
+            }
+            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_bagGrey = (GImage)comp.GetChild("bagGrey");
+            m_bagYellow = (GImage)comp.GetChild("bagYellow");
+            m_txtNewPrice = (GTextField)comp.GetChild("txtNewPrice");
+            m_txtOldPrice = (GTextField)comp.GetChild("txtOldPrice");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_bagGrey = null;
+            m_bagYellow = null;
+            m_txtNewPrice = null;
+            m_txtOldPrice = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 1 - 1
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Bag/UI_ComItemNumBag.cs.meta → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_BtnBuy.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: a4b3b2ccc0ac44d49a8ef825c1dddeeb
+guid: 420206d4073deee4e8e39b5f3eb7a13c
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 74 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_BtnBuyWeek.cs

@@ -0,0 +1,74 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.EnduringGiftBox
+{
+    public partial class UI_BtnBuyWeek
+    {
+        public GButton target;
+        public GTextField m_txtNewPrice;
+        public GTextField m_txtOldPrice;
+        public const string URL = "ui://bdi1qe15qqhzz";
+        public const string PACKAGE_NAME = "EnduringGiftBox";
+        public const string RES_NAME = "BtnBuyWeek";
+        private static UI_BtnBuyWeek _proxy;
+
+        public static UI_BtnBuyWeek Create(GObject gObject = null)
+        {
+            var ui = new UI_BtnBuyWeek();
+            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_BtnBuyWeek Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_BtnBuyWeek();
+            }
+            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_txtNewPrice = (GTextField)comp.GetChild("txtNewPrice");
+            m_txtOldPrice = (GTextField)comp.GetChild("txtOldPrice");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_txtNewPrice = null;
+            m_txtOldPrice = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_BtnBuyWeek.cs.meta

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

+ 77 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_BtnReceive.cs

@@ -0,0 +1,77 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.EnduringGiftBox
+{
+    public partial class UI_BtnReceive
+    {
+        public GButton target;
+        public GImage m_received;
+        public GImage m_receive;
+        public GTextField m_txtRec;
+        public const string URL = "ui://bdi1qe15qqhzv";
+        public const string PACKAGE_NAME = "EnduringGiftBox";
+        public const string RES_NAME = "BtnReceive";
+        private static UI_BtnReceive _proxy;
+
+        public static UI_BtnReceive Create(GObject gObject = null)
+        {
+            var ui = new UI_BtnReceive();
+            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_BtnReceive Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_BtnReceive();
+            }
+            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_received = (GImage)comp.GetChild("received");
+            m_receive = (GImage)comp.GetChild("receive");
+            m_txtRec = (GTextField)comp.GetChild("txtRec");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_received = null;
+            m_receive = null;
+            m_txtRec = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_BtnReceive.cs.meta

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

+ 98 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComCurSupplyItem.cs

@@ -0,0 +1,98 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.EnduringGiftBox
+{
+    public partial class UI_ComCurSupplyItem
+    {
+        public GComponent target;
+        public GTextField m_txtLrc;
+        public GTextField m_txtUrc;
+        public UI_BtnBuy m_btnBuy;
+        public UI_BtnReceive m_btnCurReceive;
+        public UI_ComLeftGiftBox m_comLeftGiftBox;
+        public GTextField m_txtTitle;
+        public GTextField m_txtWeekPrompt;
+        public GImage m_icoWeekPromptTag;
+        public GList m_list;
+        public const string URL = "ui://bdi1qe15qqhz11";
+        public const string PACKAGE_NAME = "EnduringGiftBox";
+        public const string RES_NAME = "ComCurSupplyItem";
+        private static UI_ComCurSupplyItem _proxy;
+
+        public static UI_ComCurSupplyItem Create(GObject gObject = null)
+        {
+            var ui = new UI_ComCurSupplyItem();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_ComCurSupplyItem Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ComCurSupplyItem();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)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_txtLrc = (GTextField)comp.GetChild("txtLrc");
+            m_txtUrc = (GTextField)comp.GetChild("txtUrc");
+            m_btnBuy = (UI_BtnBuy)UI_BtnBuy.Create(comp.GetChild("btnBuy"));
+            m_btnCurReceive = (UI_BtnReceive)UI_BtnReceive.Create(comp.GetChild("btnCurReceive"));
+            m_comLeftGiftBox = (UI_ComLeftGiftBox)UI_ComLeftGiftBox.Create(comp.GetChild("comLeftGiftBox"));
+            m_txtTitle = (GTextField)comp.GetChild("txtTitle");
+            m_txtWeekPrompt = (GTextField)comp.GetChild("txtWeekPrompt");
+            m_icoWeekPromptTag = (GImage)comp.GetChild("icoWeekPromptTag");
+            m_list = (GList)comp.GetChild("list");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_txtLrc = null;
+            m_txtUrc = null;
+            m_btnBuy.Dispose();
+            m_btnBuy = null;
+            m_btnCurReceive.Dispose();
+            m_btnCurReceive = null;
+            m_comLeftGiftBox.Dispose();
+            m_comLeftGiftBox = null;
+            m_txtTitle = null;
+            m_txtWeekPrompt = null;
+            m_icoWeekPromptTag = null;
+            m_list = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComCurSupplyItem.cs.meta

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

+ 13 - 13
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Bag/UI_ComItemNumBag.cs → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComDiscount.cs

@@ -2,20 +2,20 @@
 
 using FairyGUI;
 
-namespace UI.Bag
+namespace UI.EnduringGiftBox
 {
-    public partial class UI_ComItemNumBag
+    public partial class UI_ComDiscount
     {
         public GComponent target;
-        public GTextField m_txtNum;
-        public const string URL = "ui://2bsz6nelv5notmd";
-        public const string PACKAGE_NAME = "Bag";
-        public const string RES_NAME = "ComItemNumBag";
-        private static UI_ComItemNumBag _proxy;
+        public GTextField m_txtDiscountNum;
+        public const string URL = "ui://bdi1qe15qqhz1o";
+        public const string PACKAGE_NAME = "EnduringGiftBox";
+        public const string RES_NAME = "ComDiscount";
+        private static UI_ComDiscount _proxy;
 
-        public static UI_ComItemNumBag Create(GObject gObject = null)
+        public static UI_ComDiscount Create(GObject gObject = null)
         {
-            var ui = new UI_ComItemNumBag();
+            var ui = new UI_ComDiscount();
             if(gObject == null)
             	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
             else
@@ -24,11 +24,11 @@ namespace UI.Bag
             return ui;
         }
 
-        public static UI_ComItemNumBag Proxy(GObject gObject = null)
+        public static UI_ComDiscount Proxy(GObject gObject = null)
         {
             if(_proxy == null)
             {
-                _proxy = new UI_ComItemNumBag();
+                _proxy = new UI_ComDiscount();
             }
             var ui = _proxy;
             if(gObject == null)
@@ -55,11 +55,11 @@ namespace UI.Bag
 
         private void Init(GComponent comp)
         {
-            m_txtNum = (GTextField)comp.GetChild("txtNum");
+            m_txtDiscountNum = (GTextField)comp.GetChild("txtDiscountNum");
         }
         public void Dispose(bool disposeTarget = false)
         {
-            m_txtNum = null;
+            m_txtDiscountNum = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComDiscount.cs.meta

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

+ 74 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComGouMaiGetText.cs

@@ -0,0 +1,74 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.EnduringGiftBox
+{
+    public partial class UI_ComGouMaiGetText
+    {
+        public GComponent target;
+        public GLoader m_loaIcon;
+        public GTextField m_txtGetGold;
+        public const string URL = "ui://bdi1qe15qqhz1r";
+        public const string PACKAGE_NAME = "EnduringGiftBox";
+        public const string RES_NAME = "ComGouMaiGetText";
+        private static UI_ComGouMaiGetText _proxy;
+
+        public static UI_ComGouMaiGetText Create(GObject gObject = null)
+        {
+            var ui = new UI_ComGouMaiGetText();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_ComGouMaiGetText Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ComGouMaiGetText();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)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_loaIcon = (GLoader)comp.GetChild("loaIcon");
+            m_txtGetGold = (GTextField)comp.GetChild("txtGetGold");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_loaIcon = null;
+            m_txtGetGold = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComGouMaiGetText.cs.meta

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

+ 79 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComLeftGiftBox.cs

@@ -0,0 +1,79 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.EnduringGiftBox
+{
+    public partial class UI_ComLeftGiftBox
+    {
+        public GComponent target;
+        public GLoader m_loaIcon;
+        public UI_ComDiscount m_comDiscount;
+        public UI_ComGouMaiGetText m_comGouMaiGetText;
+        public const string URL = "ui://bdi1qe15qqhz1q";
+        public const string PACKAGE_NAME = "EnduringGiftBox";
+        public const string RES_NAME = "ComLeftGiftBox";
+        private static UI_ComLeftGiftBox _proxy;
+
+        public static UI_ComLeftGiftBox Create(GObject gObject = null)
+        {
+            var ui = new UI_ComLeftGiftBox();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_ComLeftGiftBox Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ComLeftGiftBox();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)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_loaIcon = (GLoader)comp.GetChild("loaIcon");
+            m_comDiscount = (UI_ComDiscount)UI_ComDiscount.Create(comp.GetChild("comDiscount"));
+            m_comGouMaiGetText = (UI_ComGouMaiGetText)UI_ComGouMaiGetText.Create(comp.GetChild("comGouMaiGetText"));
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_loaIcon = null;
+            m_comDiscount.Dispose();
+            m_comDiscount = null;
+            m_comGouMaiGetText.Dispose();
+            m_comGouMaiGetText = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComLeftGiftBox.cs.meta

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

+ 89 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComRewardIconItem.cs

@@ -0,0 +1,89 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.EnduringGiftBox
+{
+    public partial class UI_ComRewardIconItem
+    {
+        public GComponent target;
+        public Controller m_c1;
+        public GImage m_bagYellow;
+        public GImage m_bagBlue;
+        public GLoader m_loaIcon;
+        public GImage m_bagYellowEx;
+        public GImage m_bagBlueEx;
+        public GTextField m_num;
+        public const string URL = "ui://bdi1qe15qqhz1g";
+        public const string PACKAGE_NAME = "EnduringGiftBox";
+        public const string RES_NAME = "ComRewardIconItem";
+        private static UI_ComRewardIconItem _proxy;
+
+        public static UI_ComRewardIconItem Create(GObject gObject = null)
+        {
+            var ui = new UI_ComRewardIconItem();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_ComRewardIconItem Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ComRewardIconItem();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)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_c1 = comp.GetController("c1");
+            m_bagYellow = (GImage)comp.GetChild("bagYellow");
+            m_bagBlue = (GImage)comp.GetChild("bagBlue");
+            m_loaIcon = (GLoader)comp.GetChild("loaIcon");
+            m_bagYellowEx = (GImage)comp.GetChild("bagYellowEx");
+            m_bagBlueEx = (GImage)comp.GetChild("bagBlueEx");
+            m_num = (GTextField)comp.GetChild("num");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_bagYellow = null;
+            m_bagBlue = null;
+            m_loaIcon = null;
+            m_bagYellowEx = null;
+            m_bagBlueEx = null;
+            m_num = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComRewardIconItem.cs.meta

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

+ 107 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_EnduringGiftBoxUI.cs

@@ -0,0 +1,107 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.EnduringGiftBox
+{
+    public partial class UI_EnduringGiftBoxUI
+    {
+        public GComponent target;
+        public GGraph m_holderPaoMax;
+        public GGraph m_holderPaoMin;
+        public GGraph m_holderBaby;
+        public GGraph m_holderFg;
+        public GTextField m_txtNeed;
+        public GTextField m_txtNum;
+        public GButton m_btnCancel;
+        public GButton m_btnSure;
+        public GTextField m_txtPromptExt;
+        public GList m_list;
+        public GComponent m_btnBack;
+        public Transition m_t1;
+        public Transition m_t2;
+        public const string URL = "ui://bdi1qe15qqhz1";
+        public const string PACKAGE_NAME = "EnduringGiftBox";
+        public const string RES_NAME = "EnduringGiftBoxUI";
+        private static UI_EnduringGiftBoxUI _proxy;
+
+        public static UI_EnduringGiftBoxUI Create(GObject gObject = null)
+        {
+            var ui = new UI_EnduringGiftBoxUI();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_EnduringGiftBoxUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_EnduringGiftBoxUI();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)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_holderPaoMax = (GGraph)comp.GetChild("holderPaoMax");
+            m_holderPaoMin = (GGraph)comp.GetChild("holderPaoMin");
+            m_holderBaby = (GGraph)comp.GetChild("holderBaby");
+            m_holderFg = (GGraph)comp.GetChild("holderFg");
+            m_txtNeed = (GTextField)comp.GetChild("txtNeed");
+            m_txtNum = (GTextField)comp.GetChild("txtNum");
+            m_btnCancel = (GButton)comp.GetChild("btnCancel");
+            m_btnSure = (GButton)comp.GetChild("btnSure");
+            m_txtPromptExt = (GTextField)comp.GetChild("txtPromptExt");
+            m_list = (GList)comp.GetChild("list");
+            m_btnBack = (GComponent)comp.GetChild("btnBack");
+            m_t1 = comp.GetTransition("t1");
+            m_t2 = comp.GetTransition("t2");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_holderPaoMax = null;
+            m_holderPaoMin = null;
+            m_holderBaby = null;
+            m_holderFg = null;
+            m_txtNeed = null;
+            m_txtNum = null;
+            m_btnCancel = null;
+            m_btnSure = null;
+            m_txtPromptExt = null;
+            m_list = null;
+            m_btnBack = null;
+            m_t1 = null;
+            m_t2 = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_EnduringGiftBoxUI.cs.meta

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

+ 1 - 1
GameClient/Assets/Game/HotUpdate/GameConfig.cs

@@ -18,7 +18,7 @@ namespace GFGGame
             ET.Log.Debug($"gamecfg \n{json}");
             var result = JsonMapper.ToObject<Result>(json);
             LoginAddress = result.loginApiUrl;
-            //LoginAddress = "10.108.64.127:10005";
+            //LoginAddress = "127.0.0.1:10005";//测试地址
             PlatformName = result.platformName;
             showGM = int.Parse(result.showGM);
             GameConfig.logApiReportUrl = LauncherConfig.logApiRootUrl + "ReportGet";

+ 58 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/EnduringGiftBoxSProxy.cs

@@ -0,0 +1,58 @@
+using System.Collections.Generic;
+using ET;
+
+namespace GFGGame
+{
+    public static class EnduringGiftBoxSProxy
+    {
+        //获取已经领取的返利物品ids
+        public static async ETTask<bool> ReqGetAllGiftBagRebateStatus()
+        {
+            S2C_GetAllGiftBagRebateStatus response = null;
+            response = (S2C_GetAllGiftBagRebateStatus)await MessageHelper.SendToServer(
+                new C2S_GetAllGiftBagRebateStatus() { });
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+                    EnduringGiftBoxDataManager.Instance.InitData();
+                    foreach (var item in response.DayAllItemIds)
+                    {
+                        EnduringGiftBoxDataManager.Instance.AddDayAllRebateItemIds(item);
+                    }
+
+                    foreach (var item in response.ItemIds)
+                    {
+                        EnduringGiftBoxDataManager.Instance.AddDayRebateItemIds(item);
+                    }
+
+                    return true;
+                }
+            }
+
+            return false;
+        }
+
+        //请求领取连续返利礼包--的返利
+        public static async ETTask<bool> ReqGetGiftBagRebate(int shopId)
+        {
+            S2C_GiftBagRebate response = null;
+            response = (S2C_GiftBagRebate)await MessageHelper.SendToServer(
+                new C2S_GetGiftBagRebate() { ShopId = shopId });
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+                    var itemDataList = ItemUtil.CreateItemDataList(response.ItemList);
+                    BonusController.TryShowBonusList(itemDataList);
+                    EnduringGiftBoxDataManager.Instance.AddDayRebateItemIds(ShopCfgArray.Instance.GetCfg(shopId)
+                        .itemId);
+                    EventAgent.DispatchEvent(ConstMessage.CONTINUOUS_REBATE_GIFT);
+                    return true;
+                }
+            }
+
+            return false;
+        }
+    }
+}

+ 3 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/EnduringGiftBoxSProxy.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: bd0d41f7bbf64d279c5e9038fb140b41
+timeCreated: 1685433002

+ 7 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/ShopSProxy.cs

@@ -47,6 +47,13 @@ namespace GFGGame
                     {
                         itemDatas = ItemUtil.CreateItemDataList(itemCfg.id, response.Times * shopCfg.itemNum);
                     }
+                    
+                    if (itemCfg.itemType == ConstItemType.GIFT_BAG &&
+                        itemCfg.subType == ConstItemSubType.CONTINUOUS_REWARD_GIFT)
+                    {
+                        EventAgent.DispatchEvent(ConstMessage.CONTINUOUS_REBATE_GIFT_SHOP_BUY, shopCfg);
+                    }
+                    
                     BonusController.TryShowBonusList(itemDatas);
                     EventAgent.DispatchEvent(ConstMessage.SHOP_BUY);
                     return true;

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Utils/ItemUtil.cs

@@ -38,7 +38,7 @@ namespace GFGGame
             int maxLimit = ItemExchangeCfgArray.Instance.GetCfg(ConstItemID.POWER).maxLimit;
             int lastBuyCount = maxLimit - ItemDataManager.GetItemExchangeTimes(ConstItemID.POWER);
             string showTxt = string.Format("每5分钟回复1点体力\n今日剩余购买{0}/{1}次", lastBuyCount, maxLimit);
-            BuyConfirmController.Show(ConstItemID.POWER, 1, () =>
+            EnduringGiftBoxController.Show(ConstItemID.POWER, 1, () =>
             {
                 if (onSuccess != null)
                 {
@@ -50,7 +50,7 @@ namespace GFGGame
         public static void AddGold(long value = 0, Action onSuccess = null)
         {
 
-            BuyConfirmController.Show(ConstItemID.GOLD, 1, () =>
+            EnduringGiftBoxController.Show(ConstItemID.GOLD, 1, () =>
             {
                 if (onSuccess != null)
                 {

+ 72 - 17
GameClient/Assets/Game/HotUpdate/Views/Bag/GiftBoxSelectorView.cs

@@ -15,22 +15,30 @@ namespace GFGGame
         private int _count; //物品数量
         private int _selCount; //选择的数量
         private Dictionary<int, int> _selDic; //选择礼包内的物品<物品id,数量>
+        private List<LongPressGesture> _listLongPress = new List<LongPressGesture>();
 
         public override void Dispose()
         {
-            base.Dispose();
-
             if (_selDic != null)
             {
                 _selDic.Clear();
                 _selDic = null;
             }
 
+            for (int i = 0; i < _listLongPress.Count; i++)
+            {
+                _listLongPress[i].Dispose();
+            }
+
+            _listLongPress.Clear();
+
             if (_ui != null)
             {
                 _ui.Dispose();
                 _ui = null;
             }
+
+            base.Dispose();
         }
 
         protected override void OnInit()
@@ -113,21 +121,55 @@ namespace GFGGame
             ItemCfg itemCfgChild = ItemCfgArray.Instance.GetCfg(itemChildArr[0]);
             uiItemChild.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfgChild);
             uiItemChild.m_loaIcon.onClick.Add(OnListSelectorItemClick);
-            uiItemChild.m_comItemNumBag.m_txtNum.text = itemChildArr[1].ToString();
+            uiItemChild.m_txtNum.text = itemChildArr[1].ToString();
             uiItemChild.m_txtSelNum.text = "0";
-            uiItemChild.m_btnAdd.onClick.Add(OnChildBtnAddClick);
+            uiItemChild.m_btnAdd.onClick.Add(OnBtnAddClick);
             uiItemChild.m_btnReduce.onClick.Add(OnChildBtnReduceClick);
 
+            if (uiItemChild.target.data == null)
+            {
+                LongPressGesture longPressGesture = new LongPressGesture(uiItemChild.m_btnAdd);
+                longPressGesture.trigger = 0.3f;
+                longPressGesture.interval = 0.1f;
+                longPressGesture.once = false;
+                longPressGesture.onAction.Add(OnLongPress);
+                _listLongPress.Add(longPressGesture);
+                
+                LongPressGesture longPressGesture2 = new LongPressGesture(uiItemChild.m_btnReduce);
+                longPressGesture2.trigger = 0.3f;
+                longPressGesture2.interval = 0.1f;
+                longPressGesture2.once = false;
+                longPressGesture2.onAction.Add(OnLongPressReduce);
+                _listLongPress.Add(longPressGesture);
+            }
+
             uiItemChild.target.data = itemCfgChild;
             UI_ListSelectorItem.ProxyEnd();
         }
 
-        private void OnChildBtnAddClick(EventContext context)
+        private void OnBtnAddClick(EventContext context)
         {
             GObject sender = context.sender as GObject;
             GObject obj = sender.parent;
             UI_ListSelectorItem listItem = UI_ListSelectorItem.Proxy(obj);
 
+            ItemCfg itemCfg = obj.data as ItemCfg;
+            UpdateSel(listItem, itemCfg);
+        }
+
+        private void OnLongPress(EventContext context)
+        {
+            LongPressGesture gesture = (LongPressGesture)context.sender;
+            var host = gesture.host;
+            GObject obj = host.parent;
+            UI_ListSelectorItem listItem = UI_ListSelectorItem.Proxy(obj);
+
+            ItemCfg itemCfg = obj.data as ItemCfg;
+            UpdateSel(listItem, itemCfg);
+        }
+
+        private void UpdateSel(UI_ListSelectorItem listItem, ItemCfg itemCfg)
+        {
             if (_selCount == _count)
             {
                 return;
@@ -138,8 +180,6 @@ namespace GFGGame
                 return;
             }
 
-            ItemCfg itemCfg = obj.data as ItemCfg;
-
             if (_selDic.TryGetValue(itemCfg.id, out int num))
             {
                 if (num == _count)
@@ -160,18 +200,30 @@ namespace GFGGame
 
             SetSelAllNum();
         }
-
-        private void SetSelAllNum()
-        {
-            _ui.m_txtSelRewardStr.text = $"已选奖励:{_selCount}/{_count}";
-        }
-
+        
         private void OnChildBtnReduceClick(EventContext context)
         {
             GObject sender = context.sender as GObject;
             GObject obj = sender.parent;
             UI_ListSelectorItem listItem = UI_ListSelectorItem.Proxy(obj);
 
+            ItemCfg itemCfg = obj.data as ItemCfg;
+            UpdateReduceSel(listItem, itemCfg);
+        }
+
+        private void OnLongPressReduce(EventContext context)
+        {
+            LongPressGesture gesture = (LongPressGesture)context.sender;
+            var host = gesture.host;
+            GObject obj = host.parent;
+            UI_ListSelectorItem listItem = UI_ListSelectorItem.Proxy(obj);
+
+            ItemCfg itemCfg = obj.data as ItemCfg;
+            UpdateReduceSel(listItem, itemCfg);
+        }
+        
+        private void UpdateReduceSel(UI_ListSelectorItem listItem, ItemCfg itemCfg)
+        {
             if (_selCount == 0)
             {
                 return;
@@ -181,10 +233,7 @@ namespace GFGGame
             {
                 return;
             }
-
-
-            ItemCfg itemCfg = obj.data as ItemCfg;
-
+            
             if (_selDic.TryGetValue(itemCfg.id, out int num))
             {
                 if (num == 0)
@@ -206,6 +255,12 @@ namespace GFGGame
             SetSelAllNum();
         }
 
+        private void SetSelAllNum()
+        {
+            _ui.m_txtSelRewardStr.text = $"已选奖励:{_selCount}/{_count}";
+        }
+
+
         //弹出物品详细描述框
         private void OnListSelectorItemClick(EventContext context)
         {

+ 3 - 0
GameClient/Assets/Game/HotUpdate/Views/EnduringGiftBox.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: dd1b45eff01445fb834fccd7ff55ec9c
+timeCreated: 1685011828

+ 481 - 0
GameClient/Assets/Game/HotUpdate/Views/EnduringGiftBox/EnduringGiftBoxView.cs

@@ -0,0 +1,481 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using ET;
+using FairyGUI;
+using UI.EnduringGiftBox;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class EnduringGiftBoxView : BaseWindow
+    {
+        private UI_EnduringGiftBoxUI _ui;
+
+        private int _itemId; //道具id,该页面目前只给:体力,金币使用
+        private int _count; //本次购买次数
+        private int _buyTimes = 0; //已购次数
+
+        private Action _onSuccess;
+        private int _maxTimes = 0;
+        private string _message = "";
+        private List<ShopCfg> _shopCfgList = new List<ShopCfg>();
+        private GameObject _gameObject1;
+        private GameObject _gameObject2;
+        private GameObject _gameObject3;
+        private GameObject _gameObject4;
+
+        private GoWrapper _wrapper1;
+        private GoWrapper _wrapper2;
+        private GoWrapper _wrapper3;
+        private GoWrapper _wrapper4;
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_EnduringGiftBoxUI.PACKAGE_NAME;
+            _ui = UI_EnduringGiftBoxUI.Create();
+            this.viewCom = _ui.target;
+            this.viewCom.Center();
+            this.modal = true;
+            viewAnimationType = EnumViewAnimationType.None;
+
+            _ui.m_btnSure.onClick.Add(OnClickBtnSure);
+            _ui.m_btnCancel.onClick.Add(OnClickBtnCancel);
+            _ui.m_btnBack.onClick.Add(OnClickBtnCancel);
+        }
+
+        public override void Dispose()
+        {
+            SceneController.DestroyObjectFromView(_gameObject1, _wrapper1);
+            SceneController.DestroyObjectFromView(_gameObject2, _wrapper2);
+            SceneController.DestroyObjectFromView(_gameObject3, _wrapper3);
+            SceneController.DestroyObjectFromView(_gameObject4, _wrapper4);
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+
+            EnduringGiftBoxController.Dispose();
+            base.Dispose();
+        }
+
+        protected override void OnShown()
+        {
+            base.OnShown();
+            AddEffect();
+            _ui.m_t1.Play();
+            _ui.m_t2.Play();
+         
+            UpdateView();
+        }
+
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+            EventAgent.AddEventListener(ConstMessage.CONTINUOUS_REBATE_GIFT_SHOP_BUY, UpDayRebateAndView);
+            EventAgent.AddEventListener(ConstMessage.CONTINUOUS_REBATE_GIFT, UpdateView);
+            // EventAgent.AddEventListener(ConstMessage.SHOP_BUY, UpdateView);
+        }
+
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+            EventAgent.RemoveEventListener(ConstMessage.CONTINUOUS_REBATE_GIFT, UpdateView);
+            EventAgent.RemoveEventListener(ConstMessage.CONTINUOUS_REBATE_GIFT_SHOP_BUY, UpdateView);
+        }
+
+        private void AddEffect()
+        {
+            string resPath3;
+            if (_itemId == ConstItemID.POWER)
+            {
+                resPath3 = ResPathUtil.GetViewEffectPath("ui_Activity", "Activity_people02");
+            }
+            else
+            {
+                resPath3 = ResPathUtil.GetViewEffectPath("ui_Activity", "Activity_people01");
+            }
+
+            //小人
+            SceneController.AddObjectToView(null, null, _ui.m_holderBaby, resPath3,
+                out _gameObject3, out _wrapper3);
+
+            //爆发,大泡泡
+            string resPath1 = ResPathUtil.GetViewEffectPath("ui_Activity", "Activity_baofa");
+            SceneController.AddObjectToView(null, null, _ui.m_holderPaoMax, resPath1,
+                out _gameObject1, out _wrapper1);
+
+            //持续的小泡泡
+            string resPath2 = ResPathUtil.GetViewEffectPath("ui_Activity", "Activity_chixu");
+            SceneController.AddObjectToView(null, null, _ui.m_holderPaoMin, resPath2,
+                out _gameObject2, out _wrapper2);
+
+            //爆发时候的发光
+            string resPath4 = ResPathUtil.GetViewEffectPath("ui_Activity", "Activity_glow");
+            SceneController.AddObjectToView(null, null, _ui.m_holderFg, resPath4,
+                out _gameObject4, out _wrapper4);
+        }
+
+        public void SetParams(int itemId, int count, Action onSuccess, string message = "")
+        {
+            _itemId = itemId;
+            _count = count;
+
+            _onSuccess = onSuccess;
+            _message = message;
+        }
+
+        private void UpdateView()
+        {
+            _buyTimes = ItemDataManager.GetItemExchangeTimes(_itemId);
+
+            ItemExchangeCfgArray.Instance.GetMoneyIdAndNum(_itemId, _buyTimes, _count, out int costId, out int coustNum,
+                out int buyNum);
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(_itemId);
+            ItemCfg costCfg = ItemCfgArray.Instance.GetCfg(costId);
+            _ui.m_txtNeed.text = string.Format("是否花费{0}{1} 购买{2}{3}", coustNum, costCfg.name, buyNum, itemCfg.name);
+
+            _ui.m_txtNum.text = "";
+            _maxTimes = ItemExchangeCfgArray.Instance.GetCfg(_itemId).maxLimit;
+            if (_maxTimes != 0)
+            {
+                _ui.m_txtNum.text = string.Format("今日剩余购买次数{0}/{1}", _maxTimes - _buyTimes, _maxTimes);
+            }
+
+            if (_message != "")
+            {
+                _ui.m_txtNum.text = _message;
+            }
+
+            _shopCfgList.Clear();
+            //常驻礼包
+            if (_itemId == ConstItemID.POWER)
+            {
+                //体力礼包
+                _shopCfgList = ShopCfgArray.Instance
+                    .GetCfgsBymenu1Andmenu2(ConstStoreTabId.ENDURING_GIFT_BOX, ConstStoreSubId.ENDURING_GIFT_BOX_POWER)
+                    .OrderBy(a => a.refreshType).ToList();
+            }
+            else
+            {
+                //金币礼包
+                _shopCfgList = ShopCfgArray.Instance
+                    .GetCfgsBymenu1Andmenu2(ConstStoreTabId.ENDURING_GIFT_BOX, ConstStoreSubId.ENDURING_GIFT_BOX_GOLD)
+                    .OrderBy(a => a.refreshType).ToList();
+            }
+
+            _ui.m_txtPromptExt.text = string.Format("除了上述购买{0}的途径,我们还提供了更多的优惠礼包选择", itemCfg.name);
+            _ui.m_list.itemRenderer = ListItemRender;
+            _ui.m_list.numItems = _shopCfgList.Count;
+            _ui.m_list.visible = true;
+        }
+
+        private void ListItemRender(int index, GObject obj)
+        {
+            ShopCfg shopCfg = _shopCfgList[index];
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(shopCfg.itemId); //购买的物品-礼包
+            UI_ComCurSupplyItem item = UI_ComCurSupplyItem.Proxy(obj);
+            item.target.data = shopCfg;
+
+            //返利包
+            item.m_txtTitle.text = itemCfg.name;
+            item.m_txtWeekPrompt.visible = false;
+            item.m_icoWeekPromptTag.visible = false;
+            if (itemCfg.param2Arr.Length != 0)
+            {
+                item.m_txtWeekPrompt.visible = true;
+                item.m_icoWeekPromptTag.visible = true;
+                item.m_txtWeekPrompt.text = string.Format("连续{0}天每日获得", itemCfg.param2Arr[0]);
+            }
+
+            int numItems;
+            var childItemCfg = ItemCfgArray.Instance.GetCfg(shopCfg.itemId);
+            var remainBuyNum = shopCfg.maxBuyNum - ShopDataManager.Instance.GetGoodsBuyNumById(shopCfg.id);
+            item.m_comLeftGiftBox.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg);
+            item.m_btnBuy.m_txtOldPrice.text = $"{shopCfg.originalPrice}";
+            item.m_btnBuy.m_txtNewPrice.text = $"{shopCfg.price}元";
+            item.m_comLeftGiftBox.target.data = itemCfg;
+            item.m_comLeftGiftBox.m_loaIcon.onClick.Add(OnListSelectorItemClick);
+
+            if (shopCfg.refreshType == RefreshType.DAY) //也可以换成人民币来做条件
+            {
+                //日刷
+                item.m_comLeftGiftBox.m_comDiscount.target.visible = true;
+                item.m_comLeftGiftBox.m_comDiscount.m_txtDiscountNum.text = "1.5折"; //之后再计算赋值
+                item.m_comLeftGiftBox.m_comGouMaiGetText.target.visible = false;
+                item.m_txtUrc.text = string.Format("今日剩余{0}/{1}", remainBuyNum, shopCfg.maxBuyNum);
+                item.m_txtLrc.text = string.Format("可获得{0}会员积分", shopCfg.price * 10);
+                item.m_txtWeekPrompt.visible = false;
+                item.m_icoWeekPromptTag.visible = false;
+                numItems = childItemCfg.itemsArr.Length;
+
+                if (remainBuyNum == 0)
+                {
+                    //已售完
+                    item.m_btnBuy.target.visible = true;
+                    item.m_btnCurReceive.target.visible = false;
+                    item.m_btnBuy.m_bagYellow.visible = false;
+                    item.m_btnBuy.m_bagGrey.visible = true;
+                }
+                else
+                {
+                    //未售完
+                    item.m_btnBuy.target.visible = true;
+                    item.m_btnCurReceive.target.visible = false;
+                    item.m_btnBuy.m_bagYellow.visible = true;
+                    item.m_btnBuy.m_bagGrey.visible = false;
+                }
+            }
+            else
+            {
+                //周刷
+                var weekGiftBoxState = EnduringGiftBoxDataManager.Instance.DayIsRebateGiftBox(shopCfg.itemId);
+                item.m_comLeftGiftBox.m_comDiscount.target.visible = false;
+                item.m_comLeftGiftBox.m_comGouMaiGetText.target.visible = true;
+                var itemArr = itemCfg.itemsArr[0];
+                ItemCfg getItemCfg = ItemCfgArray.Instance.GetCfg(itemArr[0]); //及时获得的物品,读取第一个显示ICON
+                item.m_comLeftGiftBox.m_comGouMaiGetText.m_loaIcon.url = ResPathUtil.GetIconPath(getItemCfg);
+                item.m_comLeftGiftBox.m_comGouMaiGetText.m_txtGetGold.text = itemArr[1].ToString();
+                item.m_txtUrc.text = string.Format("每周限购{0}/{1}", remainBuyNum, shopCfg.maxBuyNum);
+                item.m_txtLrc.text = string.Format("剩余{0}天", "");
+                item.m_txtWeekPrompt.visible = true;
+                item.m_txtWeekPrompt.text =
+                    string.Format("连续{0}天每日获得", NumberUtil.GetChiniseNumberText(itemCfg.param2Arr[0]));
+                item.m_icoWeekPromptTag.visible = true;
+
+                numItems = childItemCfg.param1Arr.Length;
+
+                //是否需要领取
+                if (weekGiftBoxState)
+                {
+                    item.m_btnBuy.target.visible = false;
+                    item.m_btnCurReceive.target.visible = true;
+                    item.m_btnCurReceive.m_receive.visible = true;
+                    item.m_btnCurReceive.m_received.visible = false;
+                    item.m_btnCurReceive.m_txtRec.text = "领取";
+                }
+                else
+                {
+                    //是否能购买
+                    if (remainBuyNum == 0)
+                    {
+                        //已经领取
+                        if (EnduringGiftBoxDataManager.Instance.DayRebateItemIds.Contains(shopCfg.itemId))
+                        {
+                            item.m_btnBuy.target.visible = false;
+                            item.m_btnCurReceive.target.visible = true;
+                            item.m_btnCurReceive.m_receive.visible = false;
+                            item.m_btnCurReceive.m_received.visible = true;
+                            item.m_btnCurReceive.m_txtRec.text = "已领取";
+                        }
+                        else
+                        {
+                            item.m_btnCurReceive.target.visible = false;
+                            item.m_btnBuy.target.visible = true;
+                            item.m_btnBuy.m_bagGrey.visible = true;
+                            item.m_btnBuy.m_bagYellow.visible = false;
+                        }
+                    }
+                    else
+                    {
+                        //未售完
+                        item.m_btnBuy.target.visible = true;
+                        item.m_btnBuy.m_bagGrey.visible = false;
+                        item.m_btnBuy.m_bagYellow.visible = true;
+                        item.m_btnCurReceive.target.visible = false;
+                    }
+                }
+            }
+
+            //领取按钮点击事件
+            item.m_btnCurReceive.target.onClick.Add(OnBtnCurReceiveClick);
+            //购买按钮点击事件
+            item.m_btnBuy.target.onClick.Add(OnBtnBuyClick);
+
+            item.m_list.data = shopCfg;
+            item.m_list.itemRenderer = ChildListItemRender;
+            item.m_list.numItems = numItems;
+        }
+
+        //领取按钮点击事件
+        private void OnBtnCurReceiveClick(EventContext context)
+        {
+            GObject sender = context.sender as GObject;
+            GObject obj = sender.parent;
+            ShopCfg cfg = obj.data as ShopCfg;
+            bool isSellOut = EnduringGiftBoxDataManager.Instance.DayIsRebateGiftBox(cfg.itemId);
+
+            if (isSellOut)
+            {
+                EnduringGiftBoxSProxy.ReqGetGiftBagRebate(cfg.id).Coroutine();
+            }
+            else
+            {
+                PromptController.Instance.ShowFloatTextPrompt("无法领取");
+            }
+        }
+
+        //购买按钮点击事件
+        private void OnBtnBuyClick(EventContext context)
+        {
+            GObject sender = context.sender as GObject;
+            GObject obj = sender.parent;
+            ShopCfg cfg = obj.data as ShopCfg;
+            bool isSellOut = cfg.maxBuyNum > 0 &&
+                             cfg.maxBuyNum - ShopDataManager.Instance.GetGoodsBuyNumById(cfg.id) <= 0;
+
+            if (isSellOut)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("已售罄");
+                return;
+            }
+
+            if (!ShopDataManager.Instance.GetShopGoodsStateById(cfg.id))
+            {
+                PromptController.Instance.ShowFloatTextPrompt(ShopDataManager.Instance.GetShopGoodsStateTips(cfg.id));
+                return;
+            }
+
+            if (cfg.costType == CostType.FREE)
+            {
+                ShopSProxy.ReqShopBuy(cfg.id, 1).Coroutine();
+                LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.SHANG_CHENG, 2);
+            }
+            else
+            {
+                ViewManager.Show<ItemExchangeView>(cfg.id);
+            }
+        }
+
+        private void ChildListItemRender(int index, GObject obj)
+        {
+            UI_ComRewardIconItem uiItemChild = UI_ComRewardIconItem.Proxy(obj);
+            var shopCfg = uiItemChild.target.parent.data as ShopCfg;
+            var itemCfg = ItemCfgArray.Instance.GetCfg(shopCfg.itemId);
+            // uiItemChild.m_showRreceives.visible = false;
+
+            //var curGiftBoxState = EnduringGiftBoxDataManager.GiftBoxStateDic[shopCfg.id];
+            int[][] result;
+            if (shopCfg.refreshType == RefreshType.DAY)
+            {
+                result = itemCfg.itemsArr;
+                uiItemChild.m_bagYellow.visible = false;
+                uiItemChild.m_bagBlue.visible = true;
+                uiItemChild.m_bagYellowEx.visible = false;
+                uiItemChild.m_bagBlueEx.visible = true;
+            }
+            else
+            {
+                //周刷
+                result = itemCfg.param1Arr;
+                uiItemChild.m_bagYellow.visible = true;
+                uiItemChild.m_bagBlue.visible = false;
+                uiItemChild.m_bagYellowEx.visible = true;
+                uiItemChild.m_bagBlueEx.visible = false;
+            }
+
+            // if (curGiftBoxState == EnduringGiftBoxBuyStatus.YesGet)
+            // {
+            //     uiItemChild.m_showRreceives.visible = true;
+            // }
+            // else if (curGiftBoxState == EnduringGiftBoxBuyStatus.NoGet)
+            // {
+            //     uiItemChild.m_showRreceives.visible = false;
+            // }
+
+            var itemArr = result[index];
+            var itemCfgChild = ItemCfgArray.Instance.GetCfg(itemArr[0]);
+            uiItemChild.m_loaIcon.onClick.Add(OnListSelectorItemClick);
+            uiItemChild.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfgChild);
+            uiItemChild.m_num.text = itemArr[1].ToString();
+            uiItemChild.target.data = itemCfgChild;
+            UI_ComRewardIconItem.ProxyEnd();
+        }
+
+        //弹出物品详细描述框
+        private void OnListSelectorItemClick(EventContext context)
+        {
+            GObject sender = context.sender as GObject;
+            GObject obj = sender.parent;
+            ItemCfg itemCfg = obj.data as ItemCfg;
+            GoodsItemTipsController.ShowItemTips(itemCfg.id);
+        }
+
+        private async void OnClickBtnSure()
+        {
+            if (_maxTimes > 0 && (_buyTimes + _count) > _maxTimes)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("购买次数不足");
+                return;
+            }
+
+            ItemExchangeCfgArray.Instance.GetMoneyIdAndNum(_itemId, _buyTimes, _count, out int costId, out int coustNum,
+                out int buyNum);
+
+            Debug.Log(costId + "数量:" + ItemDataManager.GetItemNum(costId));
+            if (ItemDataManager.GetItemNum(costId) < coustNum)
+            {
+                ItemCfg costCfg = ItemCfgArray.Instance.GetCfg(costId);
+                if (_itemId == ConstItemID.DIAMOND_PURPLE)
+                {
+                    PromptController.Instance.ShowFloatTextPrompt(string.Format("{0}不足,请前往商城选购", costCfg.name));
+                }
+                else
+                {
+                    AlertUI.Show(costCfg.name + "不足,是否前往购买?").SetLeftButton(true).SetRightButton(true, "确认",
+                        (AlertWindow.AlertCallback)((object data) =>
+                        {
+                            long costNeedCount = coustNum - ItemDataManager.GetItemNum(costId);
+                            BuyItemConteoller.Show(costId, costNeedCount, ConstBuyType.TYPE_ITEM, null, true, true,
+                                GameConst.MAX_COUNT_TO_BUY_DIAMOND_RED);
+                        }));
+                    OnClickBtnCancel();
+                }
+
+                return;
+            }
+
+            bool result = await ItemExchangeSProxy.ItemExchange(_itemId, _count);
+
+            if (result)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("购买成功", MessageType.SUCCESS);
+                if (_onSuccess != null)
+                {
+                    _onSuccess();
+                }
+            }
+
+            this.Hide();
+        }
+
+        private void UpDayRebateAndView(EventContext context)
+        {
+            ShopCfg shopCfg = context.data as ShopCfg;
+            var itemCfg = ItemCfgArray.Instance.GetCfg(shopCfg.itemId);
+            if (itemCfg.itemType == ConstItemType.GIFT_BAG &&
+                itemCfg.subType == ConstItemSubType.CONTINUOUS_REWARD_GIFT)
+            {
+                EnduringGiftBoxDataManager.Instance.AddDayAllRebateItemIds(itemCfg.id);
+                EnduringGiftBoxDataManager.Instance.AddDayRebateItemIds(itemCfg.id);
+            }
+
+            UpdateView();
+        }
+
+        protected override void OnHide()
+        {
+            Dispose();
+            base.Hide();
+            _onSuccess = null;
+        }
+        
+        private void OnClickBtnCancel()
+        {
+            // Dispose();
+            this.Hide();
+        }
+    }
+}

+ 3 - 0
GameClient/Assets/Game/HotUpdate/Views/EnduringGiftBox/EnduringGiftBoxView.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: ee4806f313de4288968b65f99bd06a04
+timeCreated: 1685011844

+ 4 - 4
GameClient/Assets/Game/Launcher/LauncherConfig.cs

@@ -8,7 +8,7 @@ namespace GFGGame
         public static EnumNetType netType = EnumNetType.LOCAL;
         public static string cfgName;
 
-        //热更代码存放位置
+        //鐑�洿浠g爜瀛樻斁浣嶇疆
         public const string DllDirHotfix = "Assets/ResIn/Dll/Update/";
         public const string DllDirAOT = "Assets/ResIn/Dll/AOT/";
         public const int HTTP_GET_TIME_OUT = 3;
@@ -21,9 +21,9 @@ namespace GFGGame
         public static string loginApiUrl;
         public static string gameApiUrl;
         public static string cfgUrl;
-        //平台id
+        //骞冲彴id
         public static int platformId = 1;
-        //渠道id
+        //娓犻亾id
         public static int ChannelId = 1;
         public static string logApiRootUrl;
         public static string logApiReportLauncherUrl;
@@ -47,7 +47,7 @@ namespace GFGGame
         public static void InitScriptCompilation()
         {
 #if PT_DEV
-            //外网dev版本
+            //澶栫綉dev鐗堟湰
             netType = EnumNetType.DEV;
             cfgName = "cfg_dev";
 #elif PT_TEMP

BIN
GameClient/Assets/ResIn/UI/Bag/Bag_fui.bytes


+ 8 - 0
GameClient/Assets/ResIn/UI/EnduringGiftBox.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 984e94c4171d1284494248f442b0f2ed
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0!a.png


+ 96 - 0
GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0!a.png.meta

@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: 93533c17ecb98a744b8692828466c8c7
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0.png


+ 96 - 0
GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0.png.meta

@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: 15bed3583c03c68489ea16007c2016c7
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_fui.bytes


+ 7 - 0
GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_fui.bytes.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 323a33851604cf54cb44f1ac13da0189
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: