Эх сурвалжийг харах

Merge remote-tracking branch 'remotes/origin/zhaoyang'

zhaoyang 2 жил өмнө
parent
commit
bf67cb7ffc
87 өөрчлөгдсөн 3204 нэмэгдсэн , 349 устгасан
  1. 2 6
      FGUIProject/assets/CommonGame/components/BtnStyle005.xml
  2. 3 3
      FGUIProject/assets/CommonGame/components/BtnStyle006.xml
  3. 4 4
      FGUIProject/assets/CommonGame/package.xml
  4. 1 3
      FGUIProject/assets/LuckyBox/LuckBoxBonusUI.xml
  5. 1 1
      FGUIProject/assets/LuckyBox/LuckyBoxActivityUI.xml
  6. 10 4
      FGUIProject/assets/LuckyBox/LuckyBoxNewDressUI.xml
  7. 37 37
      FGUIProject/assets/LuckyBox/LuckyBoxStarUI.xml
  8. 7 4
      FGUIProject/assets/LuckyBox/LuckyBoxUI.xml
  9. 1 7
      FGUIProject/assets/LuckyBox/combox/ComBox.xml
  10. 52 0
      FGUIProject/assets/LuckyBox/combox/ComBox1.xml
  11. 47 0
      FGUIProject/assets/LuckyBox/combox/ComBox_1.xml
  12. 2 1
      FGUIProject/assets/LuckyBox/combox/ComModel.xml
  13. 5 6
      FGUIProject/assets/LuckyBox/components/Button4.xml
  14. 13 0
      FGUIProject/assets/LuckyBox/components/Button6.xml
  15. 11 7
      FGUIProject/assets/LuckyBox/components/ComCard.xml
  16. 6 3
      FGUIProject/assets/LuckyBox/components/ComCost.xml
  17. 2 2
      FGUIProject/assets/LuckyBox/components/ComHolder.xml
  18. 2 2
      FGUIProject/assets/LuckyBox/components/ComStar.xml
  19. 6 0
      FGUIProject/assets/LuckyBox/components/Component3.xml
  20. 9 0
      FGUIProject/assets/LuckyBox/components/ComponentLine.xml
  21. BIN
      FGUIProject/assets/LuckyBox/imageNews/dz_danxiaozj.png
  22. BIN
      FGUIProject/assets/LuckyBox/imageNews/dz_liuli.png
  23. BIN
      FGUIProject/assets/LuckyBox/imageNews/lh_scfsls.png
  24. BIN
      FGUIProject/assets/LuckyBox/imageNews/zx_bg.png
  25. BIN
      FGUIProject/assets/LuckyBox/imageNews/zx_bgzz.png
  26. BIN
      FGUIProject/assets/LuckyBox/imageNews/zx_title_1.png
  27. BIN
      FGUIProject/assets/LuckyBox/imageNews/zx_title_2.png
  28. BIN
      FGUIProject/assets/LuckyBox/imageNews/zx_title_3.png
  29. BIN
      FGUIProject/assets/LuckyBox/imageNews/zx_title_zi.png
  30. 15 3
      FGUIProject/assets/LuckyBox/package.xml
  31. 4 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComIcon001.cs.meta
  32. 19 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComIcon001.cs.meta~merged
  33. 7 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComIcon001.cs.meta~merged.meta
  34. 4 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComIcon002.cs.meta
  35. 0 6
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComBox.cs
  36. 110 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComBox1.cs
  37. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComBox1.cs.meta
  38. 12 12
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComCard.cs
  39. 3 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComCost.cs
  40. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComModel.cs
  41. 4 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComStar.cs
  42. 74 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComponentLine.cs
  43. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComponentLine.cs.meta
  44. 3 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_LuckyBoxNewDressUI.cs
  45. 42 38
      GameClient/Assets/Game/HotUpdate/Views/Common/Controller/LuckyBoxController.cs
  46. 2 4
      GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxActivityView.cs
  47. 1 1
      GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxBonusView.cs
  48. 41 7
      GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxNewDressView.cs
  49. 85 69
      GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxStarView.cs
  50. 90 110
      GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxView.cs
  51. 1 0
      GameClient/Assets/Game/HotUpdate/Views/XiuFang/XiuFangView.cs
  52. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0!a.png
  53. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0.png
  54. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_fui.bytes
  55. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0!a.png
  56. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0.png
  57. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_1!a.png
  58. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_1.png
  59. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_2!a.png
  60. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_2.png
  61. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_3!a.png
  62. 96 0
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_3!a.png.meta
  63. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_3.png
  64. 96 0
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_3.png.meta
  65. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_4!a.png
  66. 96 0
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_4!a.png.meta
  67. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_4.png
  68. 96 0
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_4.png.meta
  69. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_5!a.png
  70. 96 0
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_5!a.png.meta
  71. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_5.png
  72. 96 0
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_5.png.meta
  73. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_fui.bytes
  74. 266 0
      LuckyBox/LuckyBoxActivityView.cs
  75. 11 0
      LuckyBox/LuckyBoxActivityView.cs.meta
  76. 357 0
      LuckyBox/LuckyBoxBonusView.cs
  77. 11 0
      LuckyBox/LuckyBoxBonusView.cs.meta
  78. 81 0
      LuckyBox/LuckyBoxNewCardView.cs
  79. 11 0
      LuckyBox/LuckyBoxNewCardView.cs.meta
  80. 178 0
      LuckyBox/LuckyBoxNewDressView.cs
  81. 11 0
      LuckyBox/LuckyBoxNewDressView.cs.meta
  82. 81 0
      LuckyBox/LuckyBoxPreShowView.cs
  83. 11 0
      LuckyBox/LuckyBoxPreShowView.cs.meta
  84. 391 0
      LuckyBox/LuckyBoxStarView.cs
  85. 11 0
      LuckyBox/LuckyBoxStarView.cs.meta
  86. 434 0
      LuckyBox/LuckyBoxView.cs
  87. 11 0
      LuckyBox/LuckyBoxView.cs.meta

+ 2 - 6
FGUIProject/assets/CommonGame/components/BtnStyle005.xml

@@ -1,12 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
-<component size="316,102" extention="Button">
+<component size="94,94" extention="Button">
   <controller name="button" pages="0,up,1,down" selected="0"/>
   <controller name="button" pages="0,up,1,down" selected="0"/>
   <displayList>
   <displayList>
-    <loader id="n2_idkd" name="icon" xy="0,0" pivot="0.5,0.5" size="316,102" url="ui://eg2y0ldpvolstnf" autoSize="true"/>
-    <text id="n1_9qpb" name="title" xy="0,-4" size="316,102" font="ui://eg2y0ldpa0cftks" fontSize="46" color="#5a3e16" align="center" vAlign="middle" autoSize="none" singleLine="true" text="前往">
-      <relation target="" sidePair="width-width,height-height,center-center,middle-middle"/>
-    </text>
+    <image id="n0_duuf" name="n0" src="volstnj" fileName="imagesNew/an_bt_cut.png" xy="0,0"/>
   </displayList>
   </displayList>
   <Button/>
   <Button/>
-  <relation target="n2_idkd" sidePair="width-width,height-height"/>
 </component>
 </component>

+ 3 - 3
FGUIProject/assets/CommonGame/components/BtnStyle006.xml

@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
-<component size="94,94" extention="Button">
+<component size="316,94" extention="Button">
   <controller name="button" pages="0,up,1,down" selected="0"/>
   <controller name="button" pages="0,up,1,down" selected="0"/>
   <displayList>
   <displayList>
-    <loader id="n2_idkd" name="icon" xy="0,0" pivot="0.5,0.5" size="94,94" url="ui://eg2y0ldpvolstni" autoSize="true">
+    <loader id="n2_idkd" name="icon" xy="0,0" pivot="0.5,0.5" size="316,102" url="ui://eg2y0ldpvolstni" autoSize="true">
       <relation target="" sidePair="center-center,middle-middle"/>
       <relation target="" sidePair="center-center,middle-middle"/>
     </loader>
     </loader>
-    <text id="n1_9qpb" name="title" xy="0,0" size="94,94" font="ui://eg2y0ldpa0cftks" fontSize="46" color="#5a3e16" align="center" vAlign="middle" autoSize="none" singleLine="true" text="">
+    <text id="n1_9qpb" name="title" xy="0,0" size="316,94" font="ui://eg2y0ldpa0cftks" fontSize="46" color="#5a3e16" align="center" vAlign="middle" autoSize="none" singleLine="true" text="">
       <relation target="" sidePair="width-width,height-height,center-center,middle-middle"/>
       <relation target="" sidePair="width-width,height-height,center-center,middle-middle"/>
     </text>
     </text>
   </displayList>
   </displayList>

+ 4 - 4
FGUIProject/assets/CommonGame/package.xml

@@ -341,12 +341,12 @@
     <image id="idkdtnc" name="xsqg_zsx.png" path="/imagesNew/" exported="true"/>
     <image id="idkdtnc" name="xsqg_zsx.png" path="/imagesNew/" exported="true"/>
     <component id="volstnd" name="ComIcon003.xml" path="/components/"/>
     <component id="volstnd" name="ComIcon003.xml" path="/components/"/>
     <image id="volstne" name="lm_fl_db.png" path="/bgimg/" exported="true"/>
     <image id="volstne" name="lm_fl_db.png" path="/bgimg/" exported="true"/>
-    <component id="volstnf" name="BtnStyle005.xml" path="/components/"/>
-    <component id="volstng" name="BtnStyle006.xml" path="/components/"/>
+    <component id="volstnf" name="BtnStyle005.xml" path="/components/" exported="true"/>
+    <component id="volstng" name="BtnStyle006.xml" path="/components/" exported="true"/>
     <component id="volstnh" name="ComItem003.xml" path="/components/" exported="true"/>
     <component id="volstnh" name="ComItem003.xml" path="/components/" exported="true"/>
-    <image id="volstni" name="an_bt_bai.png" path="/imagesNew/"/>
+    <image id="volstni" name="an_bt_bai.png" path="/imagesNew/" exported="true"/>
     <image id="volstnj" name="an_bt_cut.png" path="/imagesNew/"/>
     <image id="volstnj" name="an_bt_cut.png" path="/imagesNew/"/>
-    <image id="volstnk" name="an_bt_jin.png" path="/imagesNew/"/>
+    <image id="volstnk" name="an_bt_jin.png" path="/imagesNew/" exported="true"/>
     <image id="volstnl" name="wp_bg_yuan.png" path="/imagesNew/"/>
     <image id="volstnl" name="wp_bg_yuan.png" path="/imagesNew/"/>
     <image id="volstnm" name="wp_own.png" path="/imagesNew/"/>
     <image id="volstnm" name="wp_own.png" path="/imagesNew/"/>
   </resources>
   </resources>

+ 1 - 3
FGUIProject/assets/LuckyBox/LuckBoxBonusUI.xml

@@ -22,9 +22,7 @@
       <gearDisplay controller="c1" pages="1"/>
       <gearDisplay controller="c1" pages="1"/>
       <relation target="" sidePair="center-center,middle-middle"/>
       <relation target="" sidePair="center-center,middle-middle"/>
     </group>
     </group>
-    <component id="n20_dhoa" name="btnPass" src="qdrt1c" fileName="components/Button4.xml" xy="808,1766">
-      <relation target="" sidePair="right-right,bottom-bottom"/>
-    </component>
+    <component id="n20_dhoa" name="btnPass" src="qdrt1c" fileName="components/Button4.xml" xy="917,1802"/>
     <loader id="n19_v95q" name="loaMask" xy="540,960" pivot="0.5,0.5" anchor="true" size="1080,2400" fill="scaleMatchWidth">
     <loader id="n19_v95q" name="loaMask" xy="540,960" pivot="0.5,0.5" anchor="true" size="1080,2400" fill="scaleMatchWidth">
       <relation target="" sidePair="width-width,height-height,center-center,middle-middle"/>
       <relation target="" sidePair="width-width,height-height,center-center,middle-middle"/>
     </loader>
     </loader>

+ 1 - 1
FGUIProject/assets/LuckyBox/LuckyBoxActivityUI.xml

@@ -27,7 +27,7 @@
     <group id="n52_mbf1" name="n52" xy="9,246" size="151,459" advanced="true"/>
     <group id="n52_mbf1" name="n52" xy="9,246" size="151,459" advanced="true"/>
     <image id="n56_mbf1" name="n56" src="mbf1tam" fileName="images/cj_tswz_db.png" xy="136,1497" group="n54_mbf1"/>
     <image id="n56_mbf1" name="n56" src="mbf1tam" fileName="images/cj_tswz_db.png" xy="136,1497" group="n54_mbf1"/>
     <image id="n53_mbf1" name="n53" src="mbf1tam" fileName="images/cj_tswz_db.png" xy="136,1497" group="n54_mbf1"/>
     <image id="n53_mbf1" name="n53" src="mbf1tam" fileName="images/cj_tswz_db.png" xy="136,1497" group="n54_mbf1"/>
-    <text id="n44_mbf1" name="txtCount" xy="210,1496" pivot="0.5,0" size="659,42" group="n54_mbf1" font="ui://eg2y0ldpa0cftkz" fontSize="30" color="#fff7d4" align="center" vars="true" text="{value=15}次摘星内必得【{name=沧海月明}】限定部件或对应词牌"/>
+    <text id="n44_mbf1" name="txtCount" xy="284,1496" pivot="0.5,0" size="511,42" group="n54_mbf1" font="ui://eg2y0ldpa0cftkz" fontSize="30" color="#fff7d4" align="center" vars="true" text="{value=15}次摘星内必得【{name=沧海月明}】限定部件"/>
     <group id="n54_mbf1" name="n54" xy="136,1496" size="808,43" advanced="true">
     <group id="n54_mbf1" name="n54" xy="136,1496" size="808,43" advanced="true">
       <relation target="" sidePair="bottom-bottom"/>
       <relation target="" sidePair="bottom-bottom"/>
     </group>
     </group>

+ 10 - 4
FGUIProject/assets/LuckyBox/LuckyBoxNewDressUI.xml

@@ -1,14 +1,20 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
 <component size="1080,1920">
 <component size="1080,1920">
   <displayList>
   <displayList>
-    <graph id="n2_qdrt" name="bg" xy="0,0" size="1080,1920" alpha="0.4" type="rect" lineSize="0" fillColor="#ff000000">
-      <relation target="" sidePair="width-width,height-height"/>
-    </graph>
+    <loader id="n4_duuf" name="loaBg" xy="0,-240" size="1080,2400" align="center" vAlign="middle" fill="scaleMatchWidth">
+      <relation target="" sidePair="width-width,center-center,middle-middle"/>
+    </loader>
+    <image id="n5_duuf" name="n5" src="volstat" fileName="imageNews/zx_tx_qianjing.png" xy="9,411" group="n9_duuf"/>
+    <image id="n6_duuf" name="n6" src="volstar" fileName="imageNews/zx_tx_hengxiang.png" xy="0,420" group="n9_duuf"/>
+    <image id="n7_duuf" name="n7" src="volstav" fileName="imageNews/zx_tx_yuanquan.png" xy="28,381" group="n9_duuf"/>
+    <image id="n8_duuf" name="n8" src="volstaw" fileName="imageNews/zx_tx_zhongjian.png" xy="53,484" group="n9_duuf"/>
+    <group id="n9_duuf" name="n9" xy="0,381" size="1080,1158"/>
     <component id="n0_qdrt" name="comCard" src="qdrt1a" fileName="components/ComCard.xml" xy="66,475" pivot="0.5,0.5" touchable="false">
     <component id="n0_qdrt" name="comCard" src="qdrt1a" fileName="components/ComCard.xml" xy="66,475" pivot="0.5,0.5" touchable="false">
       <relation target="" sidePair="center-center,middle-middle"/>
       <relation target="" sidePair="center-center,middle-middle"/>
     </component>
     </component>
-    <component id="n3_qdrt" name="btnPass" src="qdrt1c" fileName="components/Button4.xml" xy="863,1802">
+    <component id="n3_qdrt" name="btnPass" src="qdrt1c" fileName="components/Button4.xml" xy="917,1802">
       <relation target="" sidePair="right-right,bottom-bottom"/>
       <relation target="" sidePair="right-right,bottom-bottom"/>
+      <Button icon="ui://drx9d1usvolstbo"/>
     </component>
     </component>
   </displayList>
   </displayList>
   <transition name="t_open">
   <transition name="t_open">

+ 37 - 37
FGUIProject/assets/LuckyBox/LuckyBoxStarUI.xml

@@ -1,66 +1,66 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
 <component size="1080,1920" designImage="ui://drx9d1usw1qi2n" designImageOffsetY="-240">
 <component size="1080,1920" designImage="ui://drx9d1usw1qi2n" designImageOffsetY="-240">
-  <controller name="ctrlBuyType" alias="购买类型" pages="0,,1," selected="0">
+  <controller name="ctrlBuyType" alias="购买类型" pages="0,,1," selected="1">
     <remark page="0" value="买一次"/>
     <remark page="0" value="买一次"/>
     <remark page="1" value="买十次"/>
     <remark page="1" value="买十次"/>
   </controller>
   </controller>
-  <controller name="ctrlRewardsType" alias="奖池类型" pages="0,,1,,2," selected="1"/>
+  <controller name="ctrlRewardsType" alias="奖池类型" pages="0,,1,,2," selected="2"/>
   <displayList>
   <displayList>
-    <loader id="n0_l5nz" name="bg" xy="540,960" pivot="0.5,0.5" anchor="true" size="1080,2400" url="ui://drx9d1uso1391i" fill="scaleMatchWidth">
+    <loader id="n0_l5nz" name="bg" xy="540,960" pivot="0.5,0.5" anchor="true" size="1080,2400" url="ui://drx9d1uso1391g" fill="scaleMatchWidth">
       <gearIcon controller="ctrlRewardsType" pages="0,1,2" values="ui://drx9d1uso1391h|ui://drx9d1uso1391i|ui://drx9d1uso1391g"/>
       <gearIcon controller="ctrlRewardsType" pages="0,1,2" values="ui://drx9d1uso1391h|ui://drx9d1uso1391i|ui://drx9d1uso1391g"/>
       <relation target="" sidePair="center-center,middle-middle"/>
       <relation target="" sidePair="center-center,middle-middle"/>
     </loader>
     </loader>
-    <component id="n9_l5nz" name="btnBack" src="9xlo8" fileName="components/ButtonBack1.xml" pkg="eg2y0ldp" xy="35,80"/>
-    <component id="n20_f5bl" name="comStar0_0_0" src="l5nzq" fileName="components/ComStar.xml" xy="498,973">
+    <component id="n9_l5nz" name="btnBack" src="9xlo8" fileName="components/BtnBack.xml" pkg="eg2y0ldp" xy="35,80"/>
+    <component id="n20_f5bl" name="comStar0_0_0" src="l5nzq" fileName="components/ComStar.xml" xy="540,960">
       <gearDisplay controller="ctrlBuyType" pages="0"/>
       <gearDisplay controller="ctrlBuyType" pages="0"/>
       <gearDisplay2 controller="ctrlRewardsType" pages="0" condition="0"/>
       <gearDisplay2 controller="ctrlRewardsType" pages="0" condition="0"/>
     </component>
     </component>
-    <component id="n31_iakb" name="comStar0_1_0" src="l5nzq" fileName="components/ComStar.xml" xy="605,857">
+    <component id="n31_iakb" name="comStar0_1_0" src="l5nzq" fileName="components/ComStar.xml" xy="540,960">
       <gearDisplay controller="ctrlBuyType" pages="0"/>
       <gearDisplay controller="ctrlBuyType" pages="0"/>
       <gearDisplay2 controller="ctrlRewardsType" pages="1" condition="0"/>
       <gearDisplay2 controller="ctrlRewardsType" pages="1" condition="0"/>
     </component>
     </component>
-    <component id="n32_iakb" name="comStar0_2_0" src="l5nzq" fileName="components/ComStar.xml" xy="605,857">
+    <component id="n32_iakb" name="comStar0_2_0" src="l5nzq" fileName="components/ComStar.xml" xy="540,960">
       <gearDisplay controller="ctrlBuyType" pages="0"/>
       <gearDisplay controller="ctrlBuyType" pages="0"/>
       <gearDisplay2 controller="ctrlRewardsType" pages="2" condition="0"/>
       <gearDisplay2 controller="ctrlRewardsType" pages="2" condition="0"/>
     </component>
     </component>
-    <component id="n12_l5nz" name="comStar1_0_0" src="l5nzq" fileName="components/ComStar.xml" xy="193,291" group="n19_l5nz"/>
-    <component id="n13_l5nz" name="comStar1_0_1" src="l5nzq" fileName="components/ComStar.xml" xy="513,121" group="n19_l5nz"/>
-    <component id="n14_l5nz" name="comStar1_0_2" src="l5nzq" fileName="components/ComStar.xml" xy="913,581" group="n19_l5nz"/>
-    <component id="n15_l5nz" name="comStar1_0_3" src="l5nzq" fileName="components/ComStar.xml" xy="207,970" group="n19_l5nz"/>
-    <component id="n33_o139" name="comStar1_0_4" src="l5nzq" fileName="components/ComStar.xml" xy="294,1130" group="n19_l5nz"/>
-    <component id="n34_o139" name="comStar1_0_5" src="l5nzq" fileName="components/ComStar.xml" xy="914,1142" group="n19_l5nz"/>
-    <component id="n35_o139" name="comStar1_0_6" src="l5nzq" fileName="components/ComStar.xml" xy="185,1320" group="n19_l5nz"/>
-    <component id="n36_o139" name="comStar1_0_7" src="l5nzq" fileName="components/ComStar.xml" xy="741,1444" group="n19_l5nz"/>
-    <component id="n37_o139" name="comStar1_0_8" src="l5nzq" fileName="components/ComStar.xml" xy="392,1533" group="n19_l5nz"/>
-    <group id="n19_l5nz" name="grpComStar0" xy="146,82" size="807,1490" advanced="true">
+    <component id="n12_l5nz" name="comStar1_0_0" src="l5nzq" fileName="components/ComStar.xml" xy="232,537" group="n19_l5nz"/>
+    <component id="n13_l5nz" name="comStar1_0_1" src="l5nzq" fileName="components/ComStar.xml" xy="449,224" group="n19_l5nz"/>
+    <component id="n14_l5nz" name="comStar1_0_2" src="l5nzq" fileName="components/ComStar.xml" xy="849,557" group="n19_l5nz"/>
+    <component id="n15_l5nz" name="comStar1_0_3" src="l5nzq" fileName="components/ComStar.xml" xy="419,803" group="n19_l5nz"/>
+    <component id="n33_o139" name="comStar1_0_4" src="l5nzq" fileName="components/ComStar.xml" xy="253,1005" group="n19_l5nz"/>
+    <component id="n34_o139" name="comStar1_0_5" src="l5nzq" fileName="components/ComStar.xml" xy="828,1066" group="n19_l5nz"/>
+    <component id="n35_o139" name="comStar1_0_6" src="l5nzq" fileName="components/ComStar.xml" xy="253,1398" group="n19_l5nz"/>
+    <component id="n36_o139" name="comStar1_0_7" src="l5nzq" fileName="components/ComStar.xml" xy="584,1272" group="n19_l5nz"/>
+    <component id="n37_o139" name="comStar1_0_8" src="l5nzq" fileName="components/ComStar.xml" xy="586,1619" group="n19_l5nz"/>
+    <group id="n19_l5nz" name="grpComStar0" xy="193,185" size="695,1473" advanced="true">
       <gearDisplay controller="ctrlBuyType" pages="1"/>
       <gearDisplay controller="ctrlBuyType" pages="1"/>
       <gearDisplay2 controller="ctrlRewardsType" pages="0" condition="0"/>
       <gearDisplay2 controller="ctrlRewardsType" pages="0" condition="0"/>
       <relation target="" sidePair="left-center,top-middle"/>
       <relation target="" sidePair="left-center,top-middle"/>
     </group>
     </group>
-    <component id="n21_iakb" name="comStar1_1_0" src="l5nzq" fileName="components/ComStar.xml" xy="389,363" group="n25_iakb"/>
-    <component id="n22_iakb" name="comStar1_1_1" src="l5nzq" fileName="components/ComStar.xml" xy="268,561" group="n25_iakb"/>
-    <component id="n23_iakb" name="comStar1_1_2" src="l5nzq" fileName="components/ComStar.xml" xy="220,778" group="n25_iakb"/>
-    <component id="n24_iakb" name="comStar1_1_3" src="l5nzq" fileName="components/ComStar.xml" xy="229,976" group="n25_iakb"/>
-    <component id="n38_o139" name="comStar1_1_4" src="l5nzq" fileName="components/ComStar.xml" xy="295,1278" group="n25_iakb"/>
-    <component id="n39_o139" name="comStar1_1_5" src="l5nzq" fileName="components/ComStar.xml" xy="414,1511" group="n25_iakb"/>
-    <component id="n40_o139" name="comStar1_1_6" src="l5nzq" fileName="components/ComStar.xml" xy="697,653" group="n25_iakb"/>
-    <component id="n41_o139" name="comStar1_1_7" src="l5nzq" fileName="components/ComStar.xml" xy="853,990" group="n25_iakb"/>
-    <component id="n50_w1qi" name="comStar1_1_8" src="l5nzq" fileName="components/ComStar.xml" xy="819,1408" group="n25_iakb"/>
-    <group id="n25_iakb" name="grpComStar1" xy="181,324" size="711,1226" advanced="true">
+    <component id="n21_iakb" name="comStar1_1_0" src="l5nzq" fileName="components/ComStar.xml" xy="420,283" group="n25_iakb"/>
+    <component id="n22_iakb" name="comStar1_1_1" src="l5nzq" fileName="components/ComStar.xml" xy="227,499" group="n25_iakb"/>
+    <component id="n23_iakb" name="comStar1_1_2" src="l5nzq" fileName="components/ComStar.xml" xy="229,848" group="n25_iakb"/>
+    <component id="n24_iakb" name="comStar1_1_3" src="l5nzq" fileName="components/ComStar.xml" xy="431,1035" group="n25_iakb"/>
+    <component id="n38_o139" name="comStar1_1_4" src="l5nzq" fileName="components/ComStar.xml" xy="186,1279" group="n25_iakb"/>
+    <component id="n39_o139" name="comStar1_1_5" src="l5nzq" fileName="components/ComStar.xml" xy="430,1471" group="n25_iakb"/>
+    <component id="n40_o139" name="comStar1_1_6" src="l5nzq" fileName="components/ComStar.xml" xy="610,644" group="n25_iakb"/>
+    <component id="n41_o139" name="comStar1_1_7" src="l5nzq" fileName="components/ComStar.xml" xy="832,903" group="n25_iakb"/>
+    <component id="n50_w1qi" name="comStar1_1_8" src="l5nzq" fileName="components/ComStar.xml" xy="779,1480" group="n25_iakb"/>
+    <group id="n25_iakb" name="grpComStar1" xy="147,244" size="724,1275" advanced="true">
       <gearDisplay controller="ctrlBuyType" pages="1"/>
       <gearDisplay controller="ctrlBuyType" pages="1"/>
       <gearDisplay2 controller="ctrlRewardsType" pages="1" condition="0"/>
       <gearDisplay2 controller="ctrlRewardsType" pages="1" condition="0"/>
       <relation target="" sidePair="left-center,top-middle"/>
       <relation target="" sidePair="left-center,top-middle"/>
     </group>
     </group>
-    <component id="n26_iakb" name="comStar1_2_0" src="l5nzq" fileName="components/ComStar.xml" xy="635,267" group="n30_iakb"/>
-    <component id="n27_iakb" name="comStar1_2_1" src="l5nzq" fileName="components/ComStar.xml" xy="343,498" group="n30_iakb"/>
-    <component id="n28_iakb" name="comStar1_2_2" src="l5nzq" fileName="components/ComStar.xml" xy="562,1709" group="n30_iakb"/>
-    <component id="n29_iakb" name="comStar1_2_3" src="l5nzq" fileName="components/ComStar.xml" xy="117,721" group="n30_iakb"/>
-    <component id="n44_o139" name="comStar1_2_4" src="l5nzq" fileName="components/ComStar.xml" xy="308,1073" group="n30_iakb"/>
-    <component id="n45_o139" name="comStar1_2_5" src="l5nzq" fileName="components/ComStar.xml" xy="368,1409" group="n30_iakb"/>
-    <component id="n46_o139" name="comStar1_2_6" src="l5nzq" fileName="components/ComStar.xml" xy="875,1411" group="n30_iakb"/>
-    <component id="n47_o139" name="comStar1_2_7" src="l5nzq" fileName="components/ComStar.xml" xy="546,898" group="n30_iakb"/>
-    <component id="n48_o139" name="comStar1_2_8" src="l5nzq" fileName="components/ComStar.xml" xy="774,754" group="n30_iakb"/>
-    <group id="n30_iakb" name="grpComStar2" xy="78,228" size="836,1520" advanced="true">
+    <component id="n26_iakb" name="comStar1_2_0" src="l5nzq" fileName="components/ComStar.xml" xy="722,318" group="n30_iakb"/>
+    <component id="n27_iakb" name="comStar1_2_1" src="l5nzq" fileName="components/ComStar.xml" xy="338,446" group="n30_iakb"/>
+    <component id="n28_iakb" name="comStar1_2_2" src="l5nzq" fileName="components/ComStar.xml" xy="625,1568" group="n30_iakb"/>
+    <component id="n29_iakb" name="comStar1_2_3" src="l5nzq" fileName="components/ComStar.xml" xy="198,708" group="n30_iakb"/>
+    <component id="n44_o139" name="comStar1_2_4" src="l5nzq" fileName="components/ComStar.xml" xy="341,1060" group="n30_iakb"/>
+    <component id="n45_o139" name="comStar1_2_5" src="l5nzq" fileName="components/ComStar.xml" xy="276,1365" group="n30_iakb"/>
+    <component id="n46_o139" name="comStar1_2_6" src="l5nzq" fileName="components/ComStar.xml" xy="819,1405" group="n30_iakb"/>
+    <component id="n47_o139" name="comStar1_2_7" src="l5nzq" fileName="components/ComStar.xml" xy="797,1132" group="n30_iakb"/>
+    <component id="n48_o139" name="comStar1_2_8" src="l5nzq" fileName="components/ComStar.xml" xy="708,665" group="n30_iakb"/>
+    <group id="n30_iakb" name="grpComStar2" xy="159,279" size="699,1328" advanced="true">
       <gearDisplay controller="ctrlBuyType" pages="1"/>
       <gearDisplay controller="ctrlBuyType" pages="1"/>
       <gearDisplay2 controller="ctrlRewardsType" pages="2" condition="0"/>
       <gearDisplay2 controller="ctrlRewardsType" pages="2" condition="0"/>
       <relation target="" sidePair="left-center,top-middle"/>
       <relation target="" sidePair="left-center,top-middle"/>

+ 7 - 4
FGUIProject/assets/LuckyBox/LuckyBoxUI.xml

@@ -4,16 +4,19 @@
     <loader id="n40_mbf1" name="loaBg" xy="540,960" pivot="0.5,0.5" anchor="true" size="1080,2400" url="ui://drx9d1uso1391h" align="center" vAlign="middle" fill="scale">
     <loader id="n40_mbf1" name="loaBg" xy="540,960" pivot="0.5,0.5" anchor="true" size="1080,2400" url="ui://drx9d1uso1391h" align="center" vAlign="middle" fill="scale">
       <relation target="" sidePair="center-center,middle-middle"/>
       <relation target="" sidePair="center-center,middle-middle"/>
     </loader>
     </loader>
-    <list id="n23_vek8" name="listBg" xy="0,0" size="1080,1920" layout="row" overflow="scroll" scroll="horizontal" scrollBarFlags="154" defaultItem="ui://drx9d1usnjmn2p">
+    <list id="n23_vek8" name="listBg" xy="0,0" size="1080,1920" layout="row" overflow="scroll" scroll="horizontal" scrollBarFlags="154" defaultItem="ui://drx9d1usduuftcr">
       <relation target="" sidePair="height-height,center-center,middle-middle"/>
       <relation target="" sidePair="height-height,center-center,middle-middle"/>
+      <item/>
+      <item/>
+      <item/>
     </list>
     </list>
     <component id="n3_fka7" name="valueBar" src="v3541v" fileName="components/ComponentValueBar.xml" pkg="eg2y0ldp" xy="0,85" group="n32_vek8">
     <component id="n3_fka7" name="valueBar" src="v3541v" fileName="components/ComponentValueBar.xml" pkg="eg2y0ldp" xy="0,85" group="n32_vek8">
       <relation target="" sidePair="right-right"/>
       <relation target="" sidePair="right-right"/>
     </component>
     </component>
     <component id="n6_fka7" name="btnBack" src="9xlo8" fileName="components/BtnBack.xml" pkg="eg2y0ldp" xy="35,80" group="n32_vek8"/>
     <component id="n6_fka7" name="btnBack" src="9xlo8" fileName="components/BtnBack.xml" pkg="eg2y0ldp" xy="35,80" group="n32_vek8"/>
-    <component id="n7_fka7" name="btnHome" src="qp4l60" fileName="components/ButtonHome.xml" pkg="eg2y0ldp" xy="35,220" group="n32_vek8"/>
+    <component id="n7_fka7" name="btnHome" src="qp4l60" fileName="components/ButtonHome.xml" pkg="eg2y0ldp" xy="35,220" group="n32_vek8" visible="false"/>
     <group id="n32_vek8" name="grpTop" xy="0,80" size="1080,230" advanced="true"/>
     <group id="n32_vek8" name="grpTop" xy="0,80" size="1080,230" advanced="true"/>
-    <component id="n33_ly9g" name="btnLeft" src="ly9g1e" fileName="components/Button13.xml" pkg="eg2y0ldp" xy="74,960" pivot="0.5,0.5" anchor="true" rotation="180"/>
-    <component id="n39_ly9g" name="btnRight" src="ly9g1e" fileName="components/Button13.xml" pkg="eg2y0ldp" xy="1000,960" pivot="0.5,0.5" anchor="true"/>
+    <component id="n33_ly9g" name="btnLeft" src="volstnf" fileName="components/BtnStyle005.xml" pkg="eg2y0ldp" xy="74,960" pivot="0.5,0.5" anchor="true" rotation="180"/>
+    <component id="n39_ly9g" name="btnRight" src="volstnf" fileName="components/BtnStyle005.xml" pkg="eg2y0ldp" xy="1000,960" pivot="0.5,0.5" anchor="true"/>
   </displayList>
   </displayList>
 </component>
 </component>

+ 1 - 7
FGUIProject/assets/LuckyBox/combox/ComBox.xml

@@ -14,15 +14,9 @@
     <group id="n66_vols" name="n66" xy="861,241" size="226,148" advanced="true">
     <group id="n66_vols" name="n66" xy="861,241" size="226,148" advanced="true">
       <relation target="" sidePair="right-right,top-top"/>
       <relation target="" sidePair="right-right,top-top"/>
     </group>
     </group>
-    <image id="n72_vols" name="imgActLuckyBox" src="volstcj" fileName="imageNews/cj_wz_jhsy.png" xy="101,376" visible="false">
+    <image id="n72_vols" name="imgActLuckyBox" src="volstcj" fileName="imageNews/cj_wz_jhsy.png" xy="101,376">
       <relation target="" sidePair="center-center,middle-middle"/>
       <relation target="" sidePair="center-center,middle-middle"/>
     </image>
     </image>
-    <image id="n68_vols" name="n68" src="qi041j" fileName="images/cj_zizi_2.png" xy="392,545" group="n71_vols"/>
-    <image id="n69_vols" name="n69" src="mzf8tac" fileName="images/cj_zizi_3.png" xy="676,700" group="n71_vols"/>
-    <text id="n70_vols" name="txtTime" xy="643,949" size="62,237" group="n71_vols" font="ui://eg2y0ldpwonotj9" fontSize="46" color="#fffbdd" align="center" vAlign="middle" autoSize="height" strokeColor="#a98538" strokeSize="2" text="剩余80天"/>
-    <group id="n71_vols" name="grpLuckyBox" xy="392,545" size="387,700" visible="false" advanced="true">
-      <relation target="" sidePair="middle-middle"/>
-    </group>
     <component id="n55_vols" name="comCostOne" src="vek812" fileName="components/ComCost.xml" xy="256,1635" pivot="0.5,0" anchor="true" group="n61_vols">
     <component id="n55_vols" name="comCostOne" src="vek812" fileName="components/ComCost.xml" xy="256,1635" pivot="0.5,0" anchor="true" group="n61_vols">
       <relation target="" sidePair="left-left"/>
       <relation target="" sidePair="left-left"/>
     </component>
     </component>

+ 52 - 0
FGUIProject/assets/LuckyBox/combox/ComBox1.xml

@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="1080,1920" overflow="hidden" designImage="ui://drx9d1usduuftcs" designImageOffsetY="-240" designImageAlpha="100">
+  <displayList>
+    <component id="n44_mbf1" name="comModel" src="mbf1tah" fileName="combox/ComModel.xml" xy="0,0">
+      <relation target="" sidePair="width-width,height-height"/>
+    </component>
+    <image id="n82_duuf" name="n82" src="duuftcn" fileName="imageNews/zx_bgzz.png" xy="0,981">
+      <relation target="" sidePair="bottom-bottom"/>
+    </image>
+    <loader id="n73_duuf" name="loaTitle" xy="72,198" pivot="0.5,0.5" size="483,175" group="n77_duuf" url="ui://drx9d1usduuftcp" autoSize="true"/>
+    <image id="n78_duuf" name="n78" src="volstcg" fileName="imageNews/zx_title_bg.png" xy="146,360" size="382,42" group="n81_duuf"/>
+    <image id="n79_duuf" name="n79" src="volstc1" fileName="imageNews/zx_title_xianding.png" xy="98,346" group="n81_duuf"/>
+    <image id="n80_duuf" name="n80" src="volstbm" fileName="imageNews/zx_title_guangdian.png" xy="153,344" group="n81_duuf"/>
+    <text id="n70_vols" name="txtTime" xy="174,361" pivot="0.5,0" size="291,39" group="n81_duuf" fontSize="28" color="#6b5da7" align="center" vAlign="middle" letterSpacing="-2" text="活动时间: 2023年10月10日"/>
+    <group id="n81_duuf" name="grpTime" xy="98,344" size="430,74" group="n77_duuf" advanced="true"/>
+    <group id="n77_duuf" name="grpTitle" xy="72,198" size="483,219" advanced="true">
+      <relation target="" sidePair="left-left,top-top"/>
+    </group>
+    <component id="n62_vols" name="btnPreview" src="duuftct" fileName="components/Button6.xml" xy="916,240" group="n66_vols">
+      <Button icon="ui://drx9d1usvek8v"/>
+    </component>
+    <image id="n64_vols" name="n64" src="volstbs" fileName="imageNews/zx_jindu_bg.png" xy="903,341" group="n66_vols"/>
+    <text id="n65_vols" name="txtOwned" xy="939,335" pivot="0.5,0" size="44,39" group="n66_vols" fontSize="28" color="#faf6e6" align="center" vars="true" text="{v1=0}/{v2=0}">
+      <relation target="n64_vols" sidePair="center-center,middle-middle"/>
+    </text>
+    <group id="n66_vols" name="n66" xy="903,240" size="116,134" advanced="true">
+      <relation target="" sidePair="right-right,top-top"/>
+    </group>
+    <component id="n55_vols" name="comCostOne" src="vek812" fileName="components/ComCost.xml" xy="300,1782" pivot="0.5,0" anchor="true" group="n61_vols">
+      <relation target="" sidePair="left-left"/>
+    </component>
+    <component id="n56_vols" name="comCostTen" src="vek812" fileName="components/ComCost.xml" xy="777,1782" pivot="0.5,0" anchor="true" group="n61_vols">
+      <relation target="" sidePair="left-left"/>
+    </component>
+    <component id="n57_vols" name="btnBuyOne" src="volstng" fileName="components/BtnStyle006.xml" pkg="eg2y0ldp" xy="140,1675" group="n61_vols">
+      <Button title="摘星一次"/>
+    </component>
+    <component id="n58_vols" name="btnBuyTen" src="volstng" fileName="components/BtnStyle006.xml" pkg="eg2y0ldp" xy="618,1675" group="n61_vols">
+      <Button title="摘星十次" icon="ui://eg2y0ldpvolstnk"/>
+    </component>
+    <image id="n59_vols" name="imgSpecial" src="volstbn" fileName="imageNews/bt_jiaobiao_bichu.png" xy="865,1623" group="n61_vols">
+      <relation target="n58_vols" sidePair="left-left,top-top"/>
+    </image>
+    <text id="n60_vols" name="txtRemainTimes" xy="539,1538" pivot="0.5,0" anchor="true" size="303,54" group="n61_vols" fontSize="40" color="#915e15" align="center" vars="true" text="今日剩余次数:{v1=0}">
+      <relation target="" sidePair="center-center"/>
+    </text>
+    <group id="n61_vols" name="n61" xy="140,1538" size="837,287" advanced="true">
+      <relation target="" sidePair="center-center,bottom-bottom"/>
+    </group>
+  </displayList>
+  <customProperty target="loaBg" propertyId="1"/>
+</component>

+ 47 - 0
FGUIProject/assets/LuckyBox/combox/ComBox_1.xml

@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="1080,1920" designImage="ui://drx9d1usdhoatab" designImageOffsetY="-240">
+  <displayList>
+    <component id="n44_mbf1" name="comModel" src="mbf1tah" fileName="combox/ComModel.xml" xy="0,0">
+      <relation target="" sidePair="width-width,height-height"/>
+    </component>
+    <component id="n32_njmn" name="btnPreview" src="ga16d" fileName="components/Button3.xml" xy="920,177" group="n36_njmn" controller="c1,0">
+      <Button icon="ui://drx9d1usvek8v"/>
+    </component>
+    <component id="n33_njmn" name="btnExchange" src="ga16d" fileName="components/Button3.xml" xy="966,177" group="n36_njmn" visible="false">
+      <Button icon="ui://drx9d1usvek8t"/>
+    </component>
+    <image id="n34_njmn" name="n34" src="fka75" fileName="images/cj_dikuangtw.png" xy="854,290" group="n36_njmn"/>
+    <text id="n35_njmn" name="txtOwned" xy="891,289" size="143,36" group="n36_njmn" fontSize="26" color="#fff7ea" align="center" vars="true" text="已拥有:{v1=0}/{v2=0}">
+      <relation target="n34_njmn" sidePair="center-center,middle-middle"/>
+    </text>
+    <group id="n36_njmn" name="n36" xy="854,177" size="226,148" advanced="true">
+      <relation target="" sidePair="right-right,top-top"/>
+    </group>
+    <graph id="n39_dhoa" name="holder" xy="280,910" size="100,100"/>
+    <graph id="n40_dhoa" name="holder1" xy="869,1097" size="100,100"/>
+    <image id="n41_dhoa" name="n41" src="qi041j" fileName="images/cj_zizi_2.png" xy="390,548" group="n42_dhoa"/>
+    <image id="n43_mzf8" name="n43" src="mzf8tac" fileName="images/cj_zizi_3.png" xy="674,703" group="n42_dhoa"/>
+    <text id="n38_dhoa" name="txtTime" xy="641,952" size="62,237" group="n42_dhoa" font="ui://eg2y0ldpwonotj9" fontSize="46" color="#fffbdd" align="center" vAlign="middle" autoSize="height" strokeColor="#a98538" strokeSize="2" text="剩余80天"/>
+    <group id="n42_dhoa" name="n42" xy="390,548" size="387,700" advanced="true">
+      <relation target="" sidePair="middle-middle"/>
+    </group>
+    <component id="n26_njmn" name="comCostOne" src="vek812" fileName="components/ComCost.xml" xy="256,1635" pivot="0.5,0" anchor="true" group="n31_njmn">
+      <relation target="" sidePair="left-left"/>
+    </component>
+    <component id="n27_njmn" name="comCostTen" src="vek812" fileName="components/ComCost.xml" xy="741,1635" pivot="0.5,0" anchor="true" group="n31_njmn">
+      <relation target="" sidePair="left-left"/>
+    </component>
+    <component id="n28_njmn" name="btnBuyOne" src="ga16b" fileName="components/Button1.xml" xy="45,1688" group="n31_njmn"/>
+    <component id="n29_njmn" name="btnBuyTen" src="ga16c" fileName="components/Button2.xml" xy="531,1688" group="n31_njmn"/>
+    <image id="n30_njmn" name="imgSpecial" src="ga16i" fileName="images/cj_anniu_ts.png" xy="873,1603" group="n31_njmn">
+      <relation target="n29_njmn" sidePair="left-left,top-top"/>
+    </image>
+    <text id="n37_njmn" name="txtRemainTimes" xy="540,1809" pivot="0.5,0" anchor="true" size="244,44" group="n31_njmn" fontSize="32" color="#fff7d4" align="center" vars="true" strokeColor="#c89c5d" text="今日剩余次数:{v1=0}">
+      <relation target="" sidePair="center-center"/>
+    </text>
+    <group id="n31_njmn" name="n31" xy="45,1603" size="989,250" advanced="true">
+      <relation target="" sidePair="center-center,bottom-bottom"/>
+    </group>
+  </displayList>
+  <customProperty target="loaBg" propertyId="1"/>
+</component>

+ 2 - 1
FGUIProject/assets/LuckyBox/combox/ComModel.xml

@@ -1,9 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
 <component size="1080,1920">
 <component size="1080,1920">
   <displayList>
   <displayList>
-    <loader id="n40_mbf1" name="loaBg" xy="540,960" pivot="0.5,0.5" anchor="true" size="1080,2400" url="ui://drx9d1useshh1f" align="center" vAlign="middle" fill="scale">
+    <loader id="n40_mbf1" name="loaBg" xy="540,960" pivot="0.5,0.5" anchor="true" size="1080,2400" align="center" vAlign="middle" fill="scaleMatchWidth">
       <relation target="" sidePair="center-center,middle-middle"/>
       <relation target="" sidePair="center-center,middle-middle"/>
     </loader>
     </loader>
+    <loader id="n43_duuf" name="loaRes" xy="354,717" pivot="0.5,0.5" anchor="true" size="50,50" align="center" vAlign="middle"/>
     <graph id="n39_dhoa" name="holder" xy="540,900" pivot="0.5,0.5" anchor="true" size="10,10">
     <graph id="n39_dhoa" name="holder" xy="540,900" pivot="0.5,0.5" anchor="true" size="10,10">
       <relation target="" sidePair="center-center,middle-middle"/>
       <relation target="" sidePair="center-center,middle-middle"/>
     </graph>
     </graph>

+ 5 - 6
FGUIProject/assets/LuckyBox/components/Button4.xml

@@ -1,10 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
-<component size="186,69" extention="Button">
-  <Button/>
-  <controller name="button" pages="0,up,1,down,2,over,3,selectedOver"/>
+<component size="100,100" extention="Button">
+  <controller name="button" pages="0,up,1,down,2,over,3,selectedOver" selected="0"/>
   <displayList>
   <displayList>
-    <image id="n0_qdrt" src="qdrt1b" name="n0" xy="0,0">
-      <relation target="" sidePair="width,height"/>
-    </image>
+    <loader id="n1_duuf" name="icon" xy="0,0" size="100,100" url="ui://drx9d1usvolstbo" autoSize="true"/>
   </displayList>
   </displayList>
+  <Button/>
+  <relation target="n1_duuf" sidePair="width-width,height-height"/>
 </component>
 </component>

+ 13 - 0
FGUIProject/assets/LuckyBox/components/Button6.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="90,90" extention="Button">
+  <controller name="button" pages="0,up,1,down,2,over,3,selectedOver" selected="0"/>
+  <displayList>
+    <image id="n0_duuf" name="n0" src="volstbh" fileName="imageNews/zx_yulan_tubiao_bg.png" xy="0,0">
+      <relation target="" sidePair="width-width,height-height"/>
+    </image>
+    <image id="n1_duuf" name="n1" src="volstbf" fileName="imageNews/zx_yulan_diaoshi.png" xy="-9,-92"/>
+    <image id="n2_duuf" name="n2" src="volstbg" fileName="imageNews/zx_yulan_tubiao.png" xy="23,17"/>
+    <image id="n3_duuf" name="n3" src="volstbi" fileName="imageNews/zx_yulan_xinggui.png" xy="-15,-6"/>
+  </displayList>
+  <Button/>
+</component>

+ 11 - 7
FGUIProject/assets/LuckyBox/components/ComCard.xml

@@ -1,12 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
 <component size="948,970">
 <component size="948,970">
   <displayList>
   <displayList>
-    <loader id="n0_qdrt" name="bg" xy="0,0" size="948,970" url="ui://drx9d1usqdrt14" autoSize="true"/>
-    <loader id="n1_qdrt" name="loaType" xy="693,211" size="54,224" url="ui://eg2y0ldpqdrt15" fill="scaleMatchWidth"/>
-    <loader id="n2_qdrt" name="loaIcon" xy="295,226" size="358,358" aspect="true" url="ui://eg2y0ldpkubi7e" fill="scaleMatchWidth"/>
-    <loader id="n3_qdrt" name="loaProperty" xy="256,234" size="60,60" aspect="true" url="ui://eg2y0ldp842s6k" fill="scaleMatchWidth"/>
-    <text id="n5_qdrt" name="txtDiscribe" xy="474,697" pivot="0.5,0" anchor="true" size="406,101" fontSize="30" color="#c2a773" autoSize="none" text="赵钱孙李周吴郑王赵钱孙李周吴郑王赵钱孙李周吴郑王赵钱孙李周吴郑王赵钱孙李周吴郑王赵钱孙李周吴郑王赵钱孙李周吴郑王赵钱孙李周吴郑王"/>
-    <graph id="n6_dcro" name="holder" xy="467,473" size="1,1" touchable="false" type="rect"/>
-    <text id="n4_qdrt" name="txtName" xy="469,72" pivot="0.5,0.5" anchor="true" size="98,64" fontSize="48" color="#feeac2" text="服装"/>
+    <graph id="n6_dcro" name="holder" xy="473,484" size="1,1" visible="false" touchable="false" type="rect"/>
+    <loader id="n2_qdrt" name="loaIcon" xy="295,257" size="424,424" aspect="true" url="ui://eg2y0ldpkubi7e" align="center" vAlign="middle" fill="scaleMatchWidth"/>
+    <text id="n5_qdrt" name="txtDiscribe" xy="473,1056" pivot="0.5,0" anchor="true" size="406,101" visible="false" fontSize="30" color="#c2a773" autoSize="none" text="赵钱孙李周吴郑王赵钱孙李周吴郑王赵钱孙李周吴郑王赵钱孙李周吴郑王赵钱孙李周吴郑王赵钱孙李周吴郑王赵钱孙李周吴郑王赵钱孙李周吴郑王"/>
+    <image id="n12_duuf" name="n12" src="volstbk" fileName="imageNews/zx_zhuangshi_diaoshi.png" xy="645,164" group="n13_duuf"/>
+    <loader id="n1_qdrt" name="loaType" xy="645,299" size="44,94" group="n13_duuf" url="ui://eg2y0ldpo9ghtll" fill="scaleMatchWidth" autoSize="true"/>
+    <loader id="n3_qdrt" name="loaProperty" xy="645,242" size="44,44" group="n13_duuf" aspect="true" url="ui://eg2y0ldp842s6k" fill="scaleMatchWidth"/>
+    <group id="n13_duuf" name="n13" xy="645,164" size="54,248"/>
+    <image id="n14_duuf" name="n14" src="volstax" fileName="imageNews/zx_wp_baseboard.png" xy="336,880" size="332,50" group="n15_duuf"/>
+    <text id="n4_qdrt" name="txtName" xy="502,905" pivot="0.5,0.5" anchor="true" size="84,54" group="n15_duuf" fontSize="40" color="#915e15" text="服装"/>
+    <group id="n15_duuf" name="n15" xy="336,878" size="332,54"/>
+    <graph id="n17_duuf" name="holder1" xy="473,484" size="1,1" visible="false" touchable="false" type="rect"/>
   </displayList>
   </displayList>
 </component>
 </component>

+ 6 - 3
FGUIProject/assets/LuckyBox/components/ComCost.xml

@@ -1,8 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
 <component size="180,43" pivot="0.5,0.5" anchor="true">
 <component size="180,43" pivot="0.5,0.5" anchor="true">
   <displayList>
   <displayList>
-    <image id="n28_vek8" name="n28" src="fka75" fileName="images/cj_dikuangtw.png" xy="17,4" size="159,34"/>
-    <text id="n14_ga16" name="txtCost" xy="106,20" pivot="0.5,0.5" anchor="true" size="101,44" fontSize="32" color="#fff7d4" align="center" vars="true" autoSize="none" text="1"/>
-    <loader id="n29_vek8" name="loaCost" xy="-3,-9" pivot="0.5,0.5" size="60,60" url="ui://eg2y0ldpq08x6" autoSize="true"/>
+    <image id="n28_vek8" name="n28" src="volstbs" fileName="imageNews/zx_jindu_bg.png" xy="-7,4" size="195,34"/>
+    <loader id="n29_vek8" name="loaCost" xy="57,3" pivot="0.5,0.5" size="35,35" group="n30_duuf" aspect="true" url="ui://eg2y0ldpq08x6" fill="scale"/>
+    <text id="n14_ga16" name="txtCost" xy="112,19" pivot="0.5,0.5" anchor="true" size="20,44" group="n30_duuf" fontSize="32" color="#faf6e6" align="center" vAlign="middle" vars="true" text="1"/>
+    <group id="n30_duuf" name="n30" xy="57,-3" size="65,44" advanced="true" layout="hz" colGap="10" excludeInvisibles="true">
+      <relation target="" sidePair="center-center"/>
+    </group>
   </displayList>
   </displayList>
 </component>
 </component>

+ 2 - 2
FGUIProject/assets/LuckyBox/components/ComHolder.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
-<component size="78,78">
+<component size="10,10">
   <displayList>
   <displayList>
-    <graph id="n5_tt1q" name="holder" xy="38,38" size="1,1"/>
+    <graph id="n5_tt1q" name="holder" xy="4,4" size="1,1"/>
   </displayList>
   </displayList>
 </component>
 </component>

+ 2 - 2
FGUIProject/assets/LuckyBox/components/ComStar.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
-<component size="78,78" pivot="0.5,0.5" anchor="true">
+<component size="10,10" pivot="0.5,0.5" anchor="true">
   <controller name="c1" pages="0,,1," selected="0"/>
   <controller name="c1" pages="0,,1," selected="0"/>
   <displayList>
   <displayList>
-    <image id="n4_l5nz" name="imgLine" src="l5nzp" fileName="images/cj_xk_xian.png" xy="36,34" pivot="0,0.5" size="10,12"/>
+    <component id="n8_t6j1" name="comLine" src="duufteb" fileName="components/ComponentLine.xml" xy="5,5" pivot="0,0.5" anchor="true" size="850,24"/>
   </displayList>
   </displayList>
 </component>
 </component>

+ 6 - 0
FGUIProject/assets/LuckyBox/components/Component3.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="850,24" overflow="hidden">
+  <displayList>
+    <image id="n1_uj53" name="bar" src="t6j1tem" fileName="imagesNew/pro_activate.png" xy="0,0"/>
+  </displayList>
+</component>

+ 9 - 0
FGUIProject/assets/LuckyBox/components/ComponentLine.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="850,24" mask="n4_duuf">
+  <displayList>
+    <graph id="n2_o9gh" name="holder" xy="1200,11" size="1,1"/>
+    <graph id="n4_duuf" name="grpMask" xy="0,0" size="850,24" type="rect">
+      <relation target="" sidePair="width-width"/>
+    </graph>
+  </displayList>
+</component>

BIN
FGUIProject/assets/LuckyBox/imageNews/dz_danxiaozj.png


BIN
FGUIProject/assets/LuckyBox/imageNews/dz_liuli.png


BIN
FGUIProject/assets/LuckyBox/imageNews/lh_scfsls.png


BIN
FGUIProject/assets/LuckyBox/imageNews/zx_bg.png


BIN
FGUIProject/assets/LuckyBox/imageNews/zx_bgzz.png


BIN
FGUIProject/assets/LuckyBox/imageNews/zx_title_1.png


BIN
FGUIProject/assets/LuckyBox/imageNews/zx_title_2.png


BIN
FGUIProject/assets/LuckyBox/imageNews/zx_title_3.png


BIN
FGUIProject/assets/LuckyBox/imageNews/zx_title_zi.png


+ 15 - 3
FGUIProject/assets/LuckyBox/package.xml

@@ -81,7 +81,7 @@
     <image id="volstau" name="zx_tx_star.png" path="/imageNews/"/>
     <image id="volstau" name="zx_tx_star.png" path="/imageNews/"/>
     <image id="volstav" name="zx_tx_yuanquan.png" path="/imageNews/"/>
     <image id="volstav" name="zx_tx_yuanquan.png" path="/imageNews/"/>
     <image id="volstaw" name="zx_tx_zhongjian.png" path="/imageNews/"/>
     <image id="volstaw" name="zx_tx_zhongjian.png" path="/imageNews/"/>
-    <image id="volstax" name="zx_wp_baseboard.png" path="/imageNews/"/>
+    <image id="volstax" name="zx_wp_baseboard.png" path="/imageNews/" scale="9grid" scale9grid="72,12,144,24"/>
     <image id="volstay" name="zx_wp_fen_bg.png" path="/imageNews/"/>
     <image id="volstay" name="zx_wp_fen_bg.png" path="/imageNews/"/>
     <image id="volstaz" name="zx_wp_fen_diguang.png" path="/imageNews/"/>
     <image id="volstaz" name="zx_wp_fen_diguang.png" path="/imageNews/"/>
     <image id="volstb0" name="zx_wp_fen_guangxiao.png" path="/imageNews/"/>
     <image id="volstb0" name="zx_wp_fen_guangxiao.png" path="/imageNews/"/>
@@ -105,7 +105,6 @@
     <image id="volstbi" name="zx_yulan_xinggui.png" path="/imageNews/"/>
     <image id="volstbi" name="zx_yulan_xinggui.png" path="/imageNews/"/>
     <image id="volstbj" name="zx_wp_jin_guangxiao.png" path="/imageNews/"/>
     <image id="volstbj" name="zx_wp_jin_guangxiao.png" path="/imageNews/"/>
     <image id="volstbk" name="zx_zhuangshi_diaoshi.png" path="/imageNews/"/>
     <image id="volstbk" name="zx_zhuangshi_diaoshi.png" path="/imageNews/"/>
-    <image id="volstbl" name="zx_title_zi.png" path="/imageNews/"/>
     <image id="volstbm" name="zx_title_guangdian.png" path="/imageNews/"/>
     <image id="volstbm" name="zx_title_guangdian.png" path="/imageNews/"/>
     <image id="volstbn" name="bt_jiaobiao_bichu.png" path="/imageNews/"/>
     <image id="volstbn" name="bt_jiaobiao_bichu.png" path="/imageNews/"/>
     <image id="volstbo" name="bt_tiaoguo.png" path="/imageNews/"/>
     <image id="volstbo" name="bt_tiaoguo.png" path="/imageNews/"/>
@@ -136,13 +135,26 @@
     <image id="volstcd" name="zx_tc_tab_xuanzhong.png" path="/imageNews/"/>
     <image id="volstcd" name="zx_tc_tab_xuanzhong.png" path="/imageNews/"/>
     <image id="volstce" name="zx_tc_taozhuang_zhuagnshi.png" path="/imageNews/"/>
     <image id="volstce" name="zx_tc_taozhuang_zhuagnshi.png" path="/imageNews/"/>
     <image id="volstcf" name="zx_tc_title_zhuangshi.png" path="/imageNews/"/>
     <image id="volstcf" name="zx_tc_title_zhuangshi.png" path="/imageNews/"/>
-    <image id="volstcg" name="zx_title_bg.png" path="/imageNews/"/>
+    <image id="volstcg" name="zx_title_bg.png" path="/imageNews/" scale="9grid" scale9grid="11,10,80,20"/>
     <image id="volstch" name="zx_lianxian_lan_shang.png" path="/imageNews/"/>
     <image id="volstch" name="zx_lianxian_lan_shang.png" path="/imageNews/"/>
     <image id="volstci" name="zx_zhuangshi_xinggui.png" path="/imageNews/"/>
     <image id="volstci" name="zx_zhuangshi_xinggui.png" path="/imageNews/"/>
     <image id="volstcj" name="cj_wz_jhsy.png" path="/imageNews/"/>
     <image id="volstcj" name="cj_wz_jhsy.png" path="/imageNews/"/>
     <image id="t6j1tck" name="cj_mrth_db.png" path="/images/"/>
     <image id="t6j1tck" name="cj_mrth_db.png" path="/images/"/>
     <image id="t6j1tcl" name="cj_zxjl_db.png" path="/images/"/>
     <image id="t6j1tcl" name="cj_zxjl_db.png" path="/images/"/>
     <image id="t6j1tcm" name="cj_zxth_db.png" path="/images/"/>
     <image id="t6j1tcm" name="cj_zxth_db.png" path="/images/"/>
+    <image id="duuftcn" name="zx_bgzz.png" path="/imageNews/"/>
+    <image id="duuftco" name="lh_scfsls.png" path="/imageNews/" exported="true"/>
+    <image id="duuftcp" name="zx_title_2.png" path="/imageNews/" exported="true"/>
+    <image id="duuftcq" name="zx_title_3.png" path="/imageNews/" exported="true"/>
+    <component id="duuftcr" name="ComBox1.xml" path="/combox/" exported="true"/>
+    <component id="duuftct" name="Button6.xml" path="/components/"/>
+    <image id="duuftcw" name="dz_liuli.png" path="/imageNews/"/>
+    <image id="duuftcx" name="dz_danxiaozj.png" path="/imageNews/"/>
+    <component id="duuftcy" name="ComBox_1.xml" path="/combox/"/>
+    <component id="duufteb" name="ComponentLine.xml" path="/components/"/>
+    <component id="duuftec" name="Component3.xml" path="/components/"/>
+    <image id="duuftf0" name="zx_title_1.png" path="/imageNews/" exported="true"/>
+    <image id="duuftf2" name="zx_bg.png" path="/imageNews/" atlas="alone_npot"/>
   </resources>
   </resources>
   <publish name="" path="../GameClient/Assets/ResIn/UI/LuckyBox" packageCount="2" genCode="true" extractAlpha="true"/>
   <publish name="" path="../GameClient/Assets/ResIn/UI/LuckyBox" packageCount="2" genCode="true" extractAlpha="true"/>
 </packageDescription>
 </packageDescription>

+ 4 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComIcon001.cs.meta

@@ -1,5 +1,9 @@
 fileFormatVersion: 2
 fileFormatVersion: 2
+<<<<<<< HEAD:GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComIcon000.cs.meta
+guid: baea59a7a552059409d451a9a60dd358
+=======
 guid: 4ad5e828cb8d0004488ba34ffb26c6e0
 guid: 4ad5e828cb8d0004488ba34ffb26c6e0
+>>>>>>> remotes/origin/master:GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComIcon001.cs.meta
 MonoImporter:
 MonoImporter:
   externalObjects: {}
   externalObjects: {}
   serializedVersion: 2
   serializedVersion: 2

+ 19 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComIcon001.cs.meta~merged

@@ -0,0 +1,19 @@
+fileFormatVersion: 2
+<<<<<<< HEAD
+guid: 4ad5e828cb8d0004488ba34ffb26c6e0
+=======
+<<<<<<< HEAD:GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComIcon000.cs.meta
+guid: 6ab0ba8a5e22ea948a6f5e2dbe615dd4
+=======
+guid: 4ad5e828cb8d0004488ba34ffb26c6e0
+>>>>>>> remotes/origin/master:GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComIcon001.cs.meta
+>>>>>>> remotes/origin/master
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 7 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComIcon001.cs.meta~merged.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: a1d707ae18079c3408a724bfe45e437e
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 4 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComIcon002.cs.meta

@@ -1,5 +1,9 @@
 fileFormatVersion: 2
 fileFormatVersion: 2
+<<<<<<< HEAD:GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComIcon001.cs.meta
+guid: 4ad5e828cb8d0004488ba34ffb26c6e0
+=======
 guid: 8aa459e7d8832484abfa8f7737db7902
 guid: 8aa459e7d8832484abfa8f7737db7902
+>>>>>>> remotes/origin/master:GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComIcon002.cs.meta
 MonoImporter:
 MonoImporter:
   externalObjects: {}
   externalObjects: {}
   serializedVersion: 2
   serializedVersion: 2

+ 0 - 6
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComBox.cs

@@ -11,8 +11,6 @@ namespace UI.LuckyBox
         public UI_Button3 m_btnPreview;
         public UI_Button3 m_btnPreview;
         public GTextField m_txtOwned;
         public GTextField m_txtOwned;
         public GImage m_imgActLuckyBox;
         public GImage m_imgActLuckyBox;
-        public GTextField m_txtTime;
-        public GGroup m_grpLuckyBox;
         public UI_ComCost m_comCostOne;
         public UI_ComCost m_comCostOne;
         public UI_ComCost m_comCostTen;
         public UI_ComCost m_comCostTen;
         public UI_Button1 m_btnBuyOne;
         public UI_Button1 m_btnBuyOne;
@@ -70,8 +68,6 @@ namespace UI.LuckyBox
             m_btnPreview = (UI_Button3)UI_Button3.Create(comp.GetChild("btnPreview"));
             m_btnPreview = (UI_Button3)UI_Button3.Create(comp.GetChild("btnPreview"));
             m_txtOwned = (GTextField)comp.GetChild("txtOwned");
             m_txtOwned = (GTextField)comp.GetChild("txtOwned");
             m_imgActLuckyBox = (GImage)comp.GetChild("imgActLuckyBox");
             m_imgActLuckyBox = (GImage)comp.GetChild("imgActLuckyBox");
-            m_txtTime = (GTextField)comp.GetChild("txtTime");
-            m_grpLuckyBox = (GGroup)comp.GetChild("grpLuckyBox");
             m_comCostOne = (UI_ComCost)UI_ComCost.Create(comp.GetChild("comCostOne"));
             m_comCostOne = (UI_ComCost)UI_ComCost.Create(comp.GetChild("comCostOne"));
             m_comCostTen = (UI_ComCost)UI_ComCost.Create(comp.GetChild("comCostTen"));
             m_comCostTen = (UI_ComCost)UI_ComCost.Create(comp.GetChild("comCostTen"));
             m_btnBuyOne = (UI_Button1)UI_Button1.Create(comp.GetChild("btnBuyOne"));
             m_btnBuyOne = (UI_Button1)UI_Button1.Create(comp.GetChild("btnBuyOne"));
@@ -87,8 +83,6 @@ namespace UI.LuckyBox
             m_btnPreview = null;
             m_btnPreview = null;
             m_txtOwned = null;
             m_txtOwned = null;
             m_imgActLuckyBox = null;
             m_imgActLuckyBox = null;
-            m_txtTime = null;
-            m_grpLuckyBox = null;
             m_comCostOne.Dispose();
             m_comCostOne.Dispose();
             m_comCostOne = null;
             m_comCostOne = null;
             m_comCostTen.Dispose();
             m_comCostTen.Dispose();

+ 110 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComBox1.cs

@@ -0,0 +1,110 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.LuckyBox
+{
+    public partial class UI_ComBox1
+    {
+        public GComponent target;
+        public UI_ComModel m_comModel;
+        public GLoader m_loaTitle;
+        public GTextField m_txtTime;
+        public GGroup m_grpTime;
+        public GGroup m_grpTitle;
+        public GButton m_btnPreview;
+        public GTextField m_txtOwned;
+        public UI_ComCost m_comCostOne;
+        public UI_ComCost m_comCostTen;
+        public GButton m_btnBuyOne;
+        public GButton m_btnBuyTen;
+        public GImage m_imgSpecial;
+        public GTextField m_txtRemainTimes;
+        public const string URL = "ui://drx9d1usduuftcr";
+        public const string PACKAGE_NAME = "LuckyBox";
+        public const string RES_NAME = "ComBox1";
+        private static UI_ComBox1 _proxy;
+
+        public static UI_ComBox1 Create(GObject gObject = null)
+        {
+            var ui = new UI_ComBox1();
+            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_ComBox1 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ComBox1();
+            }
+            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_comModel = (UI_ComModel)UI_ComModel.Create(comp.GetChild("comModel"));
+            m_loaTitle = (GLoader)comp.GetChild("loaTitle");
+            m_txtTime = (GTextField)comp.GetChild("txtTime");
+            m_grpTime = (GGroup)comp.GetChild("grpTime");
+            m_grpTitle = (GGroup)comp.GetChild("grpTitle");
+            m_btnPreview = (GButton)comp.GetChild("btnPreview");
+            m_txtOwned = (GTextField)comp.GetChild("txtOwned");
+            m_comCostOne = (UI_ComCost)UI_ComCost.Create(comp.GetChild("comCostOne"));
+            m_comCostTen = (UI_ComCost)UI_ComCost.Create(comp.GetChild("comCostTen"));
+            m_btnBuyOne = (GButton)comp.GetChild("btnBuyOne");
+            m_btnBuyTen = (GButton)comp.GetChild("btnBuyTen");
+            m_imgSpecial = (GImage)comp.GetChild("imgSpecial");
+            m_txtRemainTimes = (GTextField)comp.GetChild("txtRemainTimes");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_comModel.Dispose();
+            m_comModel = null;
+            m_loaTitle = null;
+            m_txtTime = null;
+            m_grpTime = null;
+            m_grpTitle = null;
+            m_btnPreview = null;
+            m_txtOwned = null;
+            m_comCostOne.Dispose();
+            m_comCostOne = null;
+            m_comCostTen.Dispose();
+            m_comCostTen = null;
+            m_btnBuyOne = null;
+            m_btnBuyTen = null;
+            m_imgSpecial = null;
+            m_txtRemainTimes = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComBox1.cs.meta

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

+ 12 - 12
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComCard.cs

@@ -7,13 +7,13 @@ namespace UI.LuckyBox
     public partial class UI_ComCard
     public partial class UI_ComCard
     {
     {
         public GComponent target;
         public GComponent target;
-        public GLoader m_bg;
-        public GLoader m_loaType;
+        public GGraph m_holder;
         public GLoader m_loaIcon;
         public GLoader m_loaIcon;
-        public GLoader m_loaProperty;
         public GTextField m_txtDiscribe;
         public GTextField m_txtDiscribe;
-        public GGraph m_holder;
+        public GLoader m_loaType;
+        public GLoader m_loaProperty;
         public GTextField m_txtName;
         public GTextField m_txtName;
+        public GGraph m_holder1;
         public const string URL = "ui://drx9d1usqdrt1a";
         public const string URL = "ui://drx9d1usqdrt1a";
         public const string PACKAGE_NAME = "LuckyBox";
         public const string PACKAGE_NAME = "LuckyBox";
         public const string RES_NAME = "ComCard";
         public const string RES_NAME = "ComCard";
@@ -61,23 +61,23 @@ namespace UI.LuckyBox
 
 
         private void Init(GComponent comp)
         private void Init(GComponent comp)
         {
         {
-            m_bg = (GLoader)comp.GetChild("bg");
-            m_loaType = (GLoader)comp.GetChild("loaType");
+            m_holder = (GGraph)comp.GetChild("holder");
             m_loaIcon = (GLoader)comp.GetChild("loaIcon");
             m_loaIcon = (GLoader)comp.GetChild("loaIcon");
-            m_loaProperty = (GLoader)comp.GetChild("loaProperty");
             m_txtDiscribe = (GTextField)comp.GetChild("txtDiscribe");
             m_txtDiscribe = (GTextField)comp.GetChild("txtDiscribe");
-            m_holder = (GGraph)comp.GetChild("holder");
+            m_loaType = (GLoader)comp.GetChild("loaType");
+            m_loaProperty = (GLoader)comp.GetChild("loaProperty");
             m_txtName = (GTextField)comp.GetChild("txtName");
             m_txtName = (GTextField)comp.GetChild("txtName");
+            m_holder1 = (GGraph)comp.GetChild("holder1");
         }
         }
         public void Dispose(bool disposeTarget = false)
         public void Dispose(bool disposeTarget = false)
         {
         {
-            m_bg = null;
-            m_loaType = null;
+            m_holder = null;
             m_loaIcon = null;
             m_loaIcon = null;
-            m_loaProperty = null;
             m_txtDiscribe = null;
             m_txtDiscribe = null;
-            m_holder = null;
+            m_loaType = null;
+            m_loaProperty = null;
             m_txtName = null;
             m_txtName = null;
+            m_holder1 = null;
             if(disposeTarget && target != null)
             if(disposeTarget && target != null)
             {
             {
                 target.RemoveFromParent();
                 target.RemoveFromParent();

+ 3 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComCost.cs

@@ -7,8 +7,8 @@ namespace UI.LuckyBox
     public partial class UI_ComCost
     public partial class UI_ComCost
     {
     {
         public GComponent target;
         public GComponent target;
-        public GTextField m_txtCost;
         public GLoader m_loaCost;
         public GLoader m_loaCost;
+        public GTextField m_txtCost;
         public const string URL = "ui://drx9d1usvek812";
         public const string URL = "ui://drx9d1usvek812";
         public const string PACKAGE_NAME = "LuckyBox";
         public const string PACKAGE_NAME = "LuckyBox";
         public const string RES_NAME = "ComCost";
         public const string RES_NAME = "ComCost";
@@ -56,13 +56,13 @@ namespace UI.LuckyBox
 
 
         private void Init(GComponent comp)
         private void Init(GComponent comp)
         {
         {
-            m_txtCost = (GTextField)comp.GetChild("txtCost");
             m_loaCost = (GLoader)comp.GetChild("loaCost");
             m_loaCost = (GLoader)comp.GetChild("loaCost");
+            m_txtCost = (GTextField)comp.GetChild("txtCost");
         }
         }
         public void Dispose(bool disposeTarget = false)
         public void Dispose(bool disposeTarget = false)
         {
         {
-            m_txtCost = null;
             m_loaCost = null;
             m_loaCost = null;
+            m_txtCost = null;
             if(disposeTarget && target != null)
             if(disposeTarget && target != null)
             {
             {
                 target.RemoveFromParent();
                 target.RemoveFromParent();

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComModel.cs

@@ -8,6 +8,7 @@ namespace UI.LuckyBox
     {
     {
         public GComponent target;
         public GComponent target;
         public GLoader m_loaBg;
         public GLoader m_loaBg;
+        public GLoader m_loaRes;
         public GGraph m_holder;
         public GGraph m_holder;
         public const string URL = "ui://drx9d1usmbf1tah";
         public const string URL = "ui://drx9d1usmbf1tah";
         public const string PACKAGE_NAME = "LuckyBox";
         public const string PACKAGE_NAME = "LuckyBox";
@@ -57,11 +58,13 @@ namespace UI.LuckyBox
         private void Init(GComponent comp)
         private void Init(GComponent comp)
         {
         {
             m_loaBg = (GLoader)comp.GetChild("loaBg");
             m_loaBg = (GLoader)comp.GetChild("loaBg");
+            m_loaRes = (GLoader)comp.GetChild("loaRes");
             m_holder = (GGraph)comp.GetChild("holder");
             m_holder = (GGraph)comp.GetChild("holder");
         }
         }
         public void Dispose(bool disposeTarget = false)
         public void Dispose(bool disposeTarget = false)
         {
         {
             m_loaBg = null;
             m_loaBg = null;
+            m_loaRes = null;
             m_holder = null;
             m_holder = null;
             if(disposeTarget && target != null)
             if(disposeTarget && target != null)
             {
             {

+ 4 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComStar.cs

@@ -8,7 +8,7 @@ namespace UI.LuckyBox
     {
     {
         public GComponent target;
         public GComponent target;
         public Controller m_c1;
         public Controller m_c1;
-        public GImage m_imgLine;
+        public UI_ComponentLine m_comLine;
         public const string URL = "ui://drx9d1usl5nzq";
         public const string URL = "ui://drx9d1usl5nzq";
         public const string PACKAGE_NAME = "LuckyBox";
         public const string PACKAGE_NAME = "LuckyBox";
         public const string RES_NAME = "ComStar";
         public const string RES_NAME = "ComStar";
@@ -57,12 +57,13 @@ namespace UI.LuckyBox
         private void Init(GComponent comp)
         private void Init(GComponent comp)
         {
         {
             m_c1 = comp.GetController("c1");
             m_c1 = comp.GetController("c1");
-            m_imgLine = (GImage)comp.GetChild("imgLine");
+            m_comLine = (UI_ComponentLine)UI_ComponentLine.Create(comp.GetChild("comLine"));
         }
         }
         public void Dispose(bool disposeTarget = false)
         public void Dispose(bool disposeTarget = false)
         {
         {
             m_c1 = null;
             m_c1 = null;
-            m_imgLine = null;
+            m_comLine.Dispose();
+            m_comLine = null;
             if(disposeTarget && target != null)
             if(disposeTarget && target != null)
             {
             {
                 target.RemoveFromParent();
                 target.RemoveFromParent();

+ 74 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComponentLine.cs

@@ -0,0 +1,74 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.LuckyBox
+{
+    public partial class UI_ComponentLine
+    {
+        public GComponent target;
+        public GGraph m_holder;
+        public GGraph m_grpMask;
+        public const string URL = "ui://drx9d1usduufteb";
+        public const string PACKAGE_NAME = "LuckyBox";
+        public const string RES_NAME = "ComponentLine";
+        private static UI_ComponentLine _proxy;
+
+        public static UI_ComponentLine Create(GObject gObject = null)
+        {
+            var ui = new UI_ComponentLine();
+            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_ComponentLine Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ComponentLine();
+            }
+            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_holder = (GGraph)comp.GetChild("holder");
+            m_grpMask = (GGraph)comp.GetChild("grpMask");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_holder = null;
+            m_grpMask = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComponentLine.cs.meta

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

+ 3 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_LuckyBoxNewDressUI.cs

@@ -7,7 +7,7 @@ namespace UI.LuckyBox
     public partial class UI_LuckyBoxNewDressUI
     public partial class UI_LuckyBoxNewDressUI
     {
     {
         public GComponent target;
         public GComponent target;
-        public GGraph m_bg;
+        public GLoader m_loaBg;
         public UI_ComCard m_comCard;
         public UI_ComCard m_comCard;
         public GButton m_btnPass;
         public GButton m_btnPass;
         public Transition m_t_open;
         public Transition m_t_open;
@@ -59,7 +59,7 @@ namespace UI.LuckyBox
 
 
         private void Init(GComponent comp)
         private void Init(GComponent comp)
         {
         {
-            m_bg = (GGraph)comp.GetChild("bg");
+            m_loaBg = (GLoader)comp.GetChild("loaBg");
             m_comCard = (UI_ComCard)UI_ComCard.Create(comp.GetChild("comCard"));
             m_comCard = (UI_ComCard)UI_ComCard.Create(comp.GetChild("comCard"));
             m_btnPass = (GButton)comp.GetChild("btnPass");
             m_btnPass = (GButton)comp.GetChild("btnPass");
             m_t_open = comp.GetTransition("t_open");
             m_t_open = comp.GetTransition("t_open");
@@ -67,7 +67,7 @@ namespace UI.LuckyBox
         }
         }
         public void Dispose(bool disposeTarget = false)
         public void Dispose(bool disposeTarget = false)
         {
         {
-            m_bg = null;
+            m_loaBg = null;
             m_comCard.Dispose();
             m_comCard.Dispose();
             m_comCard = null;
             m_comCard = null;
             m_btnPass = null;
             m_btnPass = null;

+ 42 - 38
GameClient/Assets/Game/HotUpdate/Views/Common/Controller/LuckyBoxController.cs

@@ -29,67 +29,70 @@ namespace GFGGame
             _comModel = UI_ComModel.Proxy(_com);
             _comModel = UI_ComModel.Proxy(_com);
             _curTime = _turnTime;
             _curTime = _turnTime;
             _luckyBoxCfg = LuckyBoxCfgArray.Instance.GetCfg(luckyBoxId);
             _luckyBoxCfg = LuckyBoxCfgArray.Instance.GetCfg(luckyBoxId);
-            _comModel.m_loaBg.url = ResPathUtil.GetBgImgPath(_luckyBoxCfg.resArr[_bgIndex]);
-            if (_luckyBoxCfg.suitShowArr.Length > 0)
+            ChangeRes();
+            Timers.inst.Add(_turnTime, 0, UpdateTime);
+        }
+
+        private void UpdateTime(object param)
+        {
+
+            _bgIndex = _bgIndex + 1 == _luckyBoxCfg.bgResArr.Length ? 0 : _bgIndex + 1;
+            if (_luckyBoxCfg.resArr.Length > 0)
             {
             {
-                int scale = 100;
-                int direction = 1;
-                if (_luckyBoxCfg.scaleArr.Length > 0)
-                {
-                    scale = Math.Abs(_luckyBoxCfg.scaleArr[_modelIndex]);
-                    direction = _luckyBoxCfg.scaleArr[_modelIndex] >= 0 ? 1 : -1;
-                }
-                _dressUpObjUI.ResetSceneObj(scale, false, false, null, false);
-                _dressUpObjUI.dressUpObj.PutOnSuitCfg(_luckyBoxCfg.suitShowArr[_modelIndex][0], true, new int[] { ConstDressUpItemType.BEI_JING }, false, false);
-                _dressUpObjUI.UpdateWrapper(_comModel.m_holder);
-                _dressUpObjUI.sceneObject.transform.localPosition = new Vector3(_luckyBoxCfg.suitShowArr[_modelIndex][1], _luckyBoxCfg.suitShowArr[_modelIndex][2], 0);
-                _dressUpObjUI.sceneObject.transform.localScale = new Vector3(direction * scale, scale, scale);
+                _modelIndex = _modelIndex + 1 == _luckyBoxCfg.resArr.Length ? 0 : _modelIndex + 1;
             }
             }
-            if (_luckyBoxCfg.resArr.Length > 1 || _luckyBoxCfg.suitShowArr.Length > 1)
+            else
             {
             {
-                Timers.inst.Remove(UpdateTime);
-                Timers.inst.Add(_turnTime, 0, UpdateTime);
+                _modelIndex = _modelIndex + 1 == _luckyBoxCfg.suitIdArr.Length ? 0 : _modelIndex + 1;
             }
             }
+            ChangeRes();
         }
         }
 
 
-        private void UpdateTime(object param)
+        private void ChangeRes()
         {
         {
-            // _curTime = _curTime - 1 == 0 ? _turnTime : _curTime - 1;
 
 
-            // if (_curTime == _turnTime)
-            // {
-            _bgIndex = _bgIndex + 1 == _luckyBoxCfg.resArr.Length ? 0 : _bgIndex + 1;
-            _modelIndex = _modelIndex + 1 == _luckyBoxCfg.suitShowArr.Length ? 0 : _modelIndex + 1;
-            if (_luckyBoxCfg.resArr.Length > 1)
+            _comModel.m_loaBg.url = ResPathUtil.GetBgImgPath(_luckyBoxCfg.bgResArr[_bgIndex]);
+            if (_luckyBoxCfg.resArr.Length > 0)
             {
             {
-                _comModel.m_loaBg.url = ResPathUtil.GetBgImgPath(_luckyBoxCfg.resArr[_bgIndex]);
-
+                _comModel.m_loaRes.url = string.Format("ui://LuckyBox/{0}", _luckyBoxCfg.resArr[_modelIndex]);
+                _comModel.m_loaRes.SetPosition(_luckyBoxCfg.posArr[_modelIndex][0], _luckyBoxCfg.posArr[_modelIndex][1], 1);
             }
             }
-            if (_luckyBoxCfg.suitShowArr.Length > 0)
+            else if (_luckyBoxCfg.suitIdArr.Length > 0)
             {
             {
-                int scale = 100;
                 int direction = 1;
                 int direction = 1;
                 if (_luckyBoxCfg.scaleArr.Length > 0)
                 if (_luckyBoxCfg.scaleArr.Length > 0)
                 {
                 {
-                    scale = Math.Abs(_luckyBoxCfg.scaleArr[_modelIndex]);
                     direction = _luckyBoxCfg.scaleArr[_modelIndex] >= 0 ? 1 : -1;
                     direction = _luckyBoxCfg.scaleArr[_modelIndex] >= 0 ? 1 : -1;
                 }
                 }
-                _dressUpObjUI.ResetSceneObj(scale, false, false, null, false);
-                _dressUpObjUI.dressUpObj.PutOnSuitCfg(_luckyBoxCfg.suitShowArr[_modelIndex][0], true, new int[] { ConstDressUpItemType.BEI_JING }, false, false);
-                _dressUpObjUI.UpdateWrapper(_comModel.m_holder);
-                _dressUpObjUI.sceneObject.transform.localPosition = new Vector3(_luckyBoxCfg.suitShowArr[_modelIndex][1], _luckyBoxCfg.suitShowArr[_modelIndex][2], 0);
-                _dressUpObjUI.sceneObject.transform.localScale = new Vector3(direction * scale, scale, scale);
+                if (_luckyBoxCfg.isAni == 0)
+                {
+                    SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(_luckyBoxCfg.suitIdArr[_modelIndex]);
+                    _comModel.m_loaRes.url = ResPathUtil.GetDressUpPath(suitCfg.picRes);
+
+                    float scale = _luckyBoxCfg.scaleArr.Length > 0 ? Math.Abs(_luckyBoxCfg.scaleArr[_modelIndex]) / 10000f : 1;
+                    _comModel.m_loaRes.SetScale(direction * scale, scale);
+                    _comModel.m_loaRes.SetPosition(_luckyBoxCfg.posArr[_modelIndex][0], _luckyBoxCfg.posArr[_modelIndex][1], 1);
+                }
+                else
+                {
+                    _comModel.m_loaRes.url = "";
+
+                    int scale = _luckyBoxCfg.scaleArr.Length > 0 ? Math.Abs(_luckyBoxCfg.scaleArr[_modelIndex]) / 10000 : 100;
+                    _dressUpObjUI.ResetSceneObj(scale, false, false, null, false);
+                    _dressUpObjUI.dressUpObj.PutOnSuitCfg(_luckyBoxCfg.suitIdArr[_modelIndex], true, new int[] { ConstDressUpItemType.BEI_JING }, false, false);
+                    _dressUpObjUI.UpdateWrapper(_comModel.m_holder);
+                    _dressUpObjUI.sceneObject.transform.localScale = new Vector3(direction * scale, scale, scale);
+                    _comModel.m_holder.SetPosition(_luckyBoxCfg.posArr[_modelIndex][0], _luckyBoxCfg.posArr[_modelIndex][1], 1);
+                }
             }
             }
-            // }
         }
         }
-
         public void OnHide()
         public void OnHide()
         {
         {
-            UI_ComModel.ProxyEnd();
-            Timers.inst.Remove(UpdateTime);
             _bgIndex = 0;
             _bgIndex = 0;
             _modelIndex = 0;
             _modelIndex = 0;
             _dressUpObjUI.ResetSceneObj(0, false, false, null, false);
             _dressUpObjUI.ResetSceneObj(0, false, false, null, false);
+            _comModel.m_loaRes.url = "";
+            Timers.inst.Remove(UpdateTime);
         }
         }
 
 
         public void Dispose()
         public void Dispose()
@@ -99,6 +102,7 @@ namespace GFGGame
                 _dressUpObjUI.Dispose();
                 _dressUpObjUI.Dispose();
                 _dressUpObjUI = null;
                 _dressUpObjUI = null;
             }
             }
+            UI_ComModel.ProxyEnd();
         }
         }
     }
     }
 }
 }

+ 2 - 4
GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxActivityView.cs

@@ -101,11 +101,11 @@ namespace GFGGame
         private void UpdateView()
         private void UpdateView()
         {
         {
             _ui.m_txtCount.SetVar("value", ActivityDataManager.Instance.lastDrawCount.ToString()).FlushVars();
             _ui.m_txtCount.SetVar("value", ActivityDataManager.Instance.lastDrawCount.ToString()).FlushVars();
-            _ui.m_txtCount.SetVar("name", _activityCfg.themeName).FlushVars();
+            _ui.m_txtCount.SetVar("name", _luckyBoxCfg.name).FlushVars();
             UI_ComBox comBox = UI_ComBox.Proxy(_ui.m_comBox.target);
             UI_ComBox comBox = UI_ComBox.Proxy(_ui.m_comBox.target);
 
 
             LuckyBoxDataManager.Instance.InitData(_luckyBoxCfg.id);
             LuckyBoxDataManager.Instance.InitData(_luckyBoxCfg.id);
-            comBox.m_comModel.m_loaBg.url = ResPathUtil.GetBgImgPath(_luckyBoxCfg.resArr[0]);
+            // comBox.m_comModel.m_loaBg.url = ResPathUtil.GetBgImgPath(_luckyBoxCfg.resArr[0]);
             comBox.m_btnPreview.m_c1.selectedIndex = 1;
             comBox.m_btnPreview.m_c1.selectedIndex = 1;
             LuckyBoxDataManager.Instance.GetOwnedCount(_luckyBoxCfg.id, out int count, out int totalCount);
             LuckyBoxDataManager.Instance.GetOwnedCount(_luckyBoxCfg.id, out int count, out int totalCount);
             comBox.m_txtOwned.SetVar("v1", "" + count).FlushVars();
             comBox.m_txtOwned.SetVar("v1", "" + count).FlushVars();
@@ -129,8 +129,6 @@ namespace GFGGame
                 comBox.m_btnBuyTen.target.onClick.Add(OnClickBtnBuyTen);
                 comBox.m_btnBuyTen.target.onClick.Add(OnClickBtnBuyTen);
             }
             }
             comBox.m_btnBuyTen.target.data = _luckyBoxCfg.id;
             comBox.m_btnBuyTen.target.data = _luckyBoxCfg.id;
-            comBox.m_imgActLuckyBox.visible = true;
-            comBox.m_grpLuckyBox.visible = false;
             if (comBox.m_btnPreview.target.data == null)
             if (comBox.m_btnPreview.target.data == null)
             {
             {
                 comBox.m_btnPreview.target.onClick.Add(OnClickBtnPreview);
                 comBox.m_btnPreview.target.onClick.Add(OnClickBtnPreview);

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxBonusView.cs

@@ -52,7 +52,7 @@ namespace GFGGame
 
 
             InitAllItem();
             InitAllItem();
             _ui.m_loaBg.onClick.Add(OnClickBg);
             _ui.m_loaBg.onClick.Add(OnClickBg);
-            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("bj_ckzxin");
+            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("zx_bg");
             _ui.m_btnPass.onClick.Add(OnBtnPassClick);
             _ui.m_btnPass.onClick.Add(OnBtnPassClick);
 
 
         }
         }

+ 41 - 7
GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxNewDressView.cs

@@ -20,10 +20,16 @@ namespace GFGGame
 
 
         private GameObject gameObject;
         private GameObject gameObject;
         private GoWrapper wrapper;
         private GoWrapper wrapper;
+        private GameObject gameObject1;
+        private GoWrapper wrapper1;
+        private GameObject gameObject2;
+        private GoWrapper wrapper2;
         public override void Dispose()
         public override void Dispose()
         {
         {
             base.Dispose();
             base.Dispose();
             SceneController.DestroyObjectFromView(gameObject, wrapper);
             SceneController.DestroyObjectFromView(gameObject, wrapper);
+            SceneController.DestroyObjectFromView(gameObject1, wrapper1);
+            SceneController.DestroyObjectFromView(gameObject2, wrapper2);
             if (_ui != null)
             if (_ui != null)
             {
             {
                 _ui.Dispose();
                 _ui.Dispose();
@@ -42,9 +48,9 @@ namespace GFGGame
             this.modal = true;
             this.modal = true;
 
 
 
 
-            _ui.m_bg.onTouchBegin.Add(OnClickBg);
+            _ui.m_loaBg.onTouchBegin.Add(OnClickBg);
             _ui.m_btnPass.onClick.Add(OnClickBtnPass);
             _ui.m_btnPass.onClick.Add(OnClickBtnPass);
-
+            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("zx_bg");
 
 
             string resPath = ResPathUtil.GetViewEffectPath("ui_ck", "ui_ck_zs");
             string resPath = ResPathUtil.GetViewEffectPath("ui_ck", "ui_ck_zs");
             SceneController.AddObjectToView(gameObject, null, _ui.m_comCard.m_holder, resPath, out gameObject, out wrapper);
             SceneController.AddObjectToView(gameObject, null, _ui.m_comCard.m_holder, resPath, out gameObject, out wrapper);
@@ -95,16 +101,43 @@ namespace GFGGame
             if (_rewardList.Count - 1 < 0) return;
             if (_rewardList.Count - 1 < 0) return;
             ItemData itemdata = _rewardList[_rewardList.Count - 1];
             ItemData itemdata = _rewardList[_rewardList.Count - 1];
             ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemdata.id);
             ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemdata.id);
+            string resPath = "";
+            string resPath1 = "";
+            // switch (itemCfg.rarity)
+            // {
+            //     case ConstDressRarity.Rarity_TIANYI:
+            //         resPath = ResPathUtil.GetViewEffectPath("ui_LuckyBox", "CK_Yellow_01");
+            //         SceneController.AddObjectToView(gameObject1, wrapper1, _ui.m_comCard.m_holder, resPath, out gameObject1, out wrapper1);
+            //         _ui.m_comCard.m_holder.visible = true;
+            //         resPath1 = ResPathUtil.GetViewEffectPath("ui_LuckyBox", "CK_Yellow_01_top");
+            //         SceneController.AddObjectToView(gameObject2, wrapper2, _ui.m_comCard.m_holder1, resPath1, out gameObject2, out wrapper2);
+            //         _ui.m_comCard.m_holder1.visible = true;
+            //         break;
+            //     case ConstDressRarity.Rarity_DIANCANG:
+            //         resPath = ResPathUtil.GetViewEffectPath("ui_LuckyBox", "CK_Purple_02");
+            //         SceneController.AddObjectToView(gameObject1, wrapper1, _ui.m_comCard.m_holder, resPath, out gameObject1, out wrapper1);
+            //         _ui.m_comCard.m_holder.visible = true;
+            //         resPath1 = ResPathUtil.GetViewEffectPath("ui_LuckyBox", "CK_Purple_02_top");
+            //         SceneController.AddObjectToView(gameObject2, wrapper2, _ui.m_comCard.m_holder1, resPath1, out gameObject2, out wrapper2);
+            //         _ui.m_comCard.m_holder1.visible = true;
+            //         break;
+            //     case ConstDressRarity.Rarity_ZHENXI:
+            //         resPath = ResPathUtil.GetViewEffectPath("ui_LuckyBox", "CK_Bule_03");
+            //         SceneController.AddObjectToView(gameObject1, wrapper1, _ui.m_comCard.m_holder, resPath, out gameObject1, out wrapper1);
+            //         _ui.m_comCard.m_holder.visible = true;
+            //         break;
+            //     case ConstDressRarity.Rarity_FANPIN:
+            //         resPath = ResPathUtil.GetViewEffectPath("ui_LuckyBox", "CK_grey_04");
+            //         SceneController.AddObjectToView(gameObject1, wrapper1, _ui.m_comCard.m_holder, resPath, out gameObject1, out wrapper1);
+            //         _ui.m_comCard.m_holder.visible = true;
+            //         break;
+            // }
+
             _ui.m_comCard.m_loaType.url = ResPathUtil.GetCommonGameResPath("hd_sxicon_" + itemCfg.rarity);
             _ui.m_comCard.m_loaType.url = ResPathUtil.GetCommonGameResPath("hd_sxicon_" + itemCfg.rarity);
             _ui.m_comCard.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg);
             _ui.m_comCard.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg);
-            // int mainScore = 0;
-            // int mainScoreValue = 0;
-            // ItemDataManager.GetMainScore(itemdata.id, out mainScore, out mainScoreValue);
             _ui.m_comCard.m_loaProperty.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + itemCfg.mainScore);
             _ui.m_comCard.m_loaProperty.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + itemCfg.mainScore);
-
             _ui.m_comCard.m_txtName.text = itemCfg.name;
             _ui.m_comCard.m_txtName.text = itemCfg.name;
             _ui.m_comCard.m_txtDiscribe.text = itemCfg.desc;
             _ui.m_comCard.m_txtDiscribe.text = itemCfg.desc;
-            _ui.m_comCard.m_holder.visible = true;
 
 
             if (LuckyBoxDataManager.Instance.FirstRewardList.ContainsKey(_rewardList.Count - 1) == true)
             if (LuckyBoxDataManager.Instance.FirstRewardList.ContainsKey(_rewardList.Count - 1) == true)
             {
             {
@@ -135,6 +168,7 @@ namespace GFGGame
             _ui.m_t_close.Play(() =>
             _ui.m_t_close.Play(() =>
             {
             {
                 _ui.m_comCard.m_holder.visible = false;
                 _ui.m_comCard.m_holder.visible = false;
+                _ui.m_comCard.m_holder1.visible = false;
                 _ui.m_t_open.Play();
                 _ui.m_t_open.Play();
                 UpdateView();
                 UpdateView();
             });
             });

+ 85 - 69
GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxStarView.cs

@@ -6,6 +6,7 @@ using FairyGUI;
 using System.Threading;
 using System.Threading;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 using System;
 using System;
+using Random = UnityEngine.Random;
 
 
 namespace GFGGame
 namespace GFGGame
 {
 {
@@ -22,7 +23,8 @@ namespace GFGGame
         // private List<GoWrapper> _wrappers1 = new List<GoWrapper>();
         // private List<GoWrapper> _wrappers1 = new List<GoWrapper>();
         private Dictionary<int, List<GameObject>> dicGameobj = new Dictionary<int, List<GameObject>>();
         private Dictionary<int, List<GameObject>> dicGameobj = new Dictionary<int, List<GameObject>>();
         private Dictionary<int, List<GoWrapper>> dicWraper = new Dictionary<int, List<GoWrapper>>();
         private Dictionary<int, List<GoWrapper>> dicWraper = new Dictionary<int, List<GoWrapper>>();
-
+        private List<GameObject> lineObj = new List<GameObject>();
+        private List<GoWrapper> lineWrapper = new List<GoWrapper>();
         private GObject curComStar;//当前选中的星星
         private GObject curComStar;//当前选中的星星
         private Vector2 lastPos;//鼠标的上一个位置,每颗星星初始时默认为Vector2.right;
         private Vector2 lastPos;//鼠标的上一个位置,每颗星星初始时默认为Vector2.right;
 
 
@@ -30,6 +32,7 @@ namespace GFGGame
 
 
         private const int checkDistance = 40;//鼠标靠近星星周围加减40都算选中星星
         private const int checkDistance = 40;//鼠标靠近星星周围加减40都算选中星星
         private const int imgLineWidth = 10;//线的原始长度
         private const int imgLineWidth = 10;//线的原始长度
+        private bool _isLuckyBox = true;//是抽奖(true),是限时主题活动(false)
 
 
         private bool showGuide = false;
         private bool showGuide = false;
         public override void Dispose()
         public override void Dispose()
@@ -50,7 +53,7 @@ namespace GFGGame
                 UI_ComStar comStar = UI_ComStar.Proxy(star);
                 UI_ComStar comStar = UI_ComStar.Proxy(star);
                 for (int i = comStar.target.numChildren - 1; i >= 0; i--)
                 for (int i = comStar.target.numChildren - 1; i >= 0; i--)
                 {
                 {
-                    if (comStar.target.GetChildAt(i).name == "imgLine") continue;
+                    if (comStar.target.GetChildAt(i).name == "comLine") continue;
                     comStar.target.RemoveChildAt(i);
                     comStar.target.RemoveChildAt(i);
                 }
                 }
                 index++;
                 index++;
@@ -66,6 +69,10 @@ namespace GFGGame
                     SceneController.DestroyObjectFromView(value[i], wrappersValue[i]);
                     SceneController.DestroyObjectFromView(value[i], wrappersValue[i]);
                 }
                 }
             }
             }
+            for (int i = 0; i < lineObj.Count; i++)
+            {
+                SceneController.DestroyObjectFromView(lineObj[i], lineWrapper[i]);
+            }
             notClickComStars.Clear();
             notClickComStars.Clear();
             clickComStars.Clear();
             clickComStars.Clear();
             dicGameobj.Clear();
             dicGameobj.Clear();
@@ -95,10 +102,10 @@ namespace GFGGame
             _rewardList = LuckyBoxDataManager.Instance.RewardList;
             _rewardList = LuckyBoxDataManager.Instance.RewardList;
             _ui.m_ctrlBuyType.selectedIndex = _rewardList != null && _rewardList.Count > 1 ? 1 : 0;
             _ui.m_ctrlBuyType.selectedIndex = _rewardList != null && _rewardList.Count > 1 ? 1 : 0;
 
 
-            bool isLuckyBox = LuckyBoxDataManager.Instance.luckyBoxIds.IndexOf(LuckyBoxDataManager.Instance.currentBoxId) >= 0;
-            _ui.m_ctrlRewardsType.selectedIndex = isLuckyBox ? (LuckyBoxDataManager.Instance.currentBoxId - 1) : 0;
-            string resPath = string.Format("cj_tp_{0}", isLuckyBox ? LuckyBoxDataManager.Instance.currentBoxId : 1);
-            _ui.m_bg.url = ResPathUtil.GetBgImgPath(resPath);
+            _isLuckyBox = LuckyBoxDataManager.Instance.luckyBoxIds.IndexOf(LuckyBoxDataManager.Instance.currentBoxId) >= 0;
+            _ui.m_ctrlRewardsType.selectedIndex = _isLuckyBox ? (LuckyBoxDataManager.Instance.currentBoxId - 1) : 0;
+            // string resPath = string.Format("cj_tp_{0}", _isLuckyBox ? LuckyBoxDataManager.Instance.currentBoxId : 1);
+            _ui.m_bg.url = ResPathUtil.GetBgImgPath("zx_bg");
 
 
             ResetStartView();
             ResetStartView();
             Timers.inst.AddUpdate(CheckGuide);
             Timers.inst.AddUpdate(CheckGuide);
@@ -117,27 +124,32 @@ namespace GFGGame
             while (star != null && star.visible == true)
             while (star != null && star.visible == true)
             {
             {
                 UI_ComStar comStar = UI_ComStar.Proxy(star);
                 UI_ComStar comStar = UI_ComStar.Proxy(star);
-                comStar.m_imgLine.visible = true;
+                comStar.m_comLine.target.visible = true;
 
 
                 comStar.m_c1.selectedIndex = 0;
                 comStar.m_c1.selectedIndex = 0;
-                comStar.m_imgLine.width = imgLineWidth;
-                comStar.m_imgLine.rotation = 0;
+                comStar.m_comLine.target.width = imgLineWidth;
+                comStar.m_comLine.target.rotation = 0;
 
 
-                GComponent gcom = CreateEffect(comStar, 1, "ui_ck"); ;
+                float scale = Random.Range(0.5f, 1f);
+                float rotation = Random.Range(0, 360);
+                GComponent gcom = CreateEffect(comStar, 1, _isLuckyBox ? "STAR_Ready_Bule" : "STAR_Ready"); ;
                 gcom.visible = true;
                 gcom.visible = true;
                 comStar.target.AddChildAt(gcom, 1);
                 comStar.target.AddChildAt(gcom, 1);
+                gcom.scale = new Vector2(scale, scale);
+                gcom.rotation = rotation;
 
 
-                GComponent gcom1 = CreateEffect(comStar, 2, "ui_ck_dj");
+                GComponent gcom1 = CreateEffect(comStar, 2, _isLuckyBox ? "STAR_Bule" : "STAR");
                 gcom1.visible = false;
                 gcom1.visible = false;
                 comStar.target.AddChildAt(gcom1, 2);
                 comStar.target.AddChildAt(gcom1, 2);
+                gcom1.scale = new Vector2(scale, scale);
 
 
-                GComponent gcom2 = CreateEffect(comStar, 3, "ui_ck_xs");
-                gcom2.visible = false;
-                comStar.target.AddChildAt(gcom2, 3);
+                // GComponent gcom2 = CreateEffect(comStar, 3, "ui_ck_xs");
+                // gcom2.visible = false;
+                // comStar.target.AddChildAt(gcom2, 3);
 
 
-                GComponent gcom3 = CreateEffect(comStar, 4, "ui_ck_dj_2");
-                gcom3.visible = false;
-                comStar.target.AddChildAt(gcom3, 4);
+                // GComponent gcom3 = CreateEffect(comStar, 4, "ui_ck_dj_2");
+                // gcom3.visible = false;
+                // comStar.target.AddChildAt(gcom3, 4);
 
 
 
 
 
 
@@ -160,7 +172,7 @@ namespace GFGGame
             else
             else
             {
             {
                 gcom = UIPackage.CreateObject("LuckyBox", "ComHolder").asCom;
                 gcom = UIPackage.CreateObject("LuckyBox", "ComHolder").asCom;
-                string resPath = ResPathUtil.GetViewEffectPath("ui_ck", name);
+                string resPath = ResPathUtil.GetViewEffectPath("ui_LuckyBox", name);
                 SceneController.AddObjectToView(null, null, gcom.GetChild("holder").asGraph, resPath, out GameObject gameObject, out GoWrapper wrapper);
                 SceneController.AddObjectToView(null, null, gcom.GetChild("holder").asGraph, resPath, out GameObject gameObject, out GoWrapper wrapper);
                 if (!dicGameobj.ContainsKey(index))
                 if (!dicGameobj.ContainsKey(index))
                 {
                 {
@@ -206,9 +218,13 @@ namespace GFGGame
                     }
                     }
                     UI_ComStar comStar = UI_ComStar.Proxy(comStars[i]);
                     UI_ComStar comStar = UI_ComStar.Proxy(comStars[i]);
                     comStar.target.GetChildAt(2).asCom.visible = true;
                     comStar.target.GetChildAt(2).asCom.visible = true;
-                    comStar.target.GetChildAt(1).asCom.visible = false;
+                    // comStar.target.GetChildAt(1).asCom.visible = false;
+                    string resPath = ResPathUtil.GetViewEffectPath("ui_LuckyBox", _isLuckyBox ? "LINE_Bule" : "LINE");
+                    SceneController.AddObjectToView(null, null, comStar.m_comLine.m_holder, resPath, out GameObject gameObject, out GoWrapper wrapper);
+                    lineObj.Add(gameObject);
+                    lineWrapper.Add(wrapper);
                     UI_ComStar.ProxyEnd();
                     UI_ComStar.ProxyEnd();
-                    // comStar.m_c1.selectedIndex = 1;
+
                     curComStar = comStars[i];
                     curComStar = comStars[i];
                     lastPos = Vector2.right;
                     lastPos = Vector2.right;
 
 
@@ -238,8 +254,8 @@ namespace GFGGame
             angle *= Mathf.Sign(Vector3.Dot(normal, Vector3.forward));  //Mathf.Sign()求符号,Vector3.Dot()求方向,求法线向量与物体上方向向量点乘,结果为1或-1,修正旋转方向 
             angle *= Mathf.Sign(Vector3.Dot(normal, Vector3.forward));  //Mathf.Sign()求符号,Vector3.Dot()求方向,求法线向量与物体上方向向量点乘,结果为1或-1,修正旋转方向 
 
 
             UI_ComStar comStar = UI_ComStar.Proxy(curComStar);
             UI_ComStar comStar = UI_ComStar.Proxy(curComStar);
-            comStar.m_imgLine.rotation += angle;
-            comStar.m_imgLine.width = Vector2.Distance(targetPos, (Vector2)curComStar.data);
+            comStar.m_comLine.target.rotation += angle;
+            comStar.m_comLine.target.width = Vector2.Distance(targetPos, (Vector2)curComStar.data);
             UI_ComStar.ProxyEnd();
             UI_ComStar.ProxyEnd();
 
 
         }
         }
@@ -249,7 +265,7 @@ namespace GFGGame
             if (clickComStars.Count <= 0) return;
             if (clickComStars.Count <= 0) return;
 
 
             UI_ComStar comStar = UI_ComStar.Proxy(clickComStars[clickComStars.Count - 1]);
             UI_ComStar comStar = UI_ComStar.Proxy(clickComStars[clickComStars.Count - 1]);
-            comStar.m_imgLine.visible = false;
+            comStar.m_comLine.target.visible = false;
             UI_ComStar.ProxyEnd();
             UI_ComStar.ProxyEnd();
 
 
 
 
@@ -259,55 +275,55 @@ namespace GFGGame
             }
             }
             else
             else
             {
             {
-                CheckNotClickComStar();
-                SetComStarDarken();
+                // CheckNotClickComStar();
+                // SetComStarDarken();
                 RemoveListener();
                 RemoveListener();
-                Timers.inst.Add(1f, 1, SetClickComStarAni);
-
-            }
-        }
-        private void CheckNotClickComStar()
-        {
-            int index = 0;
-            GObject star = _ui.target.GetChild(string.Format("comStar{0}_{1}_{2}", _ui.m_ctrlBuyType.selectedIndex, _ui.m_ctrlRewardsType.selectedIndex, index));
-
-            while (star != null && star.visible == true)
-            {
-                if (clickComStars.IndexOf(star) < 0)
-                {
-                    notClickComStars.Add(star);
-                }
-                index++;
-                star = _ui.target.GetChild(string.Format("comStar{0}_{1}_{2}", _ui.m_ctrlBuyType.selectedIndex, _ui.m_ctrlRewardsType.selectedIndex, index));
-            }
-        }
-
-        private void SetComStarDarken()
-        {
-
-            for (int i = 0; i < notClickComStars.Count; i++)
-            {
-                UI_ComStar notClickComStar = UI_ComStar.Proxy(notClickComStars[i]);
-                notClickComStar.m_imgLine.visible = false;
-                notClickComStar.target.GetChildAt(3).asCom.visible = true;
-                notClickComStar.target.GetChildAt(1).asCom.visible = false;
-                UI_ComStar.ProxyEnd();
-
-            }
-
-        }
-
-        private void SetClickComStarAni(object param)
-        {
-            for (int i = 0; i < clickComStars.Count; i++)
-            {
-                UI_ComStar comStar = UI_ComStar.Proxy(clickComStars[i]);
-                comStar.target.GetChildAt(4).asCom.visible = true;
-                UI_ComStar.ProxyEnd();
-
+                // Timers.inst.Add(1f, 1, SetClickComStarAni);
+                Timers.inst.Add(0.5f, 1, SetEndEffect);
             }
             }
-            Timers.inst.Add(0.5f, 1, SetEndEffect);
         }
         }
+        // private void CheckNotClickComStar()
+        // {
+        //     int index = 0;
+        //     GObject star = _ui.target.GetChild(string.Format("comStar{0}_{1}_{2}", _ui.m_ctrlBuyType.selectedIndex, _ui.m_ctrlRewardsType.selectedIndex, index));
+
+        //     while (star != null && star.visible == true)
+        //     {
+        //         if (clickComStars.IndexOf(star) < 0)
+        //         {
+        //             notClickComStars.Add(star);
+        //         }
+        //         index++;
+        //         star = _ui.target.GetChild(string.Format("comStar{0}_{1}_{2}", _ui.m_ctrlBuyType.selectedIndex, _ui.m_ctrlRewardsType.selectedIndex, index));
+        //     }
+        // }
+
+        // private void SetComStarDarken()
+        // {
+
+        //     for (int i = 0; i < notClickComStars.Count; i++)
+        //     {
+        //         UI_ComStar notClickComStar = UI_ComStar.Proxy(notClickComStars[i]);
+        //         notClickComStar.m_comLine.target.visible = false;
+        //         notClickComStar.target.GetChildAt(3).asCom.visible = true;
+        //         notClickComStar.target.GetChildAt(1).asCom.visible = false;
+        //         UI_ComStar.ProxyEnd();
+
+        //     }
+
+        // }
+
+        // private void SetClickComStarAni(object param)
+        // {
+        //     for (int i = 0; i < clickComStars.Count; i++)
+        //     {
+        //         UI_ComStar comStar = UI_ComStar.Proxy(clickComStars[i]);
+        //         comStar.target.GetChildAt(4).asCom.visible = true;
+        //         UI_ComStar.ProxyEnd();
+
+        //     }
+        //     Timers.inst.Add(0.5f, 1, SetEndEffect);
+        // }
         private void SetEndEffect(object param)
         private void SetEndEffect(object param)
         {
         {
             _ui.m_effEnd.visible = true;
             _ui.m_effEnd.visible = true;

+ 90 - 110
GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxView.cs

@@ -33,7 +33,6 @@ namespace GFGGame
 
 
         private bool isActiveBoxOpen = false;
         private bool isActiveBoxOpen = false;
         private int _activeBoxId = 0;
         private int _activeBoxId = 0;
-        private int _bgIndex = 0;
         private int _curIndex = 0;
         private int _curIndex = 0;
 
 
         public override void Dispose()
         public override void Dispose()
@@ -85,17 +84,17 @@ namespace GFGGame
             // _ui.m_txtRemainTimes.visible = false;
             // _ui.m_txtRemainTimes.visible = false;
             _valueBarController = new ValueBarController(_ui.m_valueBar);
             _valueBarController = new ValueBarController(_ui.m_valueBar);
             _ui.m_btnBack.onClick.Add(OnClickBtnBack);
             _ui.m_btnBack.onClick.Add(OnClickBtnBack);
-            _ui.m_btnHome.onClick.Add(OnClickBtnHome);
+            // _ui.m_btnHome.onClick.Add(OnClickBtnHome);
 
 
             _ui.m_btnLeft.onClick.Add(OnBtnLeftClick);
             _ui.m_btnLeft.onClick.Add(OnBtnLeftClick);
             _ui.m_btnRight.onClick.Add(OnBtnRightClick);
             _ui.m_btnRight.onClick.Add(OnBtnRightClick);
 
 
-            _ui.m_listBg.SetVirtual();
+            // _ui.m_listBg.SetVirtual();
             _ui.m_listBg.itemRenderer = RenderListBgItem;
             _ui.m_listBg.itemRenderer = RenderListBgItem;
-            _ui.m_listBg.itemProvider = GetListItemResource;
+            // _ui.m_listBg.itemProvider = GetListItemResource;
             _ui.m_listBg.scrollPane.onScrollEnd.Add(OnListBgScroll);
             _ui.m_listBg.scrollPane.onScrollEnd.Add(OnListBgScroll);
 
 
-            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("jingzhongh_bg");
+            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("zx_bg");
         }
         }
         protected override void AddEventListener()
         protected override void AddEventListener()
         {
         {
@@ -144,94 +143,30 @@ namespace GFGGame
 
 
             Timers.inst.AddUpdate(CheckGuide);
             Timers.inst.AddUpdate(CheckGuide);
         }
         }
-        private string GetListItemResource(int index)
-        {
-            if (index == 0 && _activeBoxId > 0)
-            {
-                return "UI://LuckyBox/ComBox";
-            }
-            else
-            {
-                int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[index];
-                return string.Format("UI://LuckyBox/ComBox_{0}", boxId);
-            }
-        }
+        // private string GetListItemResource(int index)
+        // {
+        //     if (index == 0 && _activeBoxId > 0)
+        //     {
+        //         return "UI://LuckyBox/ComBox";
+        //     }
+        //     else
+        //     {
+        //         int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[index];
+        //         return string.Format("UI://LuckyBox/ComBox_{0}", boxId);
+        //     }
+        // }
         private void RenderListBgItem(int index, GObject obj)
         private void RenderListBgItem(int index, GObject obj)
         {
         {
             int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[index];
             int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[index];
-            LuckyBoxCfg cfg = LuckyBoxCfgArray.Instance.GetCfg(boxId);
-            LuckyBoxDataManager.Instance.InitData(boxId);
-
-            UI_ComBox comBox = UI_ComBox.Proxy(obj);
-            comBox.m_comModel.m_loaBg.url = ResPathUtil.GetBgImgPath(cfg.resArr[_bgIndex]);
-            if (!_lcukyBoxCtrl.ContainsKey(boxId))
-            {
-                _lcukyBoxCtrl.Add(boxId, new LuckyBoxController(comBox.m_comModel.target));
-                if (_ui.m_listBg.ChildIndexToItemIndex(0) == index)
-                {
-                    _lcukyBoxCtrl[boxId].OnShown(boxId);
-                }
-            }
-            comBox.m_btnPreview.m_c1.selectedIndex = boxId;
-            LuckyBoxDataManager.Instance.GetOwnedCount(boxId, out int count, out int totalCount);
-            comBox.m_txtOwned.SetVar("v1", "" + count).FlushVars();
-            comBox.m_txtOwned.SetVar("v2", "" + totalCount).FlushVars();
-            int boughtCount = GameGlobal.myNumericComponent.GetAsInt(cfg.numericType);
-            comBox.m_txtRemainTimes.text = string.Format("今日剩余次数:{0}", cfg.maxCount - boughtCount);
-            comBox.m_comCostOne.m_txtCost.text = cfg.costNum.ToString();
-            comBox.m_comCostOne.m_loaCost.url = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(cfg.costID).res);
-            comBox.m_comCostTen.m_txtCost.text = cfg.costNumTen.ToString();
-            comBox.m_comCostTen.m_loaCost.url = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(cfg.costID).res);
-            if (comBox.m_btnBuyOne.target.data == null)
-            {
-                comBox.m_btnBuyOne.target.onClick.Add(OnClickBtnBuyOne);
-            }
-            comBox.m_btnBuyOne.target.data = boxId;
+            // LuckyBoxCfg cfg = LuckyBoxCfgArray.Instance.GetCfg(boxId);
+            // LuckyBoxDataManager.Instance.InitData(boxId);
 
 
-            if (comBox.m_btnBuyTen.target.data == null)
-            {
-                comBox.m_btnBuyTen.target.onClick.Add(OnClickBtnBuyTen);
-            }
-            comBox.m_btnBuyTen.target.data = boxId;
+            // UI_ComBox1 comBox = UI_ComBox1.Proxy(obj);
 
 
-            if (comBox.m_btnPreview.target.data == null)
-            {
-                comBox.m_btnPreview.target.onClick.Add(OnClickBtnPreview);
-            }
-            comBox.m_btnPreview.target.data = boxId;
-
-            obj.data = boxId;
-            // if (comBox.m_grpLuckyBox != null)
-            // {
-            //     comBox.m_grpLuckyBox.visible = boxId == _activeBoxId;
-            // }
-            if (boxId == _activeBoxId)
-            {
-                long endTime = LuckyBoxDataManager.Instance.endTime;
-                long curTime = TimeHelper.ServerNow();
-                TimeUtil.FormattingTime(curTime, endTime, out int num, out string str);
-                comBox.m_txtTime.text = string.Format("剩余{0}{1}", num, str);
-                comBox.m_grpLuckyBox.visible = boxId == _activeBoxId;
-            }
-
-            UI_ComBox.ProxyEnd();
 
 
+            // UI_ComBox1.ProxyEnd();
         }
         }
 
 
-        // private void UpdateBg(object param)
-        // {
-        //     string[] resArr = LuckyBoxCfgArray.Instance.GetCfg(LuckyBoxDataManager.Instance.currentBoxId).resArr;
-        //     _bgIndex++;
-        //     if (_bgIndex >= resArr.Length) _bgIndex = 0;
-        //     GObject gObject = _ui.m_listBg.GetChildAt(0);
-        //     if (gObject == null) return;
-        //     GComponent item = gObject.asCom;
-        //     if (item.gameObjectName != "ComBox_2") return;
-        //     GLoader loaBg = item.GetChild("loaBg").asLoader;
-        //     loaBg.url = ResPathUtil.GetBgImgPath(resArr[_bgIndex]);
-        // }
-
-
         private void OnBtnLeftClick()
         private void OnBtnLeftClick()
         {
         {
             int index = _curIndex - 1;
             int index = _curIndex - 1;
@@ -252,18 +187,78 @@ namespace GFGGame
 
 
         private void OnListBgScroll()
         private void OnListBgScroll()
         {
         {
-            _lcukyBoxCtrl[LuckyBoxDataManager.Instance.currentBoxId].OnHide();
-            _curIndex = _ui.m_listBg.ChildIndexToItemIndex(0);
+            if (_lcukyBoxCtrl.ContainsKey(LuckyBoxDataManager.Instance.currentBoxId)) _lcukyBoxCtrl[LuckyBoxDataManager.Instance.currentBoxId].OnHide();
+            _curIndex = _ui.m_listBg.GetFirstChildInView();
             LuckyBoxDataManager.Instance.currentBoxId = LuckyBoxDataManager.Instance.luckyBoxIds[_curIndex];
             LuckyBoxDataManager.Instance.currentBoxId = LuckyBoxDataManager.Instance.luckyBoxIds[_curIndex];
-
-            _bgIndex = 0;
             _valueBarController.UpdateCJ();
             _valueBarController.UpdateCJ();
-            _lcukyBoxCtrl[LuckyBoxDataManager.Instance.currentBoxId].OnShown(LuckyBoxDataManager.Instance.currentBoxId);
+            UpdateListItem();
             _ui.m_btnLeft.grayed = _curIndex <= 0;
             _ui.m_btnLeft.grayed = _curIndex <= 0;
             _ui.m_btnRight.grayed = _curIndex >= _ui.m_listBg.numItems - 1;
             _ui.m_btnRight.grayed = _curIndex >= _ui.m_listBg.numItems - 1;
 
 
         }
         }
 
 
+        private void UpdateListItem()
+        {
+            int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[_curIndex];
+            LuckyBoxCfg cfg = LuckyBoxCfgArray.Instance.GetCfg(boxId);
+            LuckyBoxDataManager.Instance.InitData(boxId);
+
+            GObject obj = _ui.m_listBg.GetChildAt(_curIndex);
+            UI_ComBox1 comBox = UI_ComBox1.Proxy(obj);
+
+            if (!_lcukyBoxCtrl.ContainsKey(boxId))
+            {
+                _lcukyBoxCtrl.Add(boxId, new LuckyBoxController(comBox.m_comModel.target));
+            }
+            _lcukyBoxCtrl[LuckyBoxDataManager.Instance.currentBoxId].OnShown(LuckyBoxDataManager.Instance.currentBoxId);
+
+            LuckyBoxDataManager.Instance.GetOwnedCount(boxId, out int count, out int totalCount);
+            comBox.m_imgSpecial.visible = boxId != LuckyBoxDataManager.BOX_ID_3;
+            comBox.m_txtOwned.SetVar("v1", "" + count).FlushVars();
+            comBox.m_txtOwned.SetVar("v2", "" + totalCount).FlushVars();
+            int boughtCount = GameGlobal.myNumericComponent.GetAsInt(cfg.numericType);
+            comBox.m_txtRemainTimes.text = string.Format("今日剩余次数:{0}", cfg.maxCount - boughtCount);
+            comBox.m_comCostOne.m_txtCost.text = cfg.costNum.ToString();
+            comBox.m_comCostOne.m_loaCost.url = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(cfg.costID).res);
+            comBox.m_comCostTen.m_txtCost.text = cfg.costNumTen.ToString();
+            comBox.m_comCostTen.m_loaCost.url = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(cfg.costID).res);
+            if (comBox.m_btnBuyOne.data == null)
+            {
+                comBox.m_btnBuyOne.onClick.Add(OnClickBtnBuyOne);
+            }
+            comBox.m_btnBuyOne.data = boxId;
+
+            if (comBox.m_btnBuyTen.data == null)
+            {
+                comBox.m_btnBuyTen.onClick.Add(OnClickBtnBuyTen);
+            }
+            comBox.m_btnBuyTen.data = boxId;
+
+            if (comBox.m_btnPreview.data == null)
+            {
+                comBox.m_btnPreview.onClick.Add(OnClickBtnPreview);
+            }
+            comBox.m_btnPreview.data = boxId;
+
+            obj.data = boxId;
+
+            comBox.m_grpTime.visible = boxId == _activeBoxId;
+            if (boxId == _activeBoxId)
+            {
+                long endTime = LuckyBoxDataManager.Instance.endTime;
+                long curTime = TimeHelper.ServerNow();
+                // TimeUtil.FormattingTime(curTime, endTime, out int num, out string str);
+                long time = endTime - curTime;
+                string strTime = time > TimeUtil.SECOND_PER_DAY * 100 ? TimeUtil.FormattingTimeTo_DDHHmm(time) : TimeUtil.FormattingTimeTo_HHmmss(time);
+                comBox.m_txtTime.text = string.Format("活动时间:剩余{0}", strTime);
+                comBox.m_loaTitle.url = "ui://LuckyBox/zx_title_1";
+            }
+            else
+            {
+                comBox.m_loaTitle.url = string.Format("ui://LuckyBox/zx_title_{0}", boxId);
+            }
+            UI_ComBox1.ProxyEnd();
+        }
         private void CheckTime(object param = null)
         private void CheckTime(object param = null)
         {
         {
             if (LuckyBoxDataManager.Instance.currentBoxId != _activeBoxId) return;
             if (LuckyBoxDataManager.Instance.currentBoxId != _activeBoxId) return;
@@ -275,34 +270,19 @@ namespace GFGGame
             if (item == null) return;
             if (item == null) return;
             GObject textField = item.asCom.GetChild("txtTime");
             GObject textField = item.asCom.GetChild("txtTime");
             if (textField == null) return;
             if (textField == null) return;
-            textField.asTextField.text = string.Format("剩余{0}{1}", num, str);
+
+            long time = endTime - curTime;
+            string strTime = time > TimeUtil.SECOND_PER_DAY * 100 ? TimeUtil.FormattingTimeTo_DDHHmm(time) : TimeUtil.FormattingTimeTo_HHmmss(time);
+            textField.asTextField.text = string.Format("活动时间:剩余{0}", strTime);
         }
         }
         private void updateBoxEffect()
         private void updateBoxEffect()
         {
         {
             if (isActiveBoxOpen)
             if (isActiveBoxOpen)
             {
             {
-                // int index = Array.IndexOf(LuckyBoxDataManager.Instance.luckyBoxIds, LuckyBoxDataManager.BOX_ID_1);
-                // UI_ComListBgItem item = UI_ComListBgItem.Proxy(_ui.m_listBg.GetChildAt(index));
-                // string resPath = ResPathUtil.GetViewEffectPath("ui_cj", "ui_cj_bt");
-                // SceneController.AddObjectToView(_gameObject, _wrapper, item.m_holder, resPath, out _gameObject, out _wrapper);
-                // string resPath3 = ResPathUtil.GetDressUpAnimationPath("dz_jiyuet");
-                // SceneController.AddObjectToView(_gameObject3, _wrapper3, item.m_holder1, resPath3, out _gameObject3, out _wrapper3, 120);
-
-                // string resPath1 = ResPathUtil.GetViewEffectPath("ui_cj", "ui_cj_sl");
-                // SceneController.AddObjectToView(_gameObject1, _wrapper1, _ui.m_btnBuyOne.m_holder, resPath1, out _gameObject1, out _wrapper1);
-                // SceneController.AddObjectToView(_gameObject2, _wrapper2, _ui.m_btnBuyTen.m_holder, resPath1, out _gameObject2, out _wrapper2);
-                // UI_ComListBgItem.ProxyEnd();
 
 
             }
             }
         }
         }
-        // private void OnClickBtnExChange(EventContext context)
-        // {
-        //     GObject obj = context.sender as GObject;
-        //     int boxId = (int)obj.data;
-        //     int storeId = boxId == LuckyBoxDataManager.BOX_ID_1 ? ConstStoreId.LUCKY_BOX_ACTIVITY_STORE_ID : ConstStoreId.LUCKY_BOX_STORE_ID;
-        //     ViewManager.Show(ViewName.CLOTHING_SHOP_VIEW, new object[] { storeId }, new object[] { ViewName.LUCKY_BOX_VIEW, boxId });
-        //     this.Hide();
-        // }
+
         private void OnClickBtnPreview(EventContext context)
         private void OnClickBtnPreview(EventContext context)
         {
         {
             GObject obj = context.sender as GObject;
             GObject obj = context.sender as GObject;

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Views/XiuFang/XiuFangView.cs

@@ -119,6 +119,7 @@ namespace GFGGame
 
 
             GuideController.TryGuide(_ui.m_component.m_btnDecompose.target, ConstGuideId.CLOTHING_DECOMPOSE, 3, "这里可以消耗重复获得的服饰。");
             GuideController.TryGuide(_ui.m_component.m_btnDecompose.target, ConstGuideId.CLOTHING_DECOMPOSE, 3, "这里可以消耗重复获得的服饰。");
 
 
+
             GuideController.TryGuide(_ui.m_component.m_btnClothingUpgrade.target, ConstGuideId.SUIT_LIST_VIEW, 2, "");
             GuideController.TryGuide(_ui.m_component.m_btnClothingUpgrade.target, ConstGuideId.SUIT_LIST_VIEW, 2, "");
         }
         }
     }
     }

BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0.png


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


BIN
GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0.png


BIN
GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_1!a.png


BIN
GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_1.png


BIN
GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_2!a.png


BIN
GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_2.png


BIN
GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_3!a.png


+ 96 - 0
GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_3!a.png.meta

@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: 0782a0567c8ea4b44b9167b65261e3cc
+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/LuckyBox/LuckyBox_atlas0_3.png


+ 96 - 0
GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_3.png.meta

@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: 3b75053d93c1245499784c966f2cc8ce
+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/LuckyBox/LuckyBox_atlas0_4!a.png


+ 96 - 0
GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_4!a.png.meta

@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: 799c848196e66ac4bb45c49abe90ecfb
+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/LuckyBox/LuckyBox_atlas0_4.png


+ 96 - 0
GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_4.png.meta

@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: 333ecbe00d256964a8e3f21d05132795
+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/LuckyBox/LuckyBox_atlas0_5!a.png


+ 96 - 0
GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_5!a.png.meta

@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: a3701e1a6a70ff943840c61e82608b26
+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/LuckyBox/LuckyBox_atlas0_5.png


+ 96 - 0
GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_5.png.meta

@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: 77d877fdac379bb43bc5471c7483d102
+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/LuckyBox/LuckyBox_fui.bytes


+ 266 - 0
LuckyBox/LuckyBoxActivityView.cs

@@ -0,0 +1,266 @@
+using FairyGUI;
+using UI.LuckyBox;
+using UI.CommonGame;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using UnityEngine;
+using ET;
+
+namespace GFGGame
+{
+    public class LuckyBoxActivityView : BaseWindow
+    {
+        private UI_LuckyBoxActivityUI _ui;
+        private ValueBarController _valueBarController;
+        private LuckyBoxController _luckyBoxCtrl;
+        private ActivityOpenCfg _activityCfg;
+        private LuckyBoxCfg _luckyBoxCfg;
+        private int _activityId;
+
+        public override void Dispose()
+        {
+            if (_valueBarController != null)
+            {
+                _valueBarController.Dispose();
+                _valueBarController = null;
+            }
+            if (_luckyBoxCtrl != null)
+            {
+                _luckyBoxCtrl.Dispose();
+                _luckyBoxCtrl = null;
+            }
+
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_LuckyBoxActivityUI.PACKAGE_NAME;
+            _ui = UI_LuckyBoxActivityUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+
+            _valueBarController = new ValueBarController(_ui.m_valueBar);
+            _luckyBoxCtrl = new LuckyBoxController(_ui.m_comBox.m_comModel.target);
+
+            _ui.m_btnBack.onClick.Add(OnClickBtnBack);
+            _ui.m_btnReward.onClick.Add(OnClikcBtnReward);
+            _ui.m_btnShop.onClick.Add(OnClikcBtnShop);
+            _ui.m_btnGiftBag.onClick.Add(OnClikcBtnGiftBag);
+
+        }
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+            EventAgent.AddEventListener(ConstMessage.ACTIVITY_LUCKY_BOX, UpdateView);
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            _activityId = (int)this.viewData;
+            _activityCfg = ActivityOpenCfgArray.Instance.GetCfg(_activityId);
+            _luckyBoxCfg = LuckyBoxCfgArray.Instance.GetCfg(_activityCfg.paramsArr[0]);
+            _valueBarController.OnShown();
+            _valueBarController.UpdateList(new List<int>() { _luckyBoxCfg.costID });
+            _luckyBoxCtrl.OnShown(_luckyBoxCfg.id);
+            Timers.inst.Add(1, 0, UpdateTime);
+            UpdateView();
+        }
+        private void UpdateTime(object param = null)
+        {
+            long endTime = TimeUtil.DateTimeToTimestamp(_activityCfg.endTime);
+            long curTime = TimeHelper.ServerNow();
+            if (endTime < curTime)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("活动已结束");
+                Timers.inst.Remove(UpdateTime);
+                OnClickBtnBack();
+                return;
+            }
+            TimeUtil.FormattingTime(curTime, endTime, out int num, out string str);
+            _ui.m_txtTime.text = TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime);
+
+            //=====限时礼包倒计时
+            UpGiftBox();
+            if (ViewManager.isViewOpen(nameof(RushSaleGiftBoxView)))
+            {
+                var rushSaleGiftBoxView =
+                    ViewManager.GetUIView(nameof(RushSaleGiftBoxView)) as RushSaleGiftBoxView;
+                rushSaleGiftBoxView?.UpTime();
+            }
+            //=====限时礼包倒计时END
+        }
+
+        private void UpdateView()
+        {
+            _ui.m_txtCount.SetVar("value", ActivityDataManager.Instance.lastDrawCount.ToString()).FlushVars();
+            _ui.m_txtCount.SetVar("name", _activityCfg.themeName).FlushVars();
+            UI_ComBox comBox = UI_ComBox.Proxy(_ui.m_comBox.target);
+
+            LuckyBoxDataManager.Instance.InitData(_luckyBoxCfg.id);
+            comBox.m_comModel.m_loaBg.url = ResPathUtil.GetBgImgPath(_luckyBoxCfg.resArr[0]);
+            comBox.m_btnPreview.m_c1.selectedIndex = 1;
+            LuckyBoxDataManager.Instance.GetOwnedCount(_luckyBoxCfg.id, out int count, out int totalCount);
+            comBox.m_txtOwned.SetVar("v1", "" + count).FlushVars();
+            comBox.m_txtOwned.SetVar("v2", "" + totalCount).FlushVars();
+            int boughtCount = GameGlobal.myNumericComponent.GetAsInt(_luckyBoxCfg.numericType);
+            comBox.m_txtRemainTimes.text = string.Format("今日剩余次数:{0}", _luckyBoxCfg.maxCount - boughtCount);
+
+            comBox.m_comCostOne.m_txtCost.text = _luckyBoxCfg.costNum.ToString();
+            comBox.m_comCostOne.m_loaCost.url = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(_luckyBoxCfg.costID).res);
+            comBox.m_comCostTen.m_txtCost.text = _luckyBoxCfg.costNumTen.ToString();
+            comBox.m_comCostTen.m_loaCost.url = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(_luckyBoxCfg.costID).res);
+
+            if (comBox.m_btnBuyOne.target.data == null)
+            {
+                comBox.m_btnBuyOne.target.onClick.Add(OnClickBtnBuyOne);
+            }
+            comBox.m_btnBuyOne.target.data = _luckyBoxCfg.id;
+
+            if (comBox.m_btnBuyTen.target.data == null)
+            {
+                comBox.m_btnBuyTen.target.onClick.Add(OnClickBtnBuyTen);
+            }
+            comBox.m_btnBuyTen.target.data = _luckyBoxCfg.id;
+            comBox.m_imgActLuckyBox.visible = true;
+            comBox.m_grpLuckyBox.visible = false;
+            if (comBox.m_btnPreview.target.data == null)
+            {
+                comBox.m_btnPreview.target.onClick.Add(OnClickBtnPreview);
+            }
+            comBox.m_btnPreview.target.data = _luckyBoxCfg.id;
+
+            comBox.target.data = _luckyBoxCfg.id;
+
+            UI_ComBox.ProxyEnd();
+        }
+
+        private void UpGiftBox()
+        {
+            var activityInfoByTypeList =
+                ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB3);
+
+            var list = activityInfoByTypeList
+                .Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
+            if (list.Count == 0)
+            {
+                _ui.m_comBagTime.target.visible = false;
+                _ui.m_btnGiftBag.visible = false;
+            }
+            else
+            {
+                _ui.m_comBagTime.m_txtGiftBagTime.text = TimeUtil.GetTimeLeft(TimeInfo.Instance.ServerNow(), list[0].EndTime);
+                _ui.m_comBagTime.target.visible = true;
+                _ui.m_btnGiftBag.visible = true;
+            }
+        }
+
+        private void OnClickBtnPreview(EventContext context)
+        {
+            GObject obj = context.sender as GObject;
+            int boxId = (int)obj.data;
+            ViewManager.Show(ViewName.LUCKY_BOX_PRE_SHOW_VIEW, boxId);
+        }
+
+        private void OnClickBtnBuyOne(EventContext context)
+        {
+            int boughtCount = GameGlobal.myNumericComponent.GetAsInt(_luckyBoxCfg.numericType);
+            if (boughtCount + LuckyBoxDataManager.ONCE_TIME > _luckyBoxCfg.maxCount)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("抽奖次数不足");
+                return;
+            }
+            LuckyBoxDataManager.Instance.CheckItemEnough(_luckyBoxCfg.id, LuckyBoxDataManager.ONCE_TIME, async () =>
+             {
+                 bool result = await LuckyBoxSProxy.ReqGetBonus(_luckyBoxCfg.id, LuckyBoxDataManager.ONCE_TIME);
+                 if (result)
+                 {
+                     ViewManager.Show<LuckyBoxStarView>(null, new object[] { typeof(LuckyBoxActivityView).FullName, _activityId }, true);
+                     //  LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.ZAI_XING, 2);
+                 }
+             });
+        }
+
+        private void OnClickBtnBuyTen(EventContext context)
+        {
+
+            GObject obj = context.sender as GObject;
+            int boughtCount = GameGlobal.myNumericComponent.GetAsInt(_luckyBoxCfg.numericType);
+            if (boughtCount + LuckyBoxDataManager.TEN_TIME > _luckyBoxCfg.maxCount)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("抽奖次数不足");
+                return;
+            }
+            LuckyBoxDataManager.Instance.CheckItemEnough(this._luckyBoxCfg.id, LuckyBoxDataManager.TEN_TIME, async () =>
+            {
+                bool result = await LuckyBoxSProxy.ReqGetBonus(this._luckyBoxCfg.id, LuckyBoxDataManager.TEN_TIME);
+                if (result)
+                {
+                    ViewManager.Show<LuckyBoxStarView>(null, new object[] { typeof(LuckyBoxActivityView).FullName, _activityId }, true);
+                    // LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.ZAI_XING, 2);
+                }
+            });
+        }
+
+        private void OnClikcBtnReward()
+        {
+            ViewManager.Show<ActivityThemeLuckyBoxBonusView>();
+        }
+        private void OnClikcBtnShop()
+        {
+            ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_GIFT_BAG, ConstStoreSubId.STORE_GIFT_BAG_ACTIVITY });
+        }
+
+        //限时礼包按钮点击执行方法
+        private void OnClikcBtnGiftBag()
+        {
+            var activityInfoByTypeList =
+                ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB3);
+
+            var list = activityInfoByTypeList
+                .Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
+            if (list.Count == 0)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("活动已结束");
+            }
+            else
+            {
+                ViewManager.Show<RushSaleGiftBoxView>(new object[] { ActivityType.XSLB3, this.viewData });
+            }
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+            _valueBarController.OnHide();
+            _luckyBoxCtrl.OnHide();
+            Timers.inst.Remove(UpdateTime);
+        }
+
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+        }
+
+        private void OnClickBtnBack()
+        {
+            ViewManager.GoBackFrom(typeof(LuckyBoxActivityView).FullName);
+        }
+
+        protected override void UpdateToCheckGuide(object param)
+        {
+            if (!ViewManager.CheckIsTopView(this.viewCom)) return;
+        }
+        protected override void TryCompleteGuide()
+        {
+            base.TryCompleteGuide();
+        }
+    }
+}

+ 11 - 0
LuckyBox/LuckyBoxActivityView.cs.meta

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

+ 357 - 0
LuckyBox/LuckyBoxBonusView.cs

@@ -0,0 +1,357 @@
+using UnityEngine;
+using FairyGUI;
+using UI.LuckyBox;
+using System.Collections.Generic;
+using System.Collections;
+
+namespace GFGGame
+{
+    public class LuckyBoxBonusView : BaseWindow
+    {
+        private UI_LuckBoxBonusUI _ui;
+        private List<ItemData> itemList;
+        private List<ItemData> itemListAni;
+        private GComponent _curComItem;
+        private int openCount = 0;
+        private List<ItemData> newItemList = new List<ItemData>();
+        private List<int> newCardList = new List<int>();
+        private List<bool> openState = new List<bool>();
+        // private int openIndex = 0;
+
+        private List<GameObject> _gameobjects = new List<GameObject>();
+        private List<GoWrapper> _wrappers = new List<GoWrapper>();
+        private GameObject _gameobject;
+        private GoWrapper _wrapper;
+
+        private string _goBackViewName;
+        private object _goBackParams;
+        public override void Dispose()
+        {
+            base.Dispose();
+            for (int i = 0; i < _gameobjects.Count; i++)
+            {
+                SceneController.DestroyObjectFromView(_gameobjects[i], _wrappers[i]);
+
+            }
+            SceneController.DestroyObjectFromView(_gameobject, _wrapper);
+
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_LuckBoxBonusUI.PACKAGE_NAME;
+            _ui = UI_LuckBoxBonusUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+
+            InitAllItem();
+            _ui.m_loaBg.onClick.Add(OnClickBg);
+            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("bj_ckzxin");
+            _ui.m_btnPass.onClick.Add(OnBtnPassClick);
+
+        }
+
+        protected override void OnShown()
+        {
+            base.OnShown();
+            _goBackViewName = ViewManager.GetGoBackDatas(typeof(LuckyBoxStarView).FullName)[0].ToString();
+            _goBackParams = ViewManager.GetGoBackDatas(typeof(LuckyBoxStarView).FullName)[1];
+
+            itemList = (viewData as object[])[0] as List<ItemData>;
+            itemListAni = new List<ItemData>(itemList.ToArray());
+            _ui.m_loaMask.visible = true;
+
+            int count = itemList.Count;
+            if (count == 10)
+            {
+                _ui.m_c1.selectedIndex = 1;
+            }
+            else if (count > 0)
+            {
+                _ui.m_c1.selectedIndex = 0;
+            }
+            ShowBonusList();
+
+            _ui.m_t0.Play(UpdateView);
+            //
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+            _ui.m_t1.Play();
+            openCount = 0;
+            newCardList.Clear();
+            newItemList.Clear();
+            itemList.Clear();
+            for (int i = 0; i < openState.Count; i++)
+            {
+                openState[i] = false;
+            }
+        }
+        private void InitAllItem()
+        {
+            string resPath = ResPathUtil.GetViewEffectPath("ui_ck", "ui_ck_fk");
+            UI_LuckyBoxBonusItem itemUI = UI_LuckyBoxBonusItem.Proxy(_ui.m_itemOne.target);
+            itemUI.target.onClick.Add(OnClickItem);
+            itemUI.m_comIcon.m_icon.onClick.Add(OnClickItemTips);
+            SceneController.AddObjectToView(null, null, itemUI.m_holder, resPath, out _gameobject, out _wrapper);
+            UI_LuckyBoxBonusItem.ProxyEnd();
+
+            for (int i = 0; i < 10; i++)
+            {
+                GObject itemObject = _ui.target.GetChild("item" + i);
+                if (itemObject != null)
+                {
+                    UI_LuckyBoxBonusItem itemUITen = UI_LuckyBoxBonusItem.Proxy(itemObject);
+                    itemUITen.target.onClick.Add(OnClickItem);
+                    itemUITen.m_comIcon.m_icon.onClick.Add(OnClickItemTips);
+                    SceneController.AddObjectToView(null, null, itemUITen.m_holder, resPath, out GameObject gameobject, out GoWrapper wrapper);
+                    _gameobjects.Add(gameobject);
+                    _wrappers.Add(wrapper);
+                    UI_LuckyBoxBonusItem.ProxyEnd();
+                    openState.Add(false);
+                }
+            }
+        }
+        private void OnClickBg()
+        {
+            if (openCount < itemList.Count)
+            {
+                OnClickOpen();
+            }
+            else
+            {
+                this.Hide();
+                ViewManager.Show(_goBackViewName, _goBackParams);
+                GetSuitItemController.TryShow(0);
+                _ui.m_t0.Stop(true, false);
+            }
+        }
+        private void UpdateView()
+        {
+
+            _ui.m_loaMask.visible = false;
+            // int[][] bonus = LuckyBoxCfgArray.Instance.GetCfg(LuckyBoxDataManager.Instance.luckyBoxId).bonusArr;
+            // List<ItemData> itemDatas = ItemUtil.CreateItemDataList(bonus, LuckyBoxDataManager.Instance.times);
+            // ViewManager.Show<LuckyBoxNewDressView>(itemDatas);
+        }
+        private void ShowBonusList()
+        {
+            if (itemList.Count > 1)
+            {
+                for (int i = 0; i < itemList.Count; i++)
+                {
+                    GObject itemObject = _ui.target.GetChild("item" + i);
+                    if (itemObject != null)
+                    {
+                        _gameobjects[i].SetActive(false);
+                        UpdateItem(i, itemObject);
+                    }
+                }
+            }
+            else
+            {
+                _gameobject.SetActive(false);
+                UpdateItem(0, _ui.m_itemOne.target);
+            }
+        }
+
+        private void UpdateItem(int index, GObject obj)
+        {
+            ItemData itemData = itemList[index];
+            UI_LuckyBoxBonusItem itemUI = UI_LuckyBoxBonusItem.Proxy(obj);
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemData.id);
+            bool isFirst = true;
+            int count = 0;
+            for (int i = 0; i < itemList.Count; i++)
+            {
+                if (i < index && itemList[i].id == itemData.id)
+                {
+                    isFirst = false;
+                }
+                if (itemList[i].id == itemData.id)
+                {
+                    count++;
+                }
+            }
+            itemUI.m_comIcon.m_icon.url = ResPathUtil.GetIconPath(itemCfg);
+            itemUI.m_comIcon.m_imgNew.visible = itemCfg.itemType != ConstItemType.ITEM && ItemDataManager.GetItemNum(itemData.id) == count && isFirst ? true : false;
+            string itemName = itemCfg.name;
+            itemUI.m_comIcon.m_txtName.text = itemName;
+            itemUI.m_c1.selectedIndex = itemCfg.rarity;
+            itemUI.m_comIcon.m_c1.selectedIndex = itemCfg.rarity;
+            RarityIconController.UpdateRarityIcon(itemUI.m_comIcon.m_rarity, itemData.id, false);
+            itemUI.m_comIcon.m_icon.data = itemData.id;
+            itemUI.target.data = index;
+            itemUI.m_t0.Play();
+            UI_LuckyBoxBonusItem.ProxyEnd();
+        }
+
+
+        private void OnClickItem(EventContext context)
+        {
+            GComponent item = context.sender as GComponent;
+
+            PlayOpenAni(item);
+        }
+        private void OnClickOpen()
+        {
+            if (itemList.Count == 1)
+            {
+                PlayOpenAni(_ui.m_itemOne.target);
+                return;
+            }
+            for (int i = 0; i < itemList.Count; i++)
+            {
+                GComponent component = _ui.target.GetChild("item" + i).asCom;
+                if (component != null)
+                {
+                    bool playing = PlayOpenAni(component);
+                    if (!playing) continue;
+                    if (playing) break;
+                }
+            }
+        }
+
+
+        private bool PlayOpenAni(GComponent component)
+        {
+            Transition transition = component.GetTransition("t1");
+            GComponent comIcon = component.GetChild("comIcon").asCom;
+            if (transition.playing || comIcon.alpha == 1) return false;
+            GImage imgNew = component.GetChild("comIcon").asCom.GetChild("imgNew").asImage;
+            if (imgNew.visible)
+            {
+                _ui.m_loaMask.visible = true;
+
+            }
+            _curComItem = component;
+            int index = (int)_curComItem.data;
+            if (itemList.Count == 1)
+            {
+                _gameobject.SetActive(true);
+            }
+            else
+            {
+                _gameobjects[index].SetActive(true);
+            }
+            transition.Play(UpdateOpenCount);
+            return true;
+        }
+        private void UpdateOpenCount()
+        {
+            GImage imgNew = _curComItem.GetChild("comIcon").asCom.GetChild("imgNew").asImage;
+            int index = (int)_curComItem.data;
+            if (imgNew.visible)
+            {
+                ItemData itemData = itemList[index];
+                ItemCfg cfg = ItemCfgArray.Instance.GetCfg(itemData.id);
+                if (cfg.itemType == ConstItemType.DRESS_UP)
+                {
+                    List<ItemData> itemDatas = ItemUtil.CreateItemDataList(itemData.id, itemData.num);
+                    ViewManager.Show<LuckyBoxNewDressView>(itemDatas);
+                }
+                else if (cfg.itemType == ConstItemType.CARD)
+                {
+                    List<int> list = new List<int>();
+                    list.Add(itemData.id);
+                    ViewManager.Show<LuckyBoxNewCardView>(new object[] { list, new List<ItemData>() });
+                }
+            }
+            openCount++;
+            openState[index] = true;
+            _ui.m_loaMask.visible = false;
+
+        }
+        private void OnClickItemTips(EventContext context)
+        {
+            GLoader item = context.sender as GLoader;
+            int itemID = (int)item.data;
+            GoodsItemTipsController.ShowItemTips(itemID);
+        }
+
+
+        private void OnBtnPassClick()
+        {
+            if (openCount == itemList.Count)
+            {
+                OnClickBg();
+                return;
+            }
+            _ui.m_loaMask.visible = true;
+            if (itemList.Count == 1)
+            {
+                PlayOpenAni(_ui.m_itemOne.target);
+            }
+            else
+            {
+                // Timers.inst.Add(0.3f, openState.Count - openCount, UpdateTime);
+                Timers.inst.StartCoroutine(UpdatePass());
+            }
+        }
+        public IEnumerator UpdatePass()
+        {
+            for (int i = 0; i < openState.Count; i++)
+            {
+                if (openState[i] == false)
+                {
+                    yield return new WaitForSeconds(0.3f);
+                    yield return UpdateTime(i);
+                }
+            }
+            _ui.m_loaMask.visible = false;
+        }
+        private IEnumerator UpdateTime(int index)
+        {
+            GComponent component = _ui.target.GetChild("item" + index).asCom;
+            Transition transition = component.GetTransition("t1");
+            GComponent comIcon = component.GetChild("comIcon").asCom;
+            GImage imgNew = comIcon.GetChild("imgNew").asImage;
+
+            openCount++;
+            openState[index] = true;
+            if (imgNew.visible)
+            {
+                ItemData itemData = itemList[index];
+                ET.Log.Debug("zoya:  itemData:" + itemData);
+                ItemCfg cfg = ItemCfgArray.Instance.GetCfg(itemData.id);
+                if (cfg.itemType == ConstItemType.DRESS_UP)
+                {
+                    newItemList.Insert(0, itemData);
+                }
+                else if (cfg.itemType == ConstItemType.CARD)
+                {
+                    newCardList.Insert(0, itemData.id);
+                }
+            }
+            _gameobjects[index].SetActive(true);
+            if (openCount == itemList.Count)
+            {
+                transition.Play(PlayComplete);
+            }
+            else
+            {
+                transition.Play();
+            }
+            yield return null;
+        }
+        private void PlayComplete()
+        {
+            if (newCardList.Count > 0)
+            {
+                ViewManager.Show<LuckyBoxNewCardView>(new object[] { newCardList, newItemList });
+            }
+            else if (newItemList.Count > 0)
+            {
+                ViewManager.Show<LuckyBoxNewDressView>(newItemList);
+            }
+        }
+    }
+}

+ 11 - 0
LuckyBox/LuckyBoxBonusView.cs.meta

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

+ 81 - 0
LuckyBox/LuckyBoxNewCardView.cs

@@ -0,0 +1,81 @@
+using System.Collections.Generic;
+using ET;
+using FairyGUI;
+using UI.LuckyBox;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class LuckyBoxNewCardView : BaseWindow
+    {
+        private UI_LuckyBoxNewCardUI _ui;
+        private List<int> _newCardList = new List<int>();
+        private List<ItemData> _newDressList = new List<ItemData>();
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_LuckyBoxNewCardUI.PACKAGE_NAME;
+            _ui = UI_LuckyBoxNewCardUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+
+            _ui.m_loaBg.onClick.Add(OnClickBtnBg);
+        }
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+
+            _newCardList = new List<int>((this.viewData as object[])[0] as List<int>);
+            _newDressList = new List<ItemData>((this.viewData as object[])[1] as List<ItemData>);
+            updateView();
+
+        }
+        private void updateView()
+        {
+            ItemCfg cfg = ItemCfgArray.Instance.GetCfg(_newCardList[0]);
+            _ui.m_loaBg.url = ResPathUtil.GetCardPath(cfg.res);
+            _newCardList.RemoveAt(0);
+        }
+        protected override void OnHide()
+        {
+            base.OnHide();
+
+        }
+
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+
+        }
+
+        private void OnClickBtnBg()
+        {
+            if (_newCardList.Count == 0)
+            {
+                this.Hide();
+                if (_newDressList.Count > 0)
+                {
+                    ViewManager.Show<LuckyBoxNewDressView>(_newDressList);
+                }
+                return;
+            }
+            updateView();
+
+        }
+    }
+}

+ 11 - 0
LuckyBox/LuckyBoxNewCardView.cs.meta

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

+ 178 - 0
LuckyBox/LuckyBoxNewDressView.cs

@@ -0,0 +1,178 @@
+using System.Collections;
+using UnityEngine;
+using UI.LuckyBox;
+using System.Collections.Generic;
+using FairyGUI;
+using System.Linq;
+
+namespace GFGGame
+{
+
+    public class LuckyBoxNewDressView : BaseWindow
+    {
+        private UI_LuckyBoxNewDressUI _ui;
+        private List<ItemData> _rewardList = new List<ItemData>();
+        // private List<ItemData> _newRewardList = new List<ItemData>();
+        // private List<ItemData> _oldRewardList = new List<ItemData>();
+        // private List<ItemData> _showRewardList = new List<ItemData>();
+
+        // private int _type = 0;//弹窗类型:0可跳过,1:首次获得物品不可跳过,2首次获得物品不可跳过,不弹获得套装界面
+
+        private GameObject gameObject;
+        private GoWrapper wrapper;
+        public override void Dispose()
+        {
+            base.Dispose();
+            SceneController.DestroyObjectFromView(gameObject, wrapper);
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_LuckyBoxNewDressUI.PACKAGE_NAME;
+            _ui = UI_LuckyBoxNewDressUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+
+            this.modal = true;
+
+
+            _ui.m_bg.onTouchBegin.Add(OnClickBg);
+            _ui.m_btnPass.onClick.Add(OnClickBtnPass);
+
+
+            string resPath = ResPathUtil.GetViewEffectPath("ui_ck", "ui_ck_zs");
+            SceneController.AddObjectToView(gameObject, null, _ui.m_comCard.m_holder, resPath, out gameObject, out wrapper);
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            List<ItemData> rewardList = this.viewData as List<ItemData>;
+            if (_rewardList.Count > 0)
+            {
+                _rewardList.AddRange(rewardList);
+                return;
+            }
+            else
+            {
+                _rewardList = rewardList;
+            }
+            _ui.m_btnPass.visible = false;
+            // _newRewardList.Clear();
+            // _oldRewardList.Clear();
+            // for (int i = 0; i < _rewardList.Count; i++)
+            // {
+            //     if (GetThisCount(_rewardList[i].id, _rewardList) == ItemDataManager.GetItemNum(_rewardList[i].id) && !IsAddToNewRewardList(_rewardList[i].id))
+            //     {
+            //         _newRewardList.Add(_rewardList[i]);
+            //     }
+            //     else
+            //     {
+            //         _oldRewardList.Add(_rewardList[i]);
+            //     }
+            // }
+            // if (LuckyBoxDataManager.Instance.luckyBoxId > 0)//必展示必掉奖励
+            // {
+            //     int[][] bonus = LuckyBoxCfgArray.Instance.GetCfg(LuckyBoxDataManager.Instance.luckyBoxId).bonusArr;
+            //     List<ItemData> itemDatas = ItemUtil.CreateItemDataList(bonus, LuckyBoxDataManager.Instance.times);
+            //     _newRewardList.AddRange(itemDatas);
+            //     LuckyBoxDataManager.Instance.luckyBoxId = 0;
+            // }
+            LuckyBoxDataManager.Instance.luckyBoxId = 0;
+
+            UpdateView();
+        }
+        private void UpdateView()
+        {
+            // _ui.m_btnPass.visible = _newRewardList.Count <= 1;
+            // _newRewardList.Count > 0 ? _newRewardList : _oldRewardList;
+
+            if (_rewardList.Count - 1 < 0) return;
+            ItemData itemdata = _rewardList[_rewardList.Count - 1];
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemdata.id);
+            _ui.m_comCard.m_loaType.url = ResPathUtil.GetCommonGameResPath("hd_sxicon_" + itemCfg.rarity);
+            _ui.m_comCard.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg);
+            // int mainScore = 0;
+            // int mainScoreValue = 0;
+            // ItemDataManager.GetMainScore(itemdata.id, out mainScore, out mainScoreValue);
+            _ui.m_comCard.m_loaProperty.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + itemCfg.mainScore);
+
+            _ui.m_comCard.m_txtName.text = itemCfg.name;
+            _ui.m_comCard.m_txtDiscribe.text = itemCfg.desc;
+            _ui.m_comCard.m_holder.visible = true;
+
+            if (LuckyBoxDataManager.Instance.FirstRewardList.ContainsKey(_rewardList.Count - 1) == true)
+            {
+                LuckyBoxDataManager.Instance.FirstRewardList.Remove(_rewardList.Count - 1);
+            }
+            _rewardList.RemoveAt(_rewardList.Count - 1);
+
+        }
+
+        private void OnClickBg()
+        {
+            if (_rewardList.Count == 0)
+            {
+                //     // if (_type == (int)FirstGetCardViewType.JUMP)
+                //     // {
+                //     ViewManager.Show(ViewName.LUCKY_BOX_BONUS_VIEW, new object[] { (this.viewData as object[])[0] as List<ItemData>, _rewardList });
+                //     // }
+                //     // else if (_type == (int)FirstGetCardViewType.CANNOT_JUMP)
+                //     // {
+                //     //     GetSuitItemController.TryShow(0);
+
+                //     // }
+                this.Hide();
+                return;
+            }
+
+
+            _ui.m_t_close.Play(() =>
+            {
+                _ui.m_comCard.m_holder.visible = false;
+                _ui.m_t_open.Play();
+                UpdateView();
+            });
+        }
+        private int GetThisCount(int itemId, List<ItemData> rewards)
+        {
+            int count = 0;
+            for (int i = 0; i < rewards.Count; i++)
+            {
+                if (rewards[i].id == itemId)
+                {
+                    count++;
+                }
+            }
+            return count;
+        }
+        private bool IsAddToNewRewardList(int itemId)
+        {
+            for (int i = 0; i < _rewardList.Count; i++)
+            {
+                if (itemId == _rewardList[i].id)
+                {
+                    return true;
+                }
+            }
+            return false;
+        }
+        private void OnClickBtnPass()
+        {
+
+            ViewManager.Show(ViewName.LUCKY_BOX_BONUS_VIEW, new object[] { (this.viewData as object[])[0], _rewardList });
+            this.Hide();
+        }
+        protected override void OnHide()
+        {
+            _ui.m_t_close.Stop(true, false);
+            _ui.m_t_open.Stop(true, false);
+            base.OnHide();
+        }
+    }
+}

+ 11 - 0
LuckyBox/LuckyBoxNewDressView.cs.meta

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

+ 81 - 0
LuckyBox/LuckyBoxPreShowView.cs

@@ -0,0 +1,81 @@
+using UI.LuckyBox;
+using UI.CommonGame;
+using System.Collections.Generic;
+using FairyGUI;
+
+namespace GFGGame
+{
+    public class LuckyBoxPreShowView : BaseWindow
+    {
+        private UI_LuckyBoxPreShowUI _ui;
+        private List<LuckyBoxBonusData> _bonusList;
+
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            _ui = UI_LuckyBoxPreShowUI.Create();
+            this.viewCom = _ui.target;
+            this.viewCom.Center();
+            this.modal = true;
+        }
+
+        protected override void OnShown()
+        {
+            base.OnShown();
+            int boxId = (int)this.viewData;
+            LuckyBoxCfg cfg = LuckyBoxCfgArray.Instance.GetCfg(boxId);
+            string probShow = cfg.probShow.Replace("\\n", "\n");
+            _ui.m_compText.m_txtShow.text = probShow;
+
+            _bonusList = LuckyBoxDataManager.Instance.GetCurrentShowList(boxId);
+            _ui.m_list.RemoveChildrenToPool();
+            _ui.m_list.itemRenderer = ListItemRenderer;
+            _ui.m_list.numItems = _bonusList.Count;
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+            if (_ui.m_list.numItems > 0) _ui.m_list.ScrollToView(0);
+            _ui.m_list.RemoveChildrenToPool();
+        }
+
+        private void ListItemRenderer(int index, GObject item)
+        {
+            UI_CompLuckyBoxBonusListItem listItem = UI_CompLuckyBoxBonusListItem.Proxy(item);
+            LuckyBoxBonusData luckyBoxBonusData = _bonusList[index];
+            listItem.m_txtName.text = luckyBoxBonusData.name;
+            if (listItem.m_list.data == null)
+            {
+                listItem.m_list.itemRenderer = ListItemRewardRender;
+            }
+            listItem.m_list.data = luckyBoxBonusData.itemList;
+            listItem.m_list.numItems = luckyBoxBonusData.itemList.Count;
+            listItem.m_list.ResizeToFit();
+            listItem.target.height = listItem.m_list.y + listItem.m_list.height;
+            UI_CompLuckyBoxBonusListItem.ProxyEnd();
+        }
+        private void ListItemRewardRender(int index, GObject obj)
+        {
+            ItemData itemData = (obj.parent.data as List<ItemData>)[index];
+            if (obj.data == null)
+            {
+                obj.data = new ItemView(obj as GComponent);
+            }
+                (obj.data as ItemView).SetData(itemData);
+            (obj.data as ItemView).ShowHasCount = false;
+            (obj.data as ItemView).ImgHasVisible = ItemDataManager.GetItemNum(itemData.id) > 0;
+
+        }
+    }
+}

+ 11 - 0
LuckyBox/LuckyBoxPreShowView.cs.meta

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

+ 391 - 0
LuckyBox/LuckyBoxStarView.cs

@@ -0,0 +1,391 @@
+using System.Collections;
+using UnityEngine;
+using UI.LuckyBox;
+using System.Collections.Generic;
+using FairyGUI;
+using System.Threading;
+using System.Threading.Tasks;
+using System;
+
+namespace GFGGame
+{
+    public class LuckyBoxStarView : BaseWindow
+    {
+        private UI_LuckyBoxStarUI _ui;
+        private List<GObject> comStars = new List<GObject>();
+        private List<GObject> clickComStars = new List<GObject>();
+        private List<GObject> notClickComStars = new List<GObject>();
+
+        // private List<GameObject> _gameObjects = new List<GameObject>();
+        // private List<GoWrapper> _wrappers = new List<GoWrapper>();
+        // private List<GameObject> _gameObjects1 = new List<GameObject>();
+        // private List<GoWrapper> _wrappers1 = new List<GoWrapper>();
+        private Dictionary<int, List<GameObject>> dicGameobj = new Dictionary<int, List<GameObject>>();
+        private Dictionary<int, List<GoWrapper>> dicWraper = new Dictionary<int, List<GoWrapper>>();
+
+        private GObject curComStar;//当前选中的星星
+        private Vector2 lastPos;//鼠标的上一个位置,每颗星星初始时默认为Vector2.right;
+
+        private List<ItemData> _rewardList;
+
+        private const int checkDistance = 40;//鼠标靠近星星周围加减40都算选中星星
+        private const int imgLineWidth = 10;//线的原始长度
+
+        private bool showGuide = false;
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+            base.Dispose();
+        }
+        protected override void OnHide()
+        {
+            int index = 0;
+            GObject star = _ui.target.GetChild(string.Format("comStar{0}_{1}_{2}", _ui.m_ctrlBuyType.selectedIndex, _ui.m_ctrlRewardsType.selectedIndex, index));
+            while (star != null && star.visible == true)
+            {
+                UI_ComStar comStar = UI_ComStar.Proxy(star);
+                for (int i = comStar.target.numChildren - 1; i >= 0; i--)
+                {
+                    if (comStar.target.GetChildAt(i).name == "imgLine") continue;
+                    comStar.target.RemoveChildAt(i);
+                }
+                index++;
+                star = _ui.target.GetChild(string.Format("comStar{0}_{1}_{2}", _ui.m_ctrlBuyType.selectedIndex, _ui.m_ctrlRewardsType.selectedIndex, index));
+                UI_ComStar.ProxyEnd();
+            }
+            foreach (int key in dicGameobj.Keys)
+            {
+                List<GameObject> value = dicGameobj[key];
+                List<GoWrapper> wrappersValue = dicWraper[key];
+                for (int i = 0; i < value.Count; i++)
+                {
+                    SceneController.DestroyObjectFromView(value[i], wrappersValue[i]);
+                }
+            }
+            notClickComStars.Clear();
+            clickComStars.Clear();
+            dicGameobj.Clear();
+            dicWraper.Clear();
+
+            Timers.inst.Remove(CheckGuide);
+        }
+        protected override void OnInit()
+        {
+            base.OnInit();
+            _ui = UI_LuckyBoxStarUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+
+            _ui.m_btnBack.visible = false;
+            _ui.m_btnBack.onClick.Add(OnClickBtnBack);
+
+
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            _ui.target.onTouchBegin.Add(OnClickUIBegin);
+            _ui.target.onTouchMove.Add(OnClickUIMove);
+            _ui.target.onTouchEnd.Add(OnClickUIEnd);
+            _ui.m_effEnd.visible = false;
+            _rewardList = LuckyBoxDataManager.Instance.RewardList;
+            _ui.m_ctrlBuyType.selectedIndex = _rewardList != null && _rewardList.Count > 1 ? 1 : 0;
+
+            bool isLuckyBox = LuckyBoxDataManager.Instance.luckyBoxIds.IndexOf(LuckyBoxDataManager.Instance.currentBoxId) >= 0;
+            _ui.m_ctrlRewardsType.selectedIndex = isLuckyBox ? (LuckyBoxDataManager.Instance.currentBoxId - 1) : 0;
+            string resPath = string.Format("cj_tp_{0}", isLuckyBox ? LuckyBoxDataManager.Instance.currentBoxId : 1);
+            _ui.m_bg.url = ResPathUtil.GetBgImgPath(resPath);
+
+            ResetStartView();
+            Timers.inst.AddUpdate(CheckGuide);
+        }
+
+        private void ResetStartView()
+        {
+            showGuide = GuideDataManager.IsGuideFinish(ConstGuideId.LUCKY_BOX_LINE) <= 0;
+
+            curComStar = null;
+            comStars.Clear();
+            int index = 0;
+            GObject star = _ui.target.GetChild(string.Format("comStar{0}_{1}_{2}", _ui.m_ctrlBuyType.selectedIndex, _ui.m_ctrlRewardsType.selectedIndex, index));
+
+
+            while (star != null && star.visible == true)
+            {
+                UI_ComStar comStar = UI_ComStar.Proxy(star);
+                comStar.m_imgLine.visible = true;
+
+                comStar.m_c1.selectedIndex = 0;
+                comStar.m_imgLine.width = imgLineWidth;
+                comStar.m_imgLine.rotation = 0;
+
+                GComponent gcom = CreateEffect(comStar, 1, "ui_ck"); ;
+                gcom.visible = true;
+                comStar.target.AddChildAt(gcom, 1);
+
+                GComponent gcom1 = CreateEffect(comStar, 2, "ui_ck_dj");
+                gcom1.visible = false;
+                comStar.target.AddChildAt(gcom1, 2);
+
+                GComponent gcom2 = CreateEffect(comStar, 3, "ui_ck_xs");
+                gcom2.visible = false;
+                comStar.target.AddChildAt(gcom2, 3);
+
+                GComponent gcom3 = CreateEffect(comStar, 4, "ui_ck_dj_2");
+                gcom3.visible = false;
+                comStar.target.AddChildAt(gcom3, 4);
+
+
+
+                star.data = new Vector2(comStar.target.x, comStar.target.y);
+                comStars.Add(star);
+
+                index++;
+                star = _ui.target.GetChild(string.Format("comStar{0}_{1}_{2}", _ui.m_ctrlBuyType.selectedIndex, _ui.m_ctrlRewardsType.selectedIndex, index));
+                UI_ComStar.ProxyEnd();
+            }
+
+        }
+        private GComponent CreateEffect(UI_ComStar comStar, int index, string name)
+        {
+            GComponent gcom;
+            if (comStar.target.numChildren > index)
+            {
+                gcom = comStar.target.GetChildAt(index).asCom;
+            }
+            else
+            {
+                gcom = UIPackage.CreateObject("LuckyBox", "ComHolder").asCom;
+                string resPath = ResPathUtil.GetViewEffectPath("ui_ck", name);
+                SceneController.AddObjectToView(null, null, gcom.GetChild("holder").asGraph, resPath, out GameObject gameObject, out GoWrapper wrapper);
+                if (!dicGameobj.ContainsKey(index))
+                {
+                    dicGameobj.Add(index, new List<GameObject>());
+                    dicWraper.Add(index, new List<GoWrapper>());
+                }
+                dicGameobj[index].Add(gameObject);
+                dicWraper[index].Add(wrapper);
+            }
+            return gcom;
+        }
+        private void OnClickUIBegin(EventContext context)
+        {
+            context.CaptureTouch();
+            InputEvent inputEvent = (InputEvent)context.data;
+            Vector2 mousePos = this.viewCom.GlobalToLocal(new Vector2(inputEvent.x, inputEvent.y));
+            CheckNearbyPos(mousePos);
+        }
+        private void OnClickUIMove(EventContext context)
+        {
+            InputEvent inputEvent = (InputEvent)context.data;
+            Vector2 mousePos = this.viewCom.GlobalToLocal(new Vector2(inputEvent.x, inputEvent.y));
+
+            CheckNearbyPos(mousePos);
+
+            if (comStars.Count == 0)//所有星星都点亮了主动结束
+            {
+                this.OnClickUIEnd();
+            }
+        }
+
+        //检测鼠标附近的星星
+        private void CheckNearbyPos(Vector2 mousePos)
+        {
+            for (int i = comStars.Count - 1; i >= 0; i--)
+            {
+                Vector2 comStarPos = (Vector2)comStars[i].data;
+                if (IsSamePos(mousePos, comStarPos))
+                {
+                    if (curComStar != null)
+                    {
+                        SetCurComStarTransfrom(comStarPos);
+                    }
+                    UI_ComStar comStar = UI_ComStar.Proxy(comStars[i]);
+                    comStar.target.GetChildAt(2).asCom.visible = true;
+                    comStar.target.GetChildAt(1).asCom.visible = false;
+                    UI_ComStar.ProxyEnd();
+                    // comStar.m_c1.selectedIndex = 1;
+                    curComStar = comStars[i];
+                    lastPos = Vector2.right;
+
+                    clickComStars.Add(comStars[i]);
+                    comStars.RemoveAt(i);
+
+                }
+                else
+                {
+                    if (curComStar != null)
+                    {
+                        Vector2 curPos = mousePos - (Vector2)curComStar.data;
+                        SetCurComStarTransfrom(mousePos);
+                        lastPos = curPos;
+                    }
+                }
+            }
+
+
+        }
+        private void SetCurComStarTransfrom(Vector2 targetPos)
+        {
+
+            Vector2 curPos = targetPos - (Vector2)curComStar.data;
+            float angle = Vector3.Angle(lastPos, curPos); //求出两向量之间的夹角 
+            Vector3 normal = Vector3.Cross(lastPos, curPos);//叉乘求出法线向量 
+            angle *= Mathf.Sign(Vector3.Dot(normal, Vector3.forward));  //Mathf.Sign()求符号,Vector3.Dot()求方向,求法线向量与物体上方向向量点乘,结果为1或-1,修正旋转方向 
+
+            UI_ComStar comStar = UI_ComStar.Proxy(curComStar);
+            comStar.m_imgLine.rotation += angle;
+            comStar.m_imgLine.width = Vector2.Distance(targetPos, (Vector2)curComStar.data);
+            UI_ComStar.ProxyEnd();
+
+        }
+
+        private void OnClickUIEnd()
+        {
+            if (clickComStars.Count <= 0) return;
+
+            UI_ComStar comStar = UI_ComStar.Proxy(clickComStars[clickComStars.Count - 1]);
+            comStar.m_imgLine.visible = false;
+            UI_ComStar.ProxyEnd();
+
+
+            if (showGuide && clickComStars.Count < 2)
+            {
+                ResetStartView();
+            }
+            else
+            {
+                CheckNotClickComStar();
+                SetComStarDarken();
+                RemoveListener();
+                Timers.inst.Add(1f, 1, SetClickComStarAni);
+
+            }
+        }
+        private void CheckNotClickComStar()
+        {
+            int index = 0;
+            GObject star = _ui.target.GetChild(string.Format("comStar{0}_{1}_{2}", _ui.m_ctrlBuyType.selectedIndex, _ui.m_ctrlRewardsType.selectedIndex, index));
+
+            while (star != null && star.visible == true)
+            {
+                if (clickComStars.IndexOf(star) < 0)
+                {
+                    notClickComStars.Add(star);
+                }
+                index++;
+                star = _ui.target.GetChild(string.Format("comStar{0}_{1}_{2}", _ui.m_ctrlBuyType.selectedIndex, _ui.m_ctrlRewardsType.selectedIndex, index));
+            }
+        }
+
+        private void SetComStarDarken()
+        {
+
+            for (int i = 0; i < notClickComStars.Count; i++)
+            {
+                UI_ComStar notClickComStar = UI_ComStar.Proxy(notClickComStars[i]);
+                notClickComStar.m_imgLine.visible = false;
+                notClickComStar.target.GetChildAt(3).asCom.visible = true;
+                notClickComStar.target.GetChildAt(1).asCom.visible = false;
+                UI_ComStar.ProxyEnd();
+
+            }
+
+        }
+
+        private void SetClickComStarAni(object param)
+        {
+            for (int i = 0; i < clickComStars.Count; i++)
+            {
+                UI_ComStar comStar = UI_ComStar.Proxy(clickComStars[i]);
+                comStar.target.GetChildAt(4).asCom.visible = true;
+                UI_ComStar.ProxyEnd();
+
+            }
+            Timers.inst.Add(0.5f, 1, SetEndEffect);
+        }
+        private void SetEndEffect(object param)
+        {
+            _ui.m_effEnd.visible = true;
+            _ui.m_effEnd.SetPlaySettings(0, -1, 1, -1);
+
+            Timers.inst.Add(0.6f, 1, ClickUIEnd);
+            // ClickUIEnd(null);
+            TryCompleteGuide();
+        }
+        private void ClickUIEnd(object param)
+        {
+            if (curComStar != null)
+            {
+
+                RemoveListener();
+                ViewManager.Show<LuckyBoxBonusView>(new object[] { _rewardList });
+                this.Hide();
+            }
+        }
+
+        private bool IsSamePos(Vector2 mousePos, Vector2 comStarPos)
+        {
+            return (mousePos.x < comStarPos.x + checkDistance) && (mousePos.x > comStarPos.x - checkDistance) && (mousePos.y < comStarPos.y + checkDistance) && (mousePos.y > comStarPos.y - checkDistance);
+        }
+
+        private void RemoveListener()
+        {
+            _ui.target.onTouchBegin.Remove(OnClickUIBegin);
+            _ui.target.onTouchMove.Remove(OnClickUIMove);
+            _ui.target.onTouchEnd.Remove(OnClickUIEnd);
+
+        }
+
+        private void OnClickBtnBack()
+        {
+            this.Hide();
+            RemoveListener();
+
+            ViewManager.Show(ViewName.LUCKY_BOX_VIEW);
+        }
+        private void CheckGuide(object param)
+        {
+            if (GuideDataManager.IsGuideFinish(ConstGuideId.LUCKY_BOX_LINE) <= 0)
+            {
+                UpdateToCheckGuide(null);
+            }
+            else
+            {
+                Timers.inst.Remove(CheckGuide);
+            }
+        }
+
+        protected override void UpdateToCheckGuide(object param)
+        {
+
+            if (!ViewManager.CheckIsTopView(this.viewCom)) return;
+            GuideCfg cfg = GuideCfgArray.Instance.GetCfg(ConstGuideId.LUCKY_BOX_LINE);
+            // GuideController.TryCompleteGuide(ConstGuideId.LUCKY_BOX, 4);
+            GuideController.TryGuide(null, ConstGuideId.LUCKY_BOX_LINE, 1, "点击将星连接在一起。", -1, true, (int)(this.viewCom.height - 200), true);
+            TryCompleteGuide();
+        }
+        protected override void TryCompleteGuide()
+        {
+            if (clickComStars.Count >= 2)
+            {
+                GuideCfg cfg = GuideCfgArray.Instance.GetCfg(ConstGuideId.LUCKY_BOX_LINE);
+
+                GuideController.TryCompleteGuideIndex(cfg.id, 1);
+                GuideController.TryCompleteGuide(ConstGuideId.LUCKY_BOX_LINE, 1);
+            }
+            else
+            {
+                GuideDataManager.SetGuideIndexState(GuideDataManager.currentGuideId, GuideDataManager.currentGuideIdIndex, 0);
+                GuideDataManager.currentGuideIdIndex = 3;
+            }
+
+
+        }
+
+    }
+}

+ 11 - 0
LuckyBox/LuckyBoxStarView.cs.meta

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

+ 434 - 0
LuckyBox/LuckyBoxView.cs

@@ -0,0 +1,434 @@
+using FairyGUI;
+using UI.LuckyBox;
+using UI.CommonGame;
+using System;
+using System.Collections.Generic;
+using UnityEngine;
+using ET;
+
+namespace GFGGame
+{
+    public class LuckyBoxView : BaseView
+    {
+        private UI_LuckyBoxUI _ui;
+        private ValueBarController _valueBarController;
+        private Dictionary<int, LuckyBoxController> _lcukyBoxCtrl = new Dictionary<int, LuckyBoxController>();
+
+        //private GameObject _gameObject;
+        //private GoWrapper _wrapper;
+        //private GameObject _gameObject1;
+        //private GoWrapper _wrapper1;
+        //private GameObject _gameObject2;
+        //private GoWrapper _wrapper2;
+        //private GameObject _gameObject3;
+        //private GoWrapper _wrapper3;
+
+        private DressUpObjUI _dressUpObjUIXiHe;
+
+        //private GameObject _scenePrefab;
+        //private GameObject _sceneObject;
+        //private GoWrapper _wrapper4;
+        //private DressUpObj _dressUpObj;
+        private DressUpObjUI _dressUpObjUIChangXi;
+
+        private bool isActiveBoxOpen = false;
+        private int _activeBoxId = 0;
+        private int _bgIndex = 0;
+        private int _curIndex = 0;
+
+        public override void Dispose()
+        {
+            if (_valueBarController != null)
+            {
+                _valueBarController.Dispose();
+                _valueBarController = null;
+            }
+            foreach (int key in _lcukyBoxCtrl.Keys)
+            {
+                _lcukyBoxCtrl[key].Dispose();
+            }
+            _lcukyBoxCtrl.Clear();
+            if (_dressUpObjUIXiHe != null)
+            {
+                _dressUpObjUIXiHe.Dispose();
+                _dressUpObjUIXiHe = null;
+            }
+            if (_dressUpObjUIChangXi != null)
+            {
+                _dressUpObjUIChangXi.Dispose();
+                _dressUpObjUIChangXi = null;
+            }
+
+            //SceneController.DestroyObjectFromView(_gameObject, _wrapper);
+            //SceneController.DestroyObjectFromView(_gameObject1, _wrapper1);
+            //SceneController.DestroyObjectFromView(_gameObject2, _wrapper2);
+            //SceneController.DestroyObjectFromView(_gameObject3, _wrapper3);
+
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_LuckyBoxUI.PACKAGE_NAME;
+            _ui = UI_LuckyBoxUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+
+            _dressUpObjUIXiHe = new DressUpObjUI("SceneDressUp");
+            _dressUpObjUIChangXi = new DressUpObjUI("SceneDressUp");
+            // _ui.m_txtRemainTimes.visible = false;
+            _valueBarController = new ValueBarController(_ui.m_valueBar);
+            _ui.m_btnBack.onClick.Add(OnClickBtnBack);
+            _ui.m_btnHome.onClick.Add(OnClickBtnHome);
+
+            _ui.m_btnLeft.onClick.Add(OnBtnLeftClick);
+            _ui.m_btnRight.onClick.Add(OnBtnRightClick);
+
+            _ui.m_listBg.SetVirtual();
+            _ui.m_listBg.itemRenderer = RenderListBgItem;
+            _ui.m_listBg.itemProvider = GetListItemResource;
+            _ui.m_listBg.scrollPane.onScrollEnd.Add(OnListBgScroll);
+
+            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("jingzhongh_bg");
+        }
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+
+            EventAgent.AddEventListener(ConstMessage.ITEM_CHANGED, OnListBgScroll);
+            EventAgent.AddEventListener(ConstMessage.NUMERIC_CHANGE, OnListBgScroll);
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+
+            LuckyBoxDataManager.Instance.luckyBoxIds.Clear();
+            LuckyBoxDataManager.Instance.luckyBoxIds.Add(LuckyBoxDataManager.BOX_ID_2);
+            LuckyBoxDataManager.Instance.luckyBoxIds.Add(LuckyBoxDataManager.BOX_ID_3);
+            _activeBoxId = 0;
+            if (LuckyBoxDataManager.Instance.RotatingId > 0)
+            {
+                RotatingLuckyBoxCfg rotatingLuckyBox = RotatingLuckyBoxCfgArray.Instance.GetCfg(LuckyBoxDataManager.Instance.RotatingId);
+                _activeBoxId = rotatingLuckyBox.luckyBoxId;
+                LuckyBoxDataManager.Instance.endTime = TimeUtil.GetTimestamp(rotatingLuckyBox.endTime);
+                LuckyBoxDataManager.Instance.luckyBoxIds.Insert(0, _activeBoxId);
+            }
+
+            int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[0];
+            if (this.viewData != null)
+            {
+                boxId = (int)this.viewData;
+            }
+
+            if (GuideDataManager.IsGuideFinish(ConstGuideId.LUCKY_BOX) <= 0) boxId = LuckyBoxDataManager.BOX_ID_2;
+            LuckyBoxDataManager.Instance.currentBoxId = boxId;
+
+            if (_activeBoxId > 0) Timers.inst.Add(1, 0, CheckTime);
+
+            _valueBarController.OnShown();
+            _valueBarController.Controller(4);
+
+            _curIndex = LuckyBoxDataManager.Instance.luckyBoxIds.IndexOf(boxId);
+            _ui.m_listBg.numItems = LuckyBoxDataManager.Instance.luckyBoxIds.Count;
+            _ui.m_listBg.ScrollToView(_curIndex);
+            _ui.m_listBg.scrollPane.decelerationRate = 0.8f;
+
+            OnListBgScroll();
+            updateBoxEffect();
+
+            Timers.inst.AddUpdate(CheckGuide);
+        }
+        private string GetListItemResource(int index)
+        {
+            if (index == 0 && _activeBoxId > 0)
+            {
+                return "UI://LuckyBox/ComBox";
+            }
+            else
+            {
+                int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[index];
+                return string.Format("UI://LuckyBox/ComBox_{0}", boxId);
+            }
+        }
+        private void RenderListBgItem(int index, GObject obj)
+        {
+            int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[index];
+            LuckyBoxCfg cfg = LuckyBoxCfgArray.Instance.GetCfg(boxId);
+            LuckyBoxDataManager.Instance.InitData(boxId);
+
+            UI_ComBox comBox = UI_ComBox.Proxy(obj);
+            comBox.m_comModel.m_loaBg.url = ResPathUtil.GetBgImgPath(cfg.resArr[_bgIndex]);
+            if (!_lcukyBoxCtrl.ContainsKey(boxId))
+            {
+                _lcukyBoxCtrl.Add(boxId, new LuckyBoxController(comBox.m_comModel.target));
+                if (_ui.m_listBg.ChildIndexToItemIndex(0) == index)
+                {
+                    _lcukyBoxCtrl[boxId].OnShown(boxId);
+                }
+            }
+            comBox.m_btnPreview.m_c1.selectedIndex = boxId;
+            LuckyBoxDataManager.Instance.GetOwnedCount(boxId, out int count, out int totalCount);
+            comBox.m_txtOwned.SetVar("v1", "" + count).FlushVars();
+            comBox.m_txtOwned.SetVar("v2", "" + totalCount).FlushVars();
+            int boughtCount = GameGlobal.myNumericComponent.GetAsInt(cfg.numericType);
+            comBox.m_txtRemainTimes.text = string.Format("今日剩余次数:{0}", cfg.maxCount - boughtCount);
+            comBox.m_comCostOne.m_txtCost.text = cfg.costNum.ToString();
+            comBox.m_comCostOne.m_loaCost.url = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(cfg.costID).res);
+            comBox.m_comCostTen.m_txtCost.text = cfg.costNumTen.ToString();
+            comBox.m_comCostTen.m_loaCost.url = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(cfg.costID).res);
+            if (comBox.m_btnBuyOne.target.data == null)
+            {
+                comBox.m_btnBuyOne.target.onClick.Add(OnClickBtnBuyOne);
+            }
+            comBox.m_btnBuyOne.target.data = boxId;
+
+            if (comBox.m_btnBuyTen.target.data == null)
+            {
+                comBox.m_btnBuyTen.target.onClick.Add(OnClickBtnBuyTen);
+            }
+            comBox.m_btnBuyTen.target.data = boxId;
+
+            if (comBox.m_btnPreview.target.data == null)
+            {
+                comBox.m_btnPreview.target.onClick.Add(OnClickBtnPreview);
+            }
+            comBox.m_btnPreview.target.data = boxId;
+
+            obj.data = boxId;
+            // if (comBox.m_grpLuckyBox != null)
+            // {
+            //     comBox.m_grpLuckyBox.visible = boxId == _activeBoxId;
+            // }
+            if (boxId == _activeBoxId)
+            {
+                long endTime = LuckyBoxDataManager.Instance.endTime;
+                long curTime = TimeHelper.ServerNow();
+                TimeUtil.FormattingTime(curTime, endTime, out int num, out string str);
+                comBox.m_txtTime.text = string.Format("剩余{0}{1}", num, str);
+                comBox.m_grpLuckyBox.visible = boxId == _activeBoxId;
+            }
+
+            UI_ComBox.ProxyEnd();
+
+        }
+
+        // private void UpdateBg(object param)
+        // {
+        //     string[] resArr = LuckyBoxCfgArray.Instance.GetCfg(LuckyBoxDataManager.Instance.currentBoxId).resArr;
+        //     _bgIndex++;
+        //     if (_bgIndex >= resArr.Length) _bgIndex = 0;
+        //     GObject gObject = _ui.m_listBg.GetChildAt(0);
+        //     if (gObject == null) return;
+        //     GComponent item = gObject.asCom;
+        //     if (item.gameObjectName != "ComBox_2") return;
+        //     GLoader loaBg = item.GetChild("loaBg").asLoader;
+        //     loaBg.url = ResPathUtil.GetBgImgPath(resArr[_bgIndex]);
+        // }
+
+
+        private void OnBtnLeftClick()
+        {
+            int index = _curIndex - 1;
+            // _curIndex--;
+            index = Mathf.Max(0, index);
+            _ui.m_listBg.ScrollToView(index, true);
+            // OnListBgScroll();
+        }
+
+        private void OnBtnRightClick()
+        {
+            int index = _curIndex + 1;
+            // _curIndex++;
+            index = Mathf.Min(_ui.m_listBg.numItems - 1, index);
+            _ui.m_listBg.ScrollToView(index, true);
+            // OnListBgScroll();
+        }
+
+        private void OnListBgScroll()
+        {
+            _lcukyBoxCtrl[LuckyBoxDataManager.Instance.currentBoxId].OnHide();
+            _curIndex = _ui.m_listBg.ChildIndexToItemIndex(0);
+            LuckyBoxDataManager.Instance.currentBoxId = LuckyBoxDataManager.Instance.luckyBoxIds[_curIndex];
+
+            _bgIndex = 0;
+            _valueBarController.UpdateCJ();
+            _lcukyBoxCtrl[LuckyBoxDataManager.Instance.currentBoxId].OnShown(LuckyBoxDataManager.Instance.currentBoxId);
+            _ui.m_btnLeft.grayed = _curIndex <= 0;
+            _ui.m_btnRight.grayed = _curIndex >= _ui.m_listBg.numItems - 1;
+
+        }
+
+        private void CheckTime(object param = null)
+        {
+            if (LuckyBoxDataManager.Instance.currentBoxId != _activeBoxId) return;
+            long endTime = LuckyBoxDataManager.Instance.endTime;
+            long curTime = TimeHelper.ServerNow();
+            TimeUtil.FormattingTime(curTime, endTime, out int num, out string str);
+
+            GObject item = _ui.m_listBg.GetChildAt(0);
+            if (item == null) return;
+            GObject textField = item.asCom.GetChild("txtTime");
+            if (textField == null) return;
+            textField.asTextField.text = string.Format("剩余{0}{1}", num, str);
+        }
+        private void updateBoxEffect()
+        {
+            if (isActiveBoxOpen)
+            {
+                // int index = Array.IndexOf(LuckyBoxDataManager.Instance.luckyBoxIds, LuckyBoxDataManager.BOX_ID_1);
+                // UI_ComListBgItem item = UI_ComListBgItem.Proxy(_ui.m_listBg.GetChildAt(index));
+                // string resPath = ResPathUtil.GetViewEffectPath("ui_cj", "ui_cj_bt");
+                // SceneController.AddObjectToView(_gameObject, _wrapper, item.m_holder, resPath, out _gameObject, out _wrapper);
+                // string resPath3 = ResPathUtil.GetDressUpAnimationPath("dz_jiyuet");
+                // SceneController.AddObjectToView(_gameObject3, _wrapper3, item.m_holder1, resPath3, out _gameObject3, out _wrapper3, 120);
+
+                // string resPath1 = ResPathUtil.GetViewEffectPath("ui_cj", "ui_cj_sl");
+                // SceneController.AddObjectToView(_gameObject1, _wrapper1, _ui.m_btnBuyOne.m_holder, resPath1, out _gameObject1, out _wrapper1);
+                // SceneController.AddObjectToView(_gameObject2, _wrapper2, _ui.m_btnBuyTen.m_holder, resPath1, out _gameObject2, out _wrapper2);
+                // UI_ComListBgItem.ProxyEnd();
+
+            }
+        }
+        // private void OnClickBtnExChange(EventContext context)
+        // {
+        //     GObject obj = context.sender as GObject;
+        //     int boxId = (int)obj.data;
+        //     int storeId = boxId == LuckyBoxDataManager.BOX_ID_1 ? ConstStoreId.LUCKY_BOX_ACTIVITY_STORE_ID : ConstStoreId.LUCKY_BOX_STORE_ID;
+        //     ViewManager.Show(ViewName.CLOTHING_SHOP_VIEW, new object[] { storeId }, new object[] { ViewName.LUCKY_BOX_VIEW, boxId });
+        //     this.Hide();
+        // }
+        private void OnClickBtnPreview(EventContext context)
+        {
+            GObject obj = context.sender as GObject;
+            int boxId = (int)obj.data;
+            ViewManager.Show(ViewName.LUCKY_BOX_PRE_SHOW_VIEW, boxId);
+        }
+        private void OnClickBtnBuyOne(EventContext context)
+        {
+            GObject obj = context.sender as GObject;
+            int boxId = (int)obj.data;
+            LuckyBoxCfg luckyBoxCfg = LuckyBoxCfgArray.Instance.GetCfg(boxId);
+            int boughtCount = GameGlobal.myNumericComponent.GetAsInt(luckyBoxCfg.numericType);
+            if (boughtCount + LuckyBoxDataManager.ONCE_TIME > luckyBoxCfg.maxCount)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("抽奖次数不足");
+                return;
+            }
+            LuckyBoxDataManager.Instance.CheckItemEnough(boxId, LuckyBoxDataManager.ONCE_TIME, async () =>
+             {
+                 bool result = await LuckyBoxSProxy.ReqGetBonus(boxId, LuckyBoxDataManager.ONCE_TIME);
+                 if (result)
+                 {
+                     ViewManager.Show(ViewName.LUCKY_BOX_STAR_VIEW, null, new object[] { ViewName.LUCKY_BOX_VIEW, boxId });
+                     LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.ZAI_XING, 2);
+                 }
+             });
+        }
+
+        private void OnClickBtnBuyTen(EventContext context)
+        {
+
+            GuideCfg cfg = GuideCfgArray.Instance.GetCfg(ConstGuideId.LUCKY_BOX);
+            if (GuideDataManager.IsGuideFinish(ConstGuideId.LUCKY_BOX) <= 0 && (GuideDataManager.currentGuideId == 0 || GuideDataManager.currentGuideIdIndex != 2))
+            {
+                //防止点击太快,在引导开启前就被点击到,导致引导卡死
+                return;
+            }
+            GObject obj = context.sender as GObject;
+            int boxId = (int)obj.data;
+            LuckyBoxCfg luckyBoxCfg = LuckyBoxCfgArray.Instance.GetCfg(boxId);
+            int boughtCount = GameGlobal.myNumericComponent.GetAsInt(luckyBoxCfg.numericType);
+            if (boughtCount + LuckyBoxDataManager.TEN_TIME > luckyBoxCfg.maxCount)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("抽奖次数不足");
+                return;
+            }
+            LuckyBoxDataManager.Instance.CheckItemEnough(boxId, LuckyBoxDataManager.TEN_TIME, async () =>
+            {
+
+                bool result = await LuckyBoxSProxy.ReqGetBonus(boxId, LuckyBoxDataManager.TEN_TIME);
+                if (result)
+                {
+
+                    ViewManager.Show(ViewName.LUCKY_BOX_STAR_VIEW, null, new object[] { ViewName.LUCKY_BOX_VIEW, boxId });
+                    LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.ZAI_XING, 2);
+
+                }
+            });
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+            _valueBarController.OnHide();
+            foreach (int key in _lcukyBoxCtrl.Keys)
+            {
+                _lcukyBoxCtrl[key].OnHide();
+            }
+
+            Timers.inst.Remove(CheckTime);
+            // Timers.inst.Remove(UpdateBg);
+            Timers.inst.Remove(CheckGuide);
+            // Timers.inst.Remove(UpdateTime);
+        }
+
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+            EventAgent.RemoveEventListener(ConstMessage.ITEM_CHANGED, OnListBgScroll);
+            EventAgent.RemoveEventListener(ConstMessage.NUMERIC_CHANGE, OnListBgScroll);
+        }
+
+        private void OnClickBtnBack()
+        {
+            Reset();
+            ViewManager.GoBackFrom(ViewName.LUCKY_BOX_VIEW);
+
+        }
+
+        private void OnClickBtnHome()
+        {
+            GameController.GoBackToMainView();
+        }
+
+        private void Reset()
+        {
+            LuckyBoxDataManager.Instance.currentBoxId = LuckyBoxDataManager.Instance.luckyBoxIds[0];
+
+        }
+        private void CheckGuide(object param)
+        {
+            if (GuideDataManager.IsGuideFinish(ConstGuideId.LUCKY_BOX) <= 0)
+            {
+                UpdateToCheckGuide(null);
+            }
+            else
+            {
+                Timers.inst.Remove(CheckGuide);
+            }
+        }
+
+        protected override void UpdateToCheckGuide(object param)
+        {
+            if (!ViewManager.CheckIsTopView(this.viewCom)) return;
+            GObject gObject = _ui.m_listBg.GetChildAt(0);
+            if (gObject == null) return;
+            GButton btnBuyTen = gObject.asCom.GetChild("btnBuyTen").asButton;
+
+            GuideController.TryGuide(null, ConstGuideId.LUCKY_BOX, 1, "“摘星”里可以通过星辰的力量获得服饰。", -1, true, _ui.target.height - 600);
+            GuideController.TryGuide(btnBuyTen, ConstGuideId.LUCKY_BOX, 2, "点击摘取十次。");
+        }
+        protected override void TryCompleteGuide()
+        {
+            base.TryCompleteGuide();
+            GuideCfg cfg = GuideCfgArray.Instance.GetCfg(ConstGuideId.LUCKY_BOX);
+            GuideController.TryCompleteGuideIndex(cfg.id, 2);
+        }
+    }
+}

+ 11 - 0
LuckyBox/LuckyBoxView.cs.meta

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