فهرست منبع

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

# Conflicts:
#	GameClient/Assets/ResIn/Config/excelConfig.sqlite.bytes
guodong 3 سال پیش
والد
کامیت
0fd92b7f69
95فایلهای تغییر یافته به همراه1509 افزوده شده و 640 حذف شده
  1. 3 3
      FGUIProject/assets/ClothingShop/ClothingShopUI.xml
  2. 13 0
      FGUIProject/assets/Common/components/Button12.xml
  3. BIN
      FGUIProject/assets/Common/imagesExport/grxx_anniu_1.png
  4. BIN
      FGUIProject/assets/Common/imagesExport/grxx_anniu_2.png
  5. 3 0
      FGUIProject/assets/Common/package.xml
  6. 5 2
      FGUIProject/assets/CommonGame/RewardUI.xml
  7. BIN
      FGUIProject/assets/CommonGame/imagesExport/kp_sx_da_1.png
  8. BIN
      FGUIProject/assets/CommonGame/imagesExport/kp_sx_da_2.png
  9. BIN
      FGUIProject/assets/CommonGame/imagesExport/kp_sx_da_3.png
  10. BIN
      FGUIProject/assets/CommonGame/imagesExport/kp_sx_da_4.png
  11. BIN
      FGUIProject/assets/CommonGame/imagesExport/kp_sxing_x_1.png
  12. BIN
      FGUIProject/assets/CommonGame/imagesExport/kp_sxing_x_2.png
  13. BIN
      FGUIProject/assets/CommonGame/imagesExport/kp_sxing_x_3.png
  14. BIN
      FGUIProject/assets/CommonGame/imagesExport/kp_sxing_x_4.png
  15. 3 0
      FGUIProject/assets/DressUp/DressUpFightUI.xml
  16. 3 0
      FGUIProject/assets/DressUp/DressUpUI.xml
  17. 1 1
      FGUIProject/assets/Guide/GuideUI.xml
  18. 8 0
      FGUIProject/assets/Guide/components/ComHolder.xml
  19. 1 0
      FGUIProject/assets/Guide/package.xml
  20. 13 13
      FGUIProject/assets/Main/RoleInfoUI.xml
  21. 3 3
      FGUIProject/assets/Main/components/ProgressBarExp2.xml
  22. BIN
      FGUIProject/assets/Main/images/grxx_dikuang.png
  23. BIN
      FGUIProject/assets/Main/images/grxx_jyt_1.png
  24. BIN
      FGUIProject/assets/Main/images/grxx_jyt_2.png
  25. 12 12
      GameClient/Assets/Editor/Excel/CodeBuilder.cs
  26. 50 0
      GameClient/Assets/Editor/Excel/Scanner/CardScanner.cs
  27. 11 0
      GameClient/Assets/Editor/Excel/Scanner/CardScanner.cs.meta
  28. 239 0
      GameClient/Assets/Editor/Excel/Scanner/ShopScanner.cs
  29. 11 0
      GameClient/Assets/Editor/Excel/Scanner/ShopScanner.cs.meta
  30. 8 4
      GameClient/Assets/Editor/ToolsMenu.cs
  31. 12 0
      GameClient/Assets/Game/HotUpdate/Constant/ConstStorageId.cs
  32. 11 0
      GameClient/Assets/Game/HotUpdate/Constant/ConstStorageId.cs.meta
  33. 37 12
      GameClient/Assets/Game/HotUpdate/Controller/GameController.cs
  34. 26 33
      GameClient/Assets/Game/HotUpdate/Controller/GuideController.cs
  35. 5 5
      GameClient/Assets/Game/HotUpdate/Controller/LoginController.cs
  36. 66 122
      GameClient/Assets/Game/HotUpdate/Data/CardDataManager.cs
  37. 31 62
      GameClient/Assets/Game/HotUpdate/Data/GuideDataManager.cs
  38. 0 6
      GameClient/Assets/Game/HotUpdate/Data/ItemDataManager.cs
  39. 1 1
      GameClient/Assets/Game/HotUpdate/Data/MainStoryDataManager.cs
  40. 35 27
      GameClient/Assets/Game/HotUpdate/Data/ScoreSystemData.cs
  41. 45 59
      GameClient/Assets/Game/HotUpdate/Data/SkillDataManager.cs
  42. 33 0
      GameClient/Assets/Game/HotUpdate/Data/StorageDataManager.cs
  43. 11 0
      GameClient/Assets/Game/HotUpdate/Data/StorageDataManager.cs.meta
  44. 4 0
      GameClient/Assets/Game/HotUpdate/DressUp/DressUpObjDataCache.cs
  45. 11 10
      GameClient/Assets/Game/HotUpdate/ExcelConfig/Manager/CardCfgManager.cs
  46. 4 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/DressUp/UI_DressUpFightUI.cs
  47. 4 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/DressUp/UI_DressUpUI.cs
  48. 71 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Guide/UI_ComHolder.cs
  49. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Guide/UI_ComHolder.cs.meta
  50. 4 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Guide/UI_GuideUI.cs
  51. 89 0
      GameClient/Assets/Game/HotUpdate/ServerProxy/CardSProxy.cs
  52. 11 0
      GameClient/Assets/Game/HotUpdate/ServerProxy/CardSProxy.cs.meta
  53. 1 1
      GameClient/Assets/Game/HotUpdate/ServerProxy/ItemExchangeSProxy.cs
  54. 1 2
      GameClient/Assets/Game/HotUpdate/ServerProxy/ShopSProxy.cs
  55. 44 0
      GameClient/Assets/Game/HotUpdate/ServerProxy/StorageSProxy.cs
  56. 11 0
      GameClient/Assets/Game/HotUpdate/ServerProxy/StorageSProxy.cs.meta
  57. 1 1
      GameClient/Assets/Game/HotUpdate/ServerProxy/StudioSProxy.cs
  58. 20 20
      GameClient/Assets/Game/HotUpdate/Views/Card/CardDetailView.cs
  59. 75 79
      GameClient/Assets/Game/HotUpdate/Views/Card/CardFosterView.cs
  60. 37 33
      GameClient/Assets/Game/HotUpdate/Views/Card/CardSkillView.cs
  61. 13 4
      GameClient/Assets/Game/HotUpdate/Views/ClothingShop/ClothingShopView.cs
  62. 1 1
      GameClient/Assets/Game/HotUpdate/Views/ClothingSynthetic/ClothingSyntheticView.cs
  63. 1 1
      GameClient/Assets/Game/HotUpdate/Views/ClothingSynthetic/SuitSyntheticView.cs
  64. 5 0
      GameClient/Assets/Game/HotUpdate/Views/Common/Alert/AlertWindow.cs
  65. 3 3
      GameClient/Assets/Game/HotUpdate/Views/CommonGame/ApproachOfItemView.cs
  66. 1 1
      GameClient/Assets/Game/HotUpdate/Views/CommonGame/GetBonusView.cs
  67. 2 2
      GameClient/Assets/Game/HotUpdate/Views/CommonGame/GetSuitItemVIew.cs
  68. 128 9
      GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpFightView.cs
  69. 2 1
      GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpListType.cs
  70. 150 5
      GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpView.cs
  71. 1 1
      GameClient/Assets/Game/HotUpdate/Views/DressUp/PhotographView.cs
  72. 49 59
      GameClient/Assets/Game/HotUpdate/Views/Guide/GuideView.cs
  73. 5 5
      GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxStarView.cs
  74. 3 3
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryCardChoose.cs
  75. 1 1
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryChapterView.cs
  76. 9 2
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightSingleScoreView.cs
  77. 19 11
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetScoreView.cs
  78. 2 2
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryLevelInfoView.cs
  79. 1 1
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StorySkillView.cs
  80. 9 9
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StroyFightResultView.cs
  81. 5 5
      GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs
  82. BIN
      GameClient/Assets/ResIn/Config/excelConfig.sqlite.bytes
  83. BIN
      GameClient/Assets/ResIn/UI/ClothingShop/ClothingShop_fui.bytes
  84. BIN
      GameClient/Assets/ResIn/UI/Common/Common_atlas0.png
  85. BIN
      GameClient/Assets/ResIn/UI/Common/Common_fui.bytes
  86. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0!a.png
  87. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0.png
  88. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_fui.bytes
  89. BIN
      GameClient/Assets/ResIn/UI/DressUp/DressUp_fui.bytes
  90. BIN
      GameClient/Assets/ResIn/UI/Guide/Guide_fui.bytes
  91. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_1!a.png
  92. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_1.png
  93. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_2!a.png
  94. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_2.png
  95. BIN
      GameClient/Assets/ResIn/UI/Main/Main_fui.bytes

+ 3 - 3
FGUIProject/assets/ClothingShop/ClothingShopUI.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
 <component size="1080,1920">
 <component size="1080,1920">
-  <controller name="c1" pages="2,,3,,4,,5," selected="3">
+  <controller name="c1" pages="2,,3,,4,,5," selected="2">
     <remark page="1" value="服装店"/>
     <remark page="1" value="服装店"/>
     <remark page="2" value="落星商店"/>
     <remark page="2" value="落星商店"/>
     <remark page="3" value="活动商店"/>
     <remark page="3" value="活动商店"/>
@@ -81,14 +81,14 @@
     </component>
     </component>
     <component id="n47_ugdz" name="btnBack" src="9xlo8" fileName="components/ButtonBack1.xml" pkg="eg2y0ldp" xy="35,80"/>
     <component id="n47_ugdz" name="btnBack" src="9xlo8" fileName="components/ButtonBack1.xml" pkg="eg2y0ldp" xy="35,80"/>
     <image id="n49_f5bl" name="n49" src="lwri5x" fileName="images/hc_btkuang_1.png" pkg="eg2y0ldp" xy="282,103" group="n51_f5bl"/>
     <image id="n49_f5bl" name="n49" src="lwri5x" fileName="images/hc_btkuang_1.png" pkg="eg2y0ldp" xy="282,103" group="n51_f5bl"/>
-    <text id="n50_f5bl" name="txtTitle" xy="540,98" pivot="0.5,0" anchor="true" size="154,51" group="n51_f5bl" fontSize="38" color="#fdf4e3" text="活动商店">
+    <text id="n50_f5bl" name="txtTitle" xy="540,98" pivot="0.5,0" anchor="true" size="154,51" group="n51_f5bl" fontSize="38" color="#fdf4e3" text="落星商店">
       <gearText controller="c1" pages="4" values="落星商店" default="活动商店"/>
       <gearText controller="c1" pages="4" values="落星商店" default="活动商店"/>
     </text>
     </text>
     <group id="n51_f5bl" name="grpTop" xy="282,98" size="516,60" advanced="true">
     <group id="n51_f5bl" name="grpTop" xy="282,98" size="516,60" advanced="true">
       <gearDisplay controller="c1" pages="4,5"/>
       <gearDisplay controller="c1" pages="4,5"/>
     </group>
     </group>
     <image id="n52_iakb" name="n52" src="iakb5z" fileName="images/fzd_lxsdt.png" xy="431,1140" group="n53_iakb"/>
     <image id="n52_iakb" name="n52" src="iakb5z" fileName="images/fzd_lxsdt.png" xy="431,1140" group="n53_iakb"/>
-    <text id="n54_iakb" name="txtTips" xy="476,1162" size="325,39" group="n59_iakb" fontSize="28" color="#fffbf0" text="100星屑自动合成1落星石"/>
+    <text id="n54_iakb" name="txtTips" xy="476,1162" size="308,39" group="n59_iakb" fontSize="28" color="#fffbf0" text="50星屑自动合成1落星石"/>
     <loader id="n55_iakb" name="loaIcon0" xy="821,1162" size="42,42" group="n60_iakb" url="ui://eg2y0ldply9g8m" autoSize="true"/>
     <loader id="n55_iakb" name="loaIcon0" xy="821,1162" size="42,42" group="n60_iakb" url="ui://eg2y0ldply9g8m" autoSize="true"/>
     <text id="n56_iakb" name="txtCount0" xy="865,1162" size="56,39" group="n60_iakb" fontSize="28" color="#fffbf0" text="100"/>
     <text id="n56_iakb" name="txtCount0" xy="865,1162" size="56,39" group="n60_iakb" fontSize="28" color="#fffbf0" text="100"/>
     <group id="n60_iakb" name="n60" xy="821,1162" size="100,42" group="n59_iakb"/>
     <group id="n60_iakb" name="n60" xy="821,1162" size="100,42" group="n59_iakb"/>

+ 13 - 0
FGUIProject/assets/Common/components/Button12.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="324,105" extention="Button">
+  <controller name="button" pages="0,up,1,down,2,over,3,selectedOver" selected="0"/>
+  <displayList>
+    <image id="n0_ih75" name="icon" src="ih7592" fileName="imagesExport/tctc_anniu_1.png" xy="0,0" size="324,105">
+      <relation target="" sidePair="width-width,height-height"/>
+    </image>
+    <text id="n1_ih75" name="title" xy="0,0" size="324,105" fontSize="46" color="#fff7e4" align="center" vAlign="middle" letterSpacing="2" autoSize="none" strokeColor="#ac904e" singleLine="true" text="确定">
+      <relation target="" sidePair="width-width,height-height"/>
+    </text>
+  </displayList>
+  <Button/>
+</component>

BIN
FGUIProject/assets/Common/imagesExport/grxx_anniu_1.png


BIN
FGUIProject/assets/Common/imagesExport/grxx_anniu_2.png


+ 3 - 0
FGUIProject/assets/Common/package.xml

@@ -35,6 +35,9 @@
     <image id="ih7592" name="tctc_anniu_1.png" path="/imagesExport/"/>
     <image id="ih7592" name="tctc_anniu_1.png" path="/imagesExport/"/>
     <image id="ih7591" name="tctc_anniu_2.png" path="/imagesExport/"/>
     <image id="ih7591" name="tctc_anniu_2.png" path="/imagesExport/"/>
     <component id="pf2696" name="ComHolder.xml" path="/components/" exported="true"/>
     <component id="pf2696" name="ComHolder.xml" path="/components/" exported="true"/>
+    <component id="axdi97" name="Button12.xml" path="/components/" exported="true"/>
+    <image id="axdi98" name="grxx_anniu_2.png" path="/imagesExport/"/>
+    <image id="axdi99" name="grxx_anniu_1.png" path="/imagesExport/"/>
   </resources>
   </resources>
   <publish name="" path="..\GameClient\Assets\ResIn\UI\Common" packageCount="2" genCode="true" extractAlpha="true"/>
   <publish name="" path="..\GameClient\Assets\ResIn\UI\Common" packageCount="2" genCode="true" extractAlpha="true"/>
 </packageDescription>
 </packageDescription>

+ 5 - 2
FGUIProject/assets/CommonGame/RewardUI.xml

@@ -6,14 +6,17 @@
     <image id="n1_m9wm" name="imgTitle" src="m9wm8r" fileName="images/gxhd_btbt.png" xy="0,300" group="n8_m9wm">
     <image id="n1_m9wm" name="imgTitle" src="m9wm8r" fileName="images/gxhd_btbt.png" xy="0,300" group="n8_m9wm">
       <relation target="" sidePair="center-center"/>
       <relation target="" sidePair="center-center"/>
     </image>
     </image>
-    <list id="n6_m9wm" name="listReward" xy="91,730" size="898,248" group="n8_m9wm" layout="row" overflow="scroll" scroll="horizontal" colGap="91" defaultItem="ui://eg2y0ldpm9wm8u" align="center">
+    <list id="n6_m9wm" name="listReward" xy="95,730" size="889,580" group="n8_m9wm" layout="flow_hz" overflow="scroll" lineGap="60" colGap="91" defaultItem="ui://eg2y0ldpm9wm8u" align="center">
       <relation target="" sidePair="center-center"/>
       <relation target="" sidePair="center-center"/>
       <item/>
       <item/>
       <item/>
       <item/>
       <item/>
       <item/>
       <item/>
       <item/>
+      <item/>
+      <item/>
+      <item/>
     </list>
     </list>
-    <group id="n8_m9wm" name="grp" xy="0,300" size="1080,816" advanced="true"/>
+    <group id="n8_m9wm" name="grp" xy="0,300" size="1080,1010" advanced="true"/>
     <text id="n7_m9wm" name="n7" xy="430,1822" size="220,49" fontSize="36" color="#958163" text="点击屏幕继续">
     <text id="n7_m9wm" name="n7" xy="430,1822" size="220,49" fontSize="36" color="#958163" text="点击屏幕继续">
       <relation target="" sidePair="bottom-bottom"/>
       <relation target="" sidePair="bottom-bottom"/>
     </text>
     </text>

BIN
FGUIProject/assets/CommonGame/imagesExport/kp_sx_da_1.png


BIN
FGUIProject/assets/CommonGame/imagesExport/kp_sx_da_2.png


BIN
FGUIProject/assets/CommonGame/imagesExport/kp_sx_da_3.png


BIN
FGUIProject/assets/CommonGame/imagesExport/kp_sx_da_4.png


BIN
FGUIProject/assets/CommonGame/imagesExport/kp_sxing_x_1.png


BIN
FGUIProject/assets/CommonGame/imagesExport/kp_sxing_x_2.png


BIN
FGUIProject/assets/CommonGame/imagesExport/kp_sxing_x_3.png


BIN
FGUIProject/assets/CommonGame/imagesExport/kp_sxing_x_4.png


+ 3 - 0
FGUIProject/assets/DressUp/DressUpFightUI.xml

@@ -34,6 +34,9 @@
     <component id="n10_qsvd" name="partsList" src="k6he1v" fileName="components/PartsList.xml" xy="1081,80" size="222,1828" group="n38_8lqj">
     <component id="n10_qsvd" name="partsList" src="k6he1v" fileName="components/PartsList.xml" xy="1081,80" size="222,1828" group="n38_8lqj">
       <relation target="" sidePair="right-right,top-top,bottomext-bottom"/>
       <relation target="" sidePair="right-right,top-top,bottomext-bottom"/>
     </component>
     </component>
+    <component id="n40_afs6" name="partsList2" src="k6he1v" fileName="components/PartsList.xml" xy="1080,80" size="222,1828" group="n38_8lqj">
+      <relation target="" sidePair="right-right,top-top,bottomext-bottom"/>
+    </component>
     <component id="n15_vxw5" name="btnHint" src="f4xv3o" fileName="components/Button6.xml" xy="27,895" size="116,106" group="n38_8lqj">
     <component id="n15_vxw5" name="btnHint" src="f4xv3o" fileName="components/Button6.xml" xy="27,895" size="116,106" group="n38_8lqj">
       <relation target="" sidePair="left-left,bottom-bottom"/>
       <relation target="" sidePair="left-left,bottom-bottom"/>
       <Button title="任务提示" titleColor="#ffffff" titleFontSize="42" icon="ui://mbo439wb8xpg2q"/>
       <Button title="任务提示" titleColor="#ffffff" titleFontSize="42" icon="ui://mbo439wb8xpg2q"/>

+ 3 - 0
FGUIProject/assets/DressUp/DressUpUI.xml

@@ -32,6 +32,9 @@
     <component id="n17_k6he" name="partsList" src="k6he1v" fileName="components/PartsList.xml" xy="1081,80" size="222,1828" group="n30_8lqj">
     <component id="n17_k6he" name="partsList" src="k6he1v" fileName="components/PartsList.xml" xy="1081,80" size="222,1828" group="n30_8lqj">
       <relation target="" sidePair="right-right,top-top,bottomext-bottom"/>
       <relation target="" sidePair="right-right,top-top,bottomext-bottom"/>
     </component>
     </component>
+    <component id="n32_afs6" name="partsList2" src="k6he1v" fileName="components/PartsList.xml" xy="1081,80" size="222,1828" group="n30_8lqj">
+      <relation target="" sidePair="right-right,top-top,bottomext-bottom"/>
+    </component>
     <component id="n27_j48o" name="btnAction" src="f4xv3o" fileName="components/Button6.xml" xy="27,735" size="116,106" group="n30_8lqj">
     <component id="n27_j48o" name="btnAction" src="f4xv3o" fileName="components/Button6.xml" xy="27,735" size="116,106" group="n30_8lqj">
       <Button icon="ui://mbo439wbj48o3x"/>
       <Button icon="ui://mbo439wbj48o3x"/>
     </component>
     </component>

+ 1 - 1
FGUIProject/assets/Guide/GuideUI.xml

@@ -7,6 +7,6 @@
     <component id="n15_tu96" name="rectFrame" src="tu96f" fileName="components/Component3.xml" xy="404,798" visible="false" touchable="false"/>
     <component id="n15_tu96" name="rectFrame" src="tu96f" fileName="components/Component3.xml" xy="404,798" visible="false" touchable="false"/>
     <component id="n17_tu96" name="compTxt" src="tu96d" fileName="components/Component1.xml" xy="261,1099" touchable="false"/>
     <component id="n17_tu96" name="compTxt" src="tu96d" fileName="components/Component1.xml" xy="261,1099" touchable="false"/>
     <image id="n18_a5x3" name="rectFrameTemp" src="tu96c" fileName="images/yd_tykuang_2.png" xy="272,822" visible="false"/>
     <image id="n18_a5x3" name="rectFrameTemp" src="tu96c" fileName="images/yd_tykuang_2.png" xy="272,822" visible="false"/>
-    <graph id="n19_bd1c" name="holder" xy="400,1285" size="100,100" touchable="false"/>
+    <component id="n19_bd1c" name="comHolder" src="axdii" fileName="components/ComHolder.xml" xy="400,1285" touchable="false"/>
   </displayList>
   </displayList>
 </component>
 </component>

+ 8 - 0
FGUIProject/assets/Guide/components/ComHolder.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="100,100">
+  <displayList>
+    <graph id="n19_bd1c" name="holder" xy="0,0" pivot="0.5,0.5" size="100,100" touchable="false">
+      <relation target="" sidePair="center-center,middle-middle"/>
+    </graph>
+  </displayList>
+</component>

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

@@ -11,6 +11,7 @@
     <component id="tu96e" name="Component2.xml" path="/components/"/>
     <component id="tu96e" name="Component2.xml" path="/components/"/>
     <component id="tu96f" name="Component3.xml" path="/components/"/>
     <component id="tu96f" name="Component3.xml" path="/components/"/>
     <image id="o139g" name="yd_tykuang_3.png" path="/images/"/>
     <image id="o139g" name="yd_tykuang_3.png" path="/images/"/>
+    <component id="axdii" name="ComHolder.xml" path="/components/"/>
   </resources>
   </resources>
   <publish name="Guide" path="..\GameClient\Assets\ResIn\UI\Guide" packageCount="2" genCode="true" extractAlpha="true">
   <publish name="Guide" path="..\GameClient\Assets\ResIn\UI\Guide" packageCount="2" genCode="true" extractAlpha="true">
     <atlas name="默认" index="0"/>
     <atlas name="默认" index="0"/>

+ 13 - 13
FGUIProject/assets/Main/RoleInfoUI.xml

@@ -1,26 +1,26 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
 <component size="878,1044">
 <component size="878,1044">
   <displayList>
   <displayList>
-    <loader id="n0_d4iw" name="bg" xy="0,0" size="878,1044" url="ui://mfvz4q8kmhyhd5" fill="scaleFree" autoSize="true"/>
+    <loader id="n0_d4iw" name="bg" xy="0,0" size="877,1103" url="ui://mfvz4q8kmhyhd5" fill="scaleFree" autoSize="true"/>
     <image id="n23_mhyh" name="n23" src="mhyhd7" fileName="images/grxx_mzk_1.png" xy="287,313"/>
     <image id="n23_mhyh" name="n23" src="mhyhd7" fileName="images/grxx_mzk_1.png" xy="287,313"/>
     <text id="n2_d4iw" name="txtTitle" xy="93,22" size="726,56" visible="false" fontSize="42" color="#ffffff" align="center" autoSize="none" text="个人信息"/>
     <text id="n2_d4iw" name="txtTitle" xy="93,22" size="726,56" visible="false" fontSize="42" color="#ffffff" align="center" autoSize="none" text="个人信息"/>
     <component id="n4_d4iw" name="n4" src="kubi7h" fileName="components/CompHeadWithBg.xml" xy="377,86"/>
     <component id="n4_d4iw" name="n4" src="kubi7h" fileName="components/CompHeadWithBg.xml" xy="377,86"/>
-    <text id="n5_d4iw" name="txtRoleName" xy="346,313" pivot="0.5,0" size="186,62" fontSize="46" color="#a37349" align="center" text="角色名五"/>
-    <text id="n6_d4iw" name="n6" xy="153,466" size="71,46" fontSize="34" color="#aa794d" text="等级"/>
-    <text id="n7_d4iw" name="n7" xy="153,526" size="71,46" fontSize="34" color="#aa794d" text="经验"/>
-    <text id="n8_d4iw" name="txtLvl" xy="257,466" size="25,46" fontSize="34" color="#c47a6c" text="1"/>
-    <component id="n9_d4iw" name="proBarExp" src="d4iw6m" fileName="components/ProgressBarExp2.xml" xy="248,534">
+    <text id="n5_d4iw" name="txtRoleName" xy="346,313" pivot="0.5,0" size="186,61" fontSize="46" color="#a37349" align="center" text="角色名五"/>
+    <text id="n6_d4iw" name="n6" xy="130,440" size="71,46" fontSize="34" color="#aa794d" text="等级"/>
+    <text id="n7_d4iw" name="n7" xy="130,500" size="71,46" fontSize="34" color="#aa794d" text="经验"/>
+    <text id="n10_d4iw" name="n10" xy="130,560" size="71,46" fontSize="34" color="#aa794d" text="音效"/>
+    <text id="n12_d4iw" name="n12" xy="520,560" size="71,46" fontSize="34" color="#aa794d" text="音乐"/>
+    <text id="n8_d4iw" name="txtLvl" xy="235,440" size="25,46" fontSize="34" color="#c47a6c" text="1"/>
+    <component id="n9_d4iw" name="proBarExp" src="d4iw6m" fileName="components/ProgressBarExp2.xml" xy="229,508">
       <ProgressBar value="100" max="100"/>
       <ProgressBar value="100" max="100"/>
     </component>
     </component>
-    <text id="n10_d4iw" name="n10" xy="153,586" size="71,46" fontSize="34" color="#aa794d" text="音效"/>
-    <component id="n11_d4iw" name="btnSound" src="d4iw6o" fileName="components/ButtonToggle.xml" xy="244,587"/>
-    <text id="n12_d4iw" name="n12" xy="505,586" size="71,46" fontSize="34" color="#aa794d" text="音乐"/>
-    <component id="n13_d4iw" name="btnMusic" src="d4iw6o" fileName="components/ButtonToggle.xml" xy="587,591"/>
-    <component id="n19_ga16" name="btnLogout" src="ih7594" fileName="components/Button10.xml" pkg="mk0fwx0x" xy="120,720" size="300,82" aspect="true">
+    <component id="n11_d4iw" name="btnSound" src="d4iw6o" fileName="components/ButtonToggle.xml" xy="229,561"/>
+    <component id="n13_d4iw" name="btnMusic" src="d4iw6o" fileName="components/ButtonToggle.xml" xy="609,565"/>
+    <component id="n19_ga16" name="btnLogout" src="axdi97" fileName="components/Button12.xml" pkg="mk0fwx0x" xy="277,786" aspect="true">
       <Button title="注销账户"/>
       <Button title="注销账户"/>
     </component>
     </component>
-    <component id="n14_d4iw" name="btnExit" src="ih7594" fileName="components/Button10.xml" pkg="mk0fwx0x" xy="430,720" size="300,82" aspect="true">
-      <Button title="返回登录"/>
+    <component id="n14_d4iw" name="btnExit" src="axdi97" fileName="components/Button12.xml" pkg="mk0fwx0x" xy="277,668" aspect="true">
+      <Button title="返回登录" icon="ui://mk0fwx0xaxdi98"/>
     </component>
     </component>
     <component id="n18_d4iw" name="btnHelp" src="d4iw6p" fileName="components/ButtonHelp.xml" xy="704,884">
     <component id="n18_d4iw" name="btnHelp" src="d4iw6p" fileName="components/ButtonHelp.xml" xy="704,884">
       <Button title="?"/>
       <Button title="?"/>

+ 3 - 3
FGUIProject/assets/Main/components/ProgressBarExp2.xml

@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
-<component size="443,22" extention="ProgressBar">
+<component size="486,22" extention="ProgressBar">
   <displayList>
   <displayList>
     <image id="n0_d4iw" name="n0" src="d4iw6g" fileName="images/grxx_jyt_1.png" xy="-2,-2">
     <image id="n0_d4iw" name="n0" src="d4iw6g" fileName="images/grxx_jyt_1.png" xy="-2,-2">
       <relation target="" sidePair="width-width,height-height"/>
       <relation target="" sidePair="width-width,height-height"/>
     </image>
     </image>
-    <image id="n1_d4iw" name="bar" src="d4iw6h" fileName="images/grxx_jyt_2.png" xy="0,0" size="443,22" fillMethod="hz"/>
-    <text id="n2_d4iw" name="title" xy="0,-6" size="443,35" fontSize="24" color="#fff6ee" align="center" vAlign="middle" autoSize="none" text="100/850">
+    <image id="n1_d4iw" name="bar" src="d4iw6h" fileName="images/grxx_jyt_2.png" xy="0,0" fillMethod="hz"/>
+    <text id="n2_d4iw" name="title" xy="0,-6" size="486,35" fontSize="24" color="#fff6ee" align="center" vAlign="middle" autoSize="none" text="100/850">
       <relation target="" sidePair="width-width,height-height"/>
       <relation target="" sidePair="width-width,height-height"/>
     </text>
     </text>
   </displayList>
   </displayList>

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


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


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


+ 12 - 12
GameClient/Assets/Editor/Excel/CodeBuilder.cs

@@ -64,19 +64,18 @@ namespace GFGEditor
                     groupNames.Add(name);
                     groupNames.Add(name);
                     groupTypes.Add(type);
                     groupTypes.Add(type);
                 }
                 }
-                //if(nameWhole.Contains("#a"))
-                //{
-                //暂时全部开放读取
-                needAll = true;
-                //}
+                if (nameWhole.Contains("#a"))
+                {
+                    needAll = true;
+                }
                 ParseDataColumn(annotation, type, name, i);
                 ParseDataColumn(annotation, type, name, i);
             }
             }
-            if(keyNames.Count == groupNames.Count)
+            if (keyNames.Count == groupNames.Count)
             {
             {
                 bool isSame = true;
                 bool isSame = true;
-                for(var i = 0; i < keyNames.Count; i++)
+                for (var i = 0; i < keyNames.Count; i++)
                 {
                 {
-                    if(keyNames[i] != groupNames[i])
+                    if (keyNames[i] != groupNames[i])
                     {
                     {
                         isSame = false;
                         isSame = false;
                     }
                     }
@@ -101,7 +100,7 @@ namespace GFGEditor
                 FunctionSingleStr = FunctionSingleStr.Replace("{colNames}", colNames);
                 FunctionSingleStr = FunctionSingleStr.Replace("{colNames}", colNames);
                 FunctionSingleStr = FunctionSingleStr.Replace("{colValues}", colValues);
                 FunctionSingleStr = FunctionSingleStr.Replace("{colValues}", colValues);
                 configArrayStr = configArrayStr.Replace("{singleFunction}", FunctionSingleStr);
                 configArrayStr = configArrayStr.Replace("{singleFunction}", FunctionSingleStr);
-                if(groupNames.Count > 0)
+                if (groupNames.Count > 0)
                 {
                 {
 
 
                     _declarationBuilder.AppendFormat("\t\t//{0}", "组合key");
                     _declarationBuilder.AppendFormat("\t\t//{0}", "组合key");
@@ -120,7 +119,7 @@ namespace GFGEditor
             //处理查询多条数据函数
             //处理查询多条数据函数
             if (groupNames.Count > 0)
             if (groupNames.Count > 0)
             {
             {
-                string FunctionGroupStr = groupOnly? CodeTemplateFactory.FunctionGroupOnlyTemplate : CodeTemplateFactory.FunctionGroupTemplate;
+                string FunctionGroupStr = groupOnly ? CodeTemplateFactory.FunctionGroupOnlyTemplate : CodeTemplateFactory.FunctionGroupTemplate;
                 CreateParamsString(groupNames, groupTypes, out paramsStr, out colNames, out colValues);
                 CreateParamsString(groupNames, groupTypes, out paramsStr, out colNames, out colValues);
                 FunctionGroupStr = FunctionGroupStr.Replace("{params}", paramsStr);
                 FunctionGroupStr = FunctionGroupStr.Replace("{params}", paramsStr);
                 FunctionGroupStr = FunctionGroupStr.Replace("{colNames}", colNames);
                 FunctionGroupStr = FunctionGroupStr.Replace("{colNames}", colNames);
@@ -133,7 +132,7 @@ namespace GFGEditor
                 configArrayStr = configArrayStr.Replace("{groupFunction}", "");
                 configArrayStr = configArrayStr.Replace("{groupFunction}", "");
             }
             }
             //处理全部数据函数
             //处理全部数据函数
-            if(needAll)
+            if (needAll)
             {
             {
                 configArrayStr = configArrayStr.Replace("{editorConditionStart}", "");
                 configArrayStr = configArrayStr.Replace("{editorConditionStart}", "");
                 configArrayStr = configArrayStr.Replace("{editorConditionEnd}", "");
                 configArrayStr = configArrayStr.Replace("{editorConditionEnd}", "");
@@ -269,6 +268,7 @@ namespace GFGEditor
                 {
                 {
                     HandleItemCfgField(keyValue, fieldName, ref value);
                     HandleItemCfgField(keyValue, fieldName, ref value);
                 }
                 }
+
                 //value = Regex.Replace(value, ":", "/:");
                 //value = Regex.Replace(value, ":", "/:");
                 values.Add(value);
                 values.Add(value);
             }
             }
@@ -340,6 +340,6 @@ namespace GFGEditor
                 }
                 }
             }
             }
         }
         }
-        
+
     }
     }
 }
 }

+ 50 - 0
GameClient/Assets/Editor/Excel/Scanner/CardScanner.cs

@@ -0,0 +1,50 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using GFGGame;
+using UnityEngine;
+
+namespace GFGEditor
+{
+    public class CardScanner
+    {
+        private static Dictionary<int, int> levelCountDIc = new Dictionary<int, int>();
+
+        public static void StartScan()
+        {
+
+            var dataArray = CardLvlCfgArray.Instance.dataArray;
+            SQLiteHelper.Instance.OpenConnection();
+            try
+            {
+                foreach (var cfg in dataArray)
+                {
+                    levelCountDIc.TryGetValue(cfg.cardRarity, out var count);
+                    count++;
+                    levelCountDIc[cfg.cardRarity] = count;
+                    var names = new string[] { "maxCardLvl" };
+                    var values = new string[] { "" + count };
+                    SQLiteHelper.Instance.UpdateValues(nameof(CardRarityCfgArray), names, values, nameof(cfg.cardRarity), cfg.cardRarity.ToString());
+                }
+            }
+            catch (Exception e)
+            {
+                ET.Log.Error(e.ToString());
+            }
+            finally
+            {
+                SQLiteHelper.Instance.CloseConnection();
+            }
+
+
+        }
+
+        public static void WriteCardRarity()
+        {
+
+        }
+
+    }
+}

+ 11 - 0
GameClient/Assets/Editor/Excel/Scanner/CardScanner.cs.meta

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

+ 239 - 0
GameClient/Assets/Editor/Excel/Scanner/ShopScanner.cs

@@ -0,0 +1,239 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using GFGGame;
+using UnityEngine;
+
+namespace GFGEditor
+{
+    public class ShopScanner
+    {
+        //计算每个副本的关卡数
+        private static Dictionary<int, int> levelCountDIc = new Dictionary<int, int>();
+        // private static string[] _shopItemType = new string[] { "推荐", "发型", "连衣裙", "内搭", "上衣", "下装", "外套", "袜子", "鞋子", "饰品" };
+        private static string[] _shopItemType = new string[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" };
+
+        public static void StartScan()
+        {
+
+            WriteClothingShop();
+            WriteCJShop();
+            WriteCJAShop();
+
+        }
+
+        public static void WriteClothingShop()
+        {
+            Dictionary<int, string> _typeIndexDic = new Dictionary<int, string>();
+            SQLiteHelper.Instance.OpenConnection();
+            try
+            {
+                string typeIndex = "";
+                int itemId;
+                int id;
+                var reader = SQLiteHelper.Instance.ReadFullTable("ShopCfgClothingArray");
+                while (reader.Read())
+                {
+                    typeIndex = reader["_typeIndex"].ToString();
+                    itemId = int.Parse(reader["_itemId"].ToString());
+                    id = int.Parse(reader["_id"].ToString());
+
+                    int count;
+                    if (Array.IndexOf(_shopItemType, typeIndex) >= 0)
+                    {
+                        count = Array.IndexOf(_shopItemType, typeIndex);
+                    }
+                    else
+                    {
+                        ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+                        string itemType = ItemTypeCfgArray.Instance.GetCfg(itemCfg.subType).type.ToString();
+
+                        if (Array.IndexOf(_shopItemType, itemType) >= 0)
+                        {
+                            count = Array.IndexOf(_shopItemType, itemType);
+                        }
+                        else
+                        {
+                            count = _shopItemType.Length - 1;
+                        }
+                    }
+                    _typeIndexDic.Add(id, count.ToString());
+                }
+            }
+            catch (System.Exception e)
+            {
+                ET.Log.Error(e);
+            }
+            finally
+            {
+                SQLiteHelper.Instance.CloseConnection();
+            }
+
+
+            SQLiteHelper.Instance.OpenConnection();
+            try
+            {
+                ICollection keys = _typeIndexDic.Keys;
+                foreach (int key in keys)
+                {
+                    var names = new string[] { "typeIndex" };
+                    var values = new string[] { "" + _typeIndexDic[key] };
+                    SQLiteHelper.Instance.UpdateValues(nameof(ShopCfgClothingArray), names, values, "id", key.ToString());
+                }
+            }
+            catch (Exception e)
+            {
+                ET.Log.Error(e.ToString());
+            }
+            finally
+            {
+                SQLiteHelper.Instance.CloseConnection();
+            }
+
+        }
+
+        public static void WriteCJShop()
+        {
+            Dictionary<int, string> _typeIndexDic = new Dictionary<int, string>();
+            SQLiteHelper.Instance.OpenConnection();
+            try
+            {
+                string typeIndex = "";
+                int itemId;
+                int id;
+                var reader = SQLiteHelper.Instance.ReadFullTable("ShopCfgCJArray");
+                while (reader.Read())
+                {
+                    typeIndex = reader["_typeIndex"].ToString();
+                    itemId = int.Parse(reader["_itemId"].ToString());
+                    id = int.Parse(reader["_id"].ToString());
+
+                    int count;
+                    if (Array.IndexOf(_shopItemType, typeIndex) >= 0)
+                    {
+                        count = Array.IndexOf(_shopItemType, typeIndex);
+                    }
+                    else
+                    {
+                        ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+                        string itemType = ItemTypeCfgArray.Instance.GetCfg(itemCfg.subType).type.ToString();
+
+                        if (Array.IndexOf(_shopItemType, itemType) >= 0)
+                        {
+                            count = Array.IndexOf(_shopItemType, itemType);
+                        }
+                        else
+                        {
+                            count = _shopItemType.Length - 1;
+                        }
+                    }
+                    _typeIndexDic.Add(id, count.ToString());
+                }
+            }
+            catch (System.Exception e)
+            {
+                ET.Log.Error(e);
+            }
+            finally
+            {
+                SQLiteHelper.Instance.CloseConnection();
+            }
+
+
+            SQLiteHelper.Instance.OpenConnection();
+            try
+            {
+                ICollection keys = _typeIndexDic.Keys;
+                foreach (int key in keys)
+                {
+
+                    var names = new string[] { "typeIndex" };
+                    var values = new string[] { "" + _typeIndexDic[key] };
+                    SQLiteHelper.Instance.UpdateValues(nameof(ShopCfgCJArray), names, values, "id", key.ToString());
+                }
+            }
+            catch (Exception e)
+            {
+                ET.Log.Error(e.ToString());
+            }
+            finally
+            {
+                SQLiteHelper.Instance.CloseConnection();
+            }
+
+        }
+
+        public static void WriteCJAShop()
+        {
+            Dictionary<int, string> _typeIndexDic = new Dictionary<int, string>();
+
+            SQLiteHelper.Instance.OpenConnection();
+            try
+            {
+                string typeIndex = "";
+                int itemId;
+                int id;
+                var reader = SQLiteHelper.Instance.ReadFullTable("ShopCfgCJAArray");
+                while (reader.Read())
+                {
+                    typeIndex = reader["_typeIndex"].ToString();
+                    itemId = int.Parse(reader["_itemId"].ToString());
+                    id = int.Parse(reader["_id"].ToString());
+
+                    int count;
+                    if (Array.IndexOf(_shopItemType, typeIndex) >= 0)
+                    {
+                        count = Array.IndexOf(_shopItemType, typeIndex);
+                    }
+                    else
+                    {
+                        ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+                        string itemType = ItemTypeCfgArray.Instance.GetCfg(itemCfg.subType).type.ToString();
+
+                        if (Array.IndexOf(_shopItemType, itemType) >= 0)
+                        {
+                            count = Array.IndexOf(_shopItemType, itemType);
+                        }
+                        else
+                        {
+                            count = _shopItemType.Length - 1;
+                        }
+                    }
+                    _typeIndexDic.Add(id, count.ToString());
+                }
+            }
+            catch (System.Exception e)
+            {
+                ET.Log.Error(e);
+            }
+            finally
+            {
+                SQLiteHelper.Instance.CloseConnection();
+            }
+
+
+            SQLiteHelper.Instance.OpenConnection();
+            try
+            {
+                ICollection keys = _typeIndexDic.Keys;
+                foreach (int key in keys)
+                {
+
+                    var names = new string[] { "typeIndex" };
+                    var values = new string[] { "" + _typeIndexDic[key] };
+                    SQLiteHelper.Instance.UpdateValues(nameof(ShopCfgCJAArray), names, values, "id", key.ToString());
+                }
+            }
+            catch (Exception e)
+            {
+                ET.Log.Error(e.ToString());
+            }
+            finally
+            {
+                SQLiteHelper.Instance.CloseConnection();
+            }
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Editor/Excel/Scanner/ShopScanner.cs.meta

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

+ 8 - 4
GameClient/Assets/Editor/ToolsMenu.cs

@@ -127,10 +127,14 @@ namespace GFGEditor
             {
             {
                 SQLiteHelper.Instance.CloseConnection();
                 SQLiteHelper.Instance.CloseConnection();
             }
             }
-            //扫描物品表获取途径并更新数据库
-            ItemApproachScanner.startScan();
-            //扫描副本
-            InstanceZonesScanner.StartScan();
+            // //写入商店物品类型Index
+            // ShopScanner.StartScan();
+            // //扫描物品表获取途径并更新数据库
+            // ItemApproachScanner.startScan();
+            // //扫描副本
+            // InstanceZonesScanner.StartScan();
+            //写入卡牌最大等级
+            CardScanner.StartScan();
             AssetDatabase.Refresh();
             AssetDatabase.Refresh();
             EditorUtility.ClearProgressBar();
             EditorUtility.ClearProgressBar();
         }
         }

+ 12 - 0
GameClient/Assets/Game/HotUpdate/Constant/ConstStorageId.cs

@@ -0,0 +1,12 @@
+namespace GFGGame
+{
+    public class ConstStorageId
+    {
+        public const int STORAGE_GUIDE = 10000;//引导起始Id,引导存储id:10000+引导编号id
+
+        public const int STORAGE_SKIP_GUIDE = 20000;//跳过引导,0不跳过,1跳过
+        public const int STORAGE_AUTO_PLAY = 20001;//自动战斗,0不自动战斗,1自动战斗
+        public const int STORAGE_AUTO_PLAY_SPEED = 20002;//战斗速度
+
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Constant/ConstStorageId.cs.meta

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

+ 37 - 12
GameClient/Assets/Game/HotUpdate/Controller/GameController.cs

@@ -1,6 +1,7 @@
 using FairyGUI;
 using FairyGUI;
 using UnityEngine;
 using UnityEngine;
 using ET;
 using ET;
+using System.Threading.Tasks;
 
 
 namespace GFGGame
 namespace GFGGame
 {
 {
@@ -60,7 +61,7 @@ namespace GFGGame
             ViewManager.Show(ViewName.CREATE_ROLE_VIEW);
             ViewManager.Show(ViewName.CREATE_ROLE_VIEW);
         }
         }
 
 
-        public static void PreEnterGame()
+        public static async Task PreEnterGameAsync()
         {
         {
             //RoleInfo roleInfo = null;
             //RoleInfo roleInfo = null;
             GetSuitItemController.enable = false;
             GetSuitItemController.enable = false;
@@ -85,16 +86,34 @@ namespace GFGGame
             GFGUIPackage.AddPackage(ResPathUtil.GetUIPackagePath("CommonGame"));
             GFGUIPackage.AddPackage(ResPathUtil.GetUIPackagePath("CommonGame"));
             GFGUIPackage.AddPackage(ResPathUtil.GetUIPackagePath("Main"));
             GFGUIPackage.AddPackage(ResPathUtil.GetUIPackagePath("Main"));
 
 
-            Alert.Show("是否跳过引导?如果您是第一次体验,建议不要跳过引导!")
-                    .SetLeftButton(true, "不用", (obj) =>
-                    {
-                        EnterGame();
-                    })
-                    .SetRightButton(true, "跳过", (obj) =>
-                    {
-                        GameGlobal.skipGuide = true;
-                        EnterGame();
-                    });
+
+            InstanceZonesSProxy.GetInstanceZonesInfos().Coroutine();
+            await StorageSProxy.ReqGetClientValues();
+
+            int skipGuide = StorageDataManager.Instance.GetStorageValue(ConstStorageId.STORAGE_SKIP_GUIDE);
+
+            if (skipGuide < 0)
+            {
+                Alert.Show("是否跳过引导?如果您是第一次体验,建议不要跳过引导!")
+                           .SetLeftButton(true, "不用", (obj) =>
+                           {
+                               EnterGame();
+                               StorageSProxy.ReqSetClientValue(ConstStorageId.STORAGE_SKIP_GUIDE, 0).Coroutine();
+                           })
+                           .SetRightButton(true, "跳过", (obj) =>
+                           {
+                               GameGlobal.skipGuide = true;
+                               EnterGame();
+                               StorageSProxy.ReqSetClientValue(ConstStorageId.STORAGE_SKIP_GUIDE, 1).Coroutine();
+                           });
+            }
+            else
+            {
+                if (skipGuide == 1) GameGlobal.skipGuide = true;
+                EnterGame();
+
+            }
+
         }
         }
 
 
         public static void QuitToLoginView(bool logout)
         public static void QuitToLoginView(bool logout)
@@ -111,6 +130,8 @@ namespace GFGGame
             PhotographDataManager.Instance.Clear();
             PhotographDataManager.Instance.Clear();
             SkillDataManager.Instance.Clear();
             SkillDataManager.Instance.Clear();
             SuitFosterDataManager.Instance.Clear();
             SuitFosterDataManager.Instance.Clear();
+            StudioDataManager.Instance.Clear();
+            StorageDataManager.Instance.Clear();
             if (logout)
             if (logout)
             {
             {
                 Logout();
                 Logout();
@@ -165,8 +186,12 @@ namespace GFGGame
 
 
             ItemHelper.GetItemAttributeInfos().Coroutine();
             ItemHelper.GetItemAttributeInfos().Coroutine();
             SuitFosterProxy.SendGetSuitInfos().Coroutine();
             SuitFosterProxy.SendGetSuitInfos().Coroutine();
-            InstanceZonesSProxy.GetInstanceZonesInfos().Coroutine();
             MainStorySProxy.GetStoryInfos().Coroutine();
             MainStorySProxy.GetStoryInfos().Coroutine();
+            CardSProxy.GetCardInfos().Coroutine();
+
+            EquipDataCache.cacher.autoPlay = StorageDataManager.Instance.GetStorageValue(ConstStorageId.STORAGE_AUTO_PLAY) <= 0 ? false : true;
+            EquipDataCache.cacher.fightSpeed = StorageDataManager.Instance.GetStorageValue(ConstStorageId.STORAGE_AUTO_PLAY_SPEED) <= 1 ? 1 : StorageDataManager.Instance.GetStorageValue(ConstStorageId.STORAGE_AUTO_PLAY_SPEED);
+
         }
         }
 
 
         public static void PrepareUpdateTreasure()
         public static void PrepareUpdateTreasure()

+ 26 - 33
GameClient/Assets/Game/HotUpdate/Controller/GuideController.cs

@@ -4,6 +4,7 @@ using UI.Main;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine;
 using UI.ClothingSynthetic;
 using UI.ClothingSynthetic;
+using ET;
 
 
 namespace GFGGame
 namespace GFGGame
 {
 {
@@ -16,7 +17,7 @@ namespace GFGGame
             bool isAllGuideFinish = false;
             bool isAllGuideFinish = false;
             for (int i = 0; i < GuideCfgArray.Instance.dataArray.Length; i++)
             for (int i = 0; i < GuideCfgArray.Instance.dataArray.Length; i++)
             {
             {
-                if (GuideDataManager.GetGuideCountCopy(GuideCfgArray.Instance.dataArray[i].key) <= 0)
+                if (GuideDataManager.IsGuideFinish(GuideCfgArray.Instance.dataArray[i].key) <= 0)
                 {
                 {
                     isAllGuideFinish = false;
                     isAllGuideFinish = false;
                     break;
                     break;
@@ -26,30 +27,27 @@ namespace GFGGame
             bool isGuide = GameGlobal.skipGuide == false && !isAllGuideFinish;
             bool isGuide = GameGlobal.skipGuide == false && !isAllGuideFinish;
             return isGuide;
             return isGuide;
         }
         }
-        public static bool useNewGuide = true;
-        public static bool TryGuide(GObject target, string guideKey, int index, string guideStr = null, bool isList = false, int listIndex = 0, bool checkIndex = true, bool needUpdate = false, int yTxt = 0, float devWidth = 0, float devHeight = 0)
+
+        public static bool TryGuide(GObject target, string guideKey, int index, string guideStr = null, int listIndex = -1, bool checkPriorIndex = true, int yTxt = 0, float devWidth = 0, float devHeight = 0)
         {
         {
-            if (!useNewGuide) return false;
 
 
             GuideCfg cfg = GuideCfgArray.Instance.GetCfg(guideKey);
             GuideCfg cfg = GuideCfgArray.Instance.GetCfg(guideKey);
 
 
-            if ((GuideDataManager.GetGuideCountCopy(guideKey) <= 0
-            && (cfg.priorId <= 0 || cfg.priorId > 0 && (GuideDataManager.GetGuideCountCopy(cfg.priorId) > 0))
-            && (!checkIndex || checkIndex && GuideDataManager.IsGuideIndexFinish(cfg.id, index - 1) == true && GuideDataManager.IsGuideIndexFinish(cfg.id, index) == false)
-            && (GuideDataManager.currentGuideId == 0 || GuideDataManager.currentGuideId == cfg.id && GuideDataManager.currentGuideIdIndex != index)
-            && (MainStoryDataManager.CurrentChapterOrder == 0 || MainStoryDataManager.CheckCurrentLevelPass() == false)
-            && InstanceZonesDataManager.CheckLevelPass(cfg.storyLevelId - 1)
-            && !InstanceZonesDataManager.CheckLevelPass(cfg.storyLevelId))
-            ||
-            (cfg.storyLevelId == 0
-            && GuideDataManager.GetGuideCountCopy(guideKey) <= 0
-            ))
+            bool isStoryLevelGuide = cfg.storyLevelId > 0;
+            bool isFinishCurId = StorageDataManager.Instance.GetStorageValue(ConstStorageId.STORAGE_GUIDE + cfg.id) > 0;//当前引导未完成
+            bool isFinishPriorId = cfg.priorId <= 0 || StorageDataManager.Instance.GetStorageValue(ConstStorageId.STORAGE_GUIDE + cfg.priorId) > 0;//前置引导已完成
+            bool isFinishCurIndex = GuideDataManager.IsGuideIndexFinish(cfg.id, index) == true;//当前index未完成
+            bool isFinishPriorIndex = !checkPriorIndex || checkPriorIndex && GuideDataManager.IsGuideIndexFinish(cfg.id, index - 1) == true;//前置index已完成
+            bool isCfgChapterOpen = MainStoryDataManager.CheckLevelUnlock(cfg.storyLevelId);//引导配置关卡已开启
+            bool isCfgChapter = MainStoryDataManager.currentLevelCfgId == 0 || MainStoryDataManager.currentLevelCfgId == cfg.storyLevelId;//无选择(进入游戏时无选择)或当前所选择为配置关卡
+
+            if (isStoryLevelGuide && !isFinishCurId && isFinishPriorId && !isFinishCurIndex && isFinishPriorIndex && isCfgChapterOpen && isCfgChapter || !isStoryLevelGuide && !isFinishCurId)
             {
             {
                 GuideDataManager.currentGuideId = cfg.id;
                 GuideDataManager.currentGuideId = cfg.id;
                 GuideDataManager.currentGuideIdIndex = index;
                 GuideDataManager.currentGuideIdIndex = index;
 
 
                 GuideDataManager.SetGuideIndex(cfg.id, index);
                 GuideDataManager.SetGuideIndex(cfg.id, index);
-                if (isList)
+                if (listIndex >= 0)
                 {
                 {
 
 
                     if (target.asList.numItems > 0)
                     if (target.asList.numItems > 0)
@@ -66,8 +64,8 @@ namespace GFGGame
                         return false;
                         return false;
                     }
                     }
                 }
                 }
-                ShowGuideByIndex(target, needUpdate, guideStr, yTxt, cfg.optionalGuide == 1, devWidth, devHeight, GuideDataManager.currentGuideId, GuideDataManager.currentGuideIdIndex);
-                if (!checkIndex)
+                ShowGuideByIndex(target, guideStr, yTxt, cfg.optionalGuide == 1, devWidth, devHeight, GuideDataManager.currentGuideId, GuideDataManager.currentGuideIdIndex);
+                if (!checkPriorIndex)
                 {
                 {
                     for (int i = 1; i < index; i++)
                     for (int i = 1; i < index; i++)
                     {
                     {
@@ -78,47 +76,42 @@ namespace GFGGame
             }
             }
             return false;
             return false;
         }
         }
-        private static void ShowGuideByIndex(GObject target, bool needUpdate = false, string guideStr = null, int yTxt = 0, bool isOptionalGuide = false, float devWidth = 0, float devHeight = 0, int guideId = 0, int index = 0)
+        private static void ShowGuideByIndex(GObject target, string guideStr = null, int yTxt = 0, bool isOptionalGuide = false, float devWidth = 0, float devHeight = 0, int guideId = 0, int index = 0)
         {
         {
-            HideGuideIndex();
+            HideGuide();
             if (GameGlobal.skipGuide)
             if (GameGlobal.skipGuide)
             {
             {
                 return;
                 return;
             }
             }
 
 
-            ViewManager.Show(ViewName.GUIDE_VIEW, new List<object> { target, needUpdate, guideStr, yTxt, isOptionalGuide, devWidth, devHeight, guideId, index });
+            ViewManager.Show(ViewName.GUIDE_VIEW, new List<object> { target, guideStr, yTxt, isOptionalGuide, devWidth, devHeight, guideId, index });
         }
         }
         public static bool TryCompleteGuideIndex(int guideId, int index)
         public static bool TryCompleteGuideIndex(int guideId, int index)
         {
         {
-            if (!useNewGuide) return false;
 
 
-            HideGuideIndex();
-            // bool result = GuideDataManager.TryCompleteGuideIndex(guideId, index);
+            HideGuide();
             if (GuideDataManager.TryCompleteGuideIndex(guideId, index))
             if (GuideDataManager.TryCompleteGuideIndex(guideId, index))
             {
             {
                 return true;
                 return true;
             }
             }
             return false;
             return false;
         }
         }
-        public static bool TryCompleteGuide(string guideKey, int count)
+        public static async void TryCompleteGuide(string guideKey, int count)
         {
         {
-            if (!useNewGuide) return false;
 
 
             GuideCfg cfg = GuideCfgArray.Instance.GetCfg(guideKey);
             GuideCfg cfg = GuideCfgArray.Instance.GetCfg(guideKey);
+            bool result = false;
+            if (!GuideDataManager.CheckAllIndexFinish(cfg.id, count)) return;
 
 
-            if (!GuideDataManager.CheckAllIndexFinish(cfg.id, count)) return false;
-            bool result = GuideDataManager.TryCompleteGuide(cfg.id);
+            result = await GuideDataManager.TryCompleteGuide(cfg.id);
             if (result)
             if (result)
             {
             {
                 GuideDataManager.currentGuideId = 0;
                 GuideDataManager.currentGuideId = 0;
-                HideGuideIndex();
+                HideGuide();
             }
             }
-            return result;
         }
         }
-        public static void HideGuideIndex()
+        public static void HideGuide()
         {
         {
-            if (!useNewGuide) return;
-
             ViewManager.Hide(ViewName.GUIDE_VIEW);
             ViewManager.Hide(ViewName.GUIDE_VIEW);
         }
         }
     }
     }

+ 5 - 5
GameClient/Assets/Game/HotUpdate/Controller/LoginController.cs

@@ -55,7 +55,7 @@ namespace GFGGame
             }
             }
             else
             else
             {
             {
-                if(ErrorCodeController.Handler(errorCode))
+                if (ErrorCodeController.Handler(errorCode))
                 {
                 {
                     ViewManager.Show<LoginInputView>();
                     ViewManager.Show<LoginInputView>();
                 }
                 }
@@ -80,7 +80,7 @@ namespace GFGGame
         public static async ETTask GetServerInfos()
         public static async ETTask GetServerInfos()
         {
         {
             int errorCode = await LoginHelper.GetServerInfos(GameGlobal.zoneScene);
             int errorCode = await LoginHelper.GetServerInfos(GameGlobal.zoneScene);
-            if(errorCode != ErrorCode.ERR_Success)
+            if (errorCode != ErrorCode.ERR_Success)
             {
             {
                 ErrorCodeController.Handler(errorCode);
                 ErrorCodeController.Handler(errorCode);
                 await ETTask.Create();
                 await ETTask.Create();
@@ -104,7 +104,7 @@ namespace GFGGame
         public static async ETTask GetRoles()
         public static async ETTask GetRoles()
         {
         {
             int errorCode = await LoginHelper.GetRoles(GameGlobal.zoneScene);
             int errorCode = await LoginHelper.GetRoles(GameGlobal.zoneScene);
-            if(errorCode != ErrorCode.ERR_Success)
+            if (errorCode != ErrorCode.ERR_Success)
             {
             {
                 ErrorCodeController.Handler(errorCode);
                 ErrorCodeController.Handler(errorCode);
                 await ETTask.Create();
                 await ETTask.Create();
@@ -145,7 +145,7 @@ namespace GFGGame
         public static async ETTask ReqEnterGame()
         public static async ETTask ReqEnterGame()
         {
         {
             int errorCode = await LoginHelper.GetRealmKey(GameGlobal.zoneScene);
             int errorCode = await LoginHelper.GetRealmKey(GameGlobal.zoneScene);
-            if(errorCode != ErrorCode.ERR_Success)
+            if (errorCode != ErrorCode.ERR_Success)
             {
             {
                 ErrorCodeController.Handler(errorCode);
                 ErrorCodeController.Handler(errorCode);
                 return;
                 return;
@@ -156,7 +156,7 @@ namespace GFGGame
                 ErrorCodeController.Handler(errorCode);
                 ErrorCodeController.Handler(errorCode);
                 return;
                 return;
             }
             }
-            GameController.PreEnterGame();
+            await GameController.PreEnterGameAsync();
         }
         }
     }
     }
 }
 }

+ 66 - 122
GameClient/Assets/Game/HotUpdate/Data/CardDataManager.cs

@@ -3,6 +3,7 @@ using System;
 using System.Collections;
 using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Linq;
 using System.Linq;
+using ET;
 using UnityEngine;
 using UnityEngine;
 
 
 namespace GFGGame
 namespace GFGGame
@@ -19,89 +20,48 @@ namespace GFGGame
             _cardDicByType.Clear();
             _cardDicByType.Clear();
         }
         }
 
 
-        public static void InitServerData(List<RoleCard> roleCards)
-        {
-            if (roleCards.Count != 0)
-            {
-                for (int i = 0; i < roleCards.Count; i++)
-                {
-                    CardData cardData = _cardDicByType[0][roleCards[i].cardId];
-                    cardData.lv = roleCards[i].lv;
-                    cardData.exp = roleCards[i].exp;
-                    cardData.star = roleCards[i].star;
-                    cardData.res = roleCards[i].res;
-                    cardData.scores[ConstDressUpScoreType.SCORE_FENG] = roleCards[i].score1;
-                    cardData.scores[ConstDressUpScoreType.SCORE_HUA] = roleCards[i].score2;
-                    cardData.scores[ConstDressUpScoreType.SCORE_XUE] = roleCards[i].score3;
-                    cardData.scores[ConstDressUpScoreType.SCORE_YUE] = roleCards[i].score4;
-
-
-                    CardData cardDataByScore = _cardDicByType[cardData.itemCfg.rarity][roleCards[i].cardId];
-
-                    cardDataByScore.lv = roleCards[i].lv;
-                    cardDataByScore.exp = roleCards[i].exp;
-                    cardDataByScore.star = roleCards[i].star;
-                    cardDataByScore.res = roleCards[i].res;
-                    cardDataByScore.scores[ConstDressUpScoreType.SCORE_FENG] = roleCards[i].score1;
-                    cardDataByScore.scores[ConstDressUpScoreType.SCORE_HUA] = roleCards[i].score2;
-                    cardDataByScore.scores[ConstDressUpScoreType.SCORE_XUE] = roleCards[i].score3;
-                    cardDataByScore.scores[ConstDressUpScoreType.SCORE_YUE] = roleCards[i].score4;
 
 
-                }
-            }
-        }
 
 
-        public static void Add(int itemId)
+        public static void Add(CardInfoProto cardInfoProto)
         {
         {
-            CardData card = new CardData();
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
-            card.id = itemId;
-            card.lv = 1;
-
-            card.exp = 0;
-            card.star = 1;
-            card.itemCfg = itemCfg;
-            card.res = itemCfg.res;
-            card.scores = new Dictionary<int, int>();
-            card.scores.Add(ConstDressUpScoreType.SCORE_FENG, itemCfg.score1);
-            card.scores.Add(ConstDressUpScoreType.SCORE_HUA, itemCfg.score2);
-            card.scores.Add(ConstDressUpScoreType.SCORE_XUE, itemCfg.score3);
-            card.scores.Add(ConstDressUpScoreType.SCORE_YUE, itemCfg.score4);
-            card.mainScore = CardDataManager.GetMainScore(card.scores);
-            card.resources = CardDataManager.GetCardResources(itemCfg);
+            CardData cardData = new CardData();
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(cardInfoProto.CardId);
+            cardData.id = cardInfoProto.CardId;
+            cardData.lv = cardInfoProto.Lvl;
+            cardData.exp = cardInfoProto.Exp;
+            cardData.star = cardInfoProto.Star;
+            cardData.itemCfg = itemCfg;
+            cardData.res = cardInfoProto.ResIndex == 0 ? itemCfg.res : itemCfg.cardRes;
+            cardData.scores = new Dictionary<int, int>();
+
+            for (int j = 0; j < cardInfoProto.KsAttribute.Count; j++)
+            {
+                cardData.scores.Add(cardInfoProto.KsAttribute[j], cardInfoProto.VsAttribute[j]);
+            }
+            cardData.mainScore = itemCfg.mainScore;
+            cardData.resources = CardDataManager.GetCardResources(itemCfg);
 
 
             if (_cardDicByType.ContainsKey(0) == false)
             if (_cardDicByType.ContainsKey(0) == false)
             {
             {
                 _cardDicByType[0] = new Dictionary<int, CardData>();
                 _cardDicByType[0] = new Dictionary<int, CardData>();
             }
             }
-            if (_cardDicByType.ContainsKey(card.itemCfg.rarity) == false)
+            if (_cardDicByType.ContainsKey(cardData.itemCfg.rarity) == false)
             {
             {
-                _cardDicByType[card.itemCfg.rarity] = new Dictionary<int, CardData>();
+                _cardDicByType[cardData.itemCfg.rarity] = new Dictionary<int, CardData>();
             }
             }
-            _cardDicByType[0].Add(card.id, card);
-            _cardDicByType[card.itemCfg.rarity].Add(card.id, card);
+            _cardDicByType[0].Add(cardData.id, cardData);
+            _cardDicByType[cardData.itemCfg.rarity].Add(cardData.id, cardData);
 
 
         }
         }
-        private static int GetMainScore(Dictionary<int, int> scores)
-        {
-            //五个属性中最大的为主属性
-            int mainScore = 1;
-            int mainScoreValue = 0;
-            ICollection keys = scores.Keys;
-            foreach (int key in keys)
-            {
-                if (scores[key] > mainScoreValue)
-                {
-                    mainScore = key;
-                }
-            }
-            return mainScore;
-        }
-        private static List<string> GetCardResources(ItemCfg itemCfg)
+
+        public static List<string> GetCardResources(ItemCfg itemCfg)
         {
         {
             List<string> resources = new List<string>();
             List<string> resources = new List<string>();
             resources.Add(itemCfg.res);
             resources.Add(itemCfg.res);
-            resources.Add(itemCfg.cardRes);
+            if (itemCfg.cardRes! != "")
+            {
+                resources.Add(itemCfg.cardRes);
+            }
             return resources;
             return resources;
         }
         }
         private static void Refresh(CardData cardData)
         private static void Refresh(CardData cardData)
@@ -113,29 +73,28 @@ namespace GFGGame
 
 
         private static void RefreshCardLvProperty(CardData lastCardData, int lv)
         private static void RefreshCardLvProperty(CardData lastCardData, int lv)
         {
         {
-            List<CardLvlCfg> cardLvCfgs = CardCfgManager.GetCardLvCfgsByRarity(lastCardData.itemCfg.rarity);
-
-            for (int i = lastCardData.lv; i < lv; i++)
-            {
-                lastCardData.scores[ConstDressUpScoreType.SCORE_FENG] += cardLvCfgs[i - 1].score1;
-                lastCardData.scores[ConstDressUpScoreType.SCORE_HUA] += cardLvCfgs[i - 1].score1;
-                lastCardData.scores[ConstDressUpScoreType.SCORE_XUE] += cardLvCfgs[i - 1].score1;
-                lastCardData.scores[ConstDressUpScoreType.SCORE_YUE] += cardLvCfgs[i - 1].score1;
-            }
+            // List<CardLvlCfg> cardLvCfgs = CardCfgManager.GetCardLvCfgsByRarity(lastCardData.itemCfg.rarity);
+
+            // for (int i = lastCardData.lv; i < lv; i++)
+            // {
+            //     lastCardData.scores[ConstDressUpScoreType.SCORE_FENG] += cardLvCfgs[i - 1].score1;
+            //     lastCardData.scores[ConstDressUpScoreType.SCORE_HUA] += cardLvCfgs[i - 1].score1;
+            //     lastCardData.scores[ConstDressUpScoreType.SCORE_XUE] += cardLvCfgs[i - 1].score1;
+            //     lastCardData.scores[ConstDressUpScoreType.SCORE_YUE] += cardLvCfgs[i - 1].score1;
+            // }
         }
         }
         private static void RefreshCardStarProperty(CardData lastCardData, int star)
         private static void RefreshCardStarProperty(CardData lastCardData, int star)
         {
         {
-            List<CardLvlCfg> cardLvCfgs = CardCfgManager.GetCardLvCfgsByRarity(lastCardData.itemCfg.rarity);
+            // List<CardLvlCfg> cardLvCfgs = CardCfgManager.GetCardLvCfgsByRarity(lastCardData.itemCfg.rarity);
+
+            // for (int i = lastCardData.star; i < star; i++)
+            // {
+            //     lastCardData.scores[ConstDressUpScoreType.SCORE_FENG] += cardLvCfgs[i - 1].score1;
+            //     lastCardData.scores[ConstDressUpScoreType.SCORE_HUA] += cardLvCfgs[i - 1].score1;
+            //     lastCardData.scores[ConstDressUpScoreType.SCORE_XUE] += cardLvCfgs[i - 1].score1;
+            //     lastCardData.scores[ConstDressUpScoreType.SCORE_YUE] += cardLvCfgs[i - 1].score1;
+            // }
 
 
-            for (int i = lastCardData.star; i < star; i++)
-            {
-                lastCardData.scores[ConstDressUpScoreType.SCORE_FENG] += cardLvCfgs[i - 1].score1;
-                lastCardData.scores[ConstDressUpScoreType.SCORE_HUA] += cardLvCfgs[i - 1].score1;
-                lastCardData.scores[ConstDressUpScoreType.SCORE_XUE] += cardLvCfgs[i - 1].score1;
-                lastCardData.scores[ConstDressUpScoreType.SCORE_YUE] += cardLvCfgs[i - 1].score1;
-            }
-            // lastCardData.star = star + 1;
-            // CardDataManager.Refresh(lastCardData);
         }
         }
         private static List<CardData> SortItemList(List<CardData> arrayList)
         private static List<CardData> SortItemList(List<CardData> arrayList)
         {
         {
@@ -200,36 +159,37 @@ namespace GFGGame
             CardDataManager.Refresh(_cardDicByType[0][cardId]);
             CardDataManager.Refresh(_cardDicByType[0][cardId]);
         }
         }
 
 
-
         /// <summary>
         /// <summary>
-        /// 根据男主类型获取卡牌字典
+        /// 根据卡牌Id获取卡牌升级升星数据,无数据返回null
         /// </summary>
         /// </summary>
-        public static Dictionary<int, CardData> GetCardDicByRarity(int rarity)
+        /// <param name="cardId"></param>
+        /// <returns></returns>
+        public static CardData GetCardDataById(int cardId)
         {
         {
-            if (rarity == 0)
-            {
-                return _cardDicByType.ContainsKey(0) ? _cardDicByType[0] : null;
-            }
-            else
-            {
-                return _cardDicByType.ContainsKey(rarity) ? _cardDicByType[rarity] : null;
-            }
+            return _cardDicByType[0].ContainsKey(cardId) ? _cardDicByType[0][cardId] : null;
         }
         }
-        public static List<CardData> CardDicToList(Dictionary<int, CardData> cardDic)
+        /// <summary>
+        /// 根据男主类型获取卡牌列表
+        /// </summary>
+        public static List<CardData> GetCardListByRarity(int rarity)
         {
         {
-            CardData[] cardArray = new CardData[cardDic.Count];
-            cardDic.Values.CopyTo(cardArray, 0);
-
-            List<CardData> cardList = new List<CardData>(cardArray);
-            cardList = CardDataManager.SortItemList(cardList);
+            if (_cardDicByType.ContainsKey(rarity))
+            {
+                Dictionary<int, CardData> cardDic = _cardDicByType[rarity];
+                CardData[] cardArray = new CardData[cardDic.Count];
+                cardDic.Values.CopyTo(cardArray, 0);
 
 
-            return cardList;
+                List<CardData> cardList = new List<CardData>(cardArray);
+                cardList = CardDataManager.SortItemList(cardList);
+                return cardList;
+            }
+            return new List<CardData>();
         }
         }
 
 
         public static bool isFullLv(int cardId, int lv, bool showTips = true)
         public static bool isFullLv(int cardId, int lv, bool showTips = true)
         {
         {
             CardData cardData = _cardDicByType[0][cardId];
             CardData cardData = _cardDicByType[0][cardId];
-            if (lv > CardCfgManager.GetCardLvCfgsByRarity(cardData.itemCfg.rarity).Count)
+            if (lv > CardRarityCfgArray.Instance.GetCfg(cardData.itemCfg.rarity).maxCardLvl)
             {
             {
                 if (showTips == true)
                 if (showTips == true)
                 {
                 {
@@ -259,20 +219,6 @@ namespace GFGGame
             }
             }
         }
         }
 
 
-
-        /// <summary>
-        ///  根据物品id获取卡牌数据
-        /// </summary>
-        /// <param name="itemId"></param>
-        /// <returns></returns>
-        public static CardData GetCardDataById(int itemId)
-        {
-            return _cardDicByType[0][itemId];
-
-        }
-
-
-
         public static void GetPreViewLvAndExp(int rarity, int curLv, int curExp, int hasExp, out int showLv, out int showExp)
         public static void GetPreViewLvAndExp(int rarity, int curLv, int curExp, int hasExp, out int showLv, out int showExp)
         {
         {
             List<CardLvlCfg> listCardLvCfgs = CardCfgManager.GetCardLvCfgsByRarity(rarity);
             List<CardLvlCfg> listCardLvCfgs = CardCfgManager.GetCardLvCfgsByRarity(rarity);
@@ -304,10 +250,8 @@ namespace GFGGame
 
 
                     if (selectList[(int)EnumCardFilterType.SubType].ContainsKey(cardList[i].itemCfg.subType) == false)
                     if (selectList[(int)EnumCardFilterType.SubType].ContainsKey(cardList[i].itemCfg.subType) == false)
                     {
                     {
-
                         //稀有度
                         //稀有度
                         cardList.RemoveAt(i);
                         cardList.RemoveAt(i);
-
                         continue;
                         continue;
                     }
                     }
                 }
                 }

+ 31 - 62
GameClient/Assets/Game/HotUpdate/Data/GuideDataManager.cs

@@ -1,15 +1,16 @@
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Linq;
 using System.Linq;
+using ET;
 
 
 namespace GFGGame
 namespace GFGGame
 {
 {
 
 
     public class GuideDataManager
     public class GuideDataManager
     {
     {
-        //public static int currentGuideId;
-        private static Dictionary<int, GuideData> _dataDic = new Dictionary<int, GuideData>();
-        //本次登录引导的id缓存
-        private static Dictionary<int, bool> _guideDicAtThisLogin = new Dictionary<int, bool>();
+        // //public static int currentGuideId;
+        // private static Dictionary<int, GuideData> _dataDic = new Dictionary<int, GuideData>();
+        // //本次登录引导的id缓存
+        // private static Dictionary<int, bool> _guideDicAtThisLogin = new Dictionary<int, bool>();
 
 
         private static Dictionary<int, Dictionary<int, int>> _guideDicIndex = new Dictionary<int, Dictionary<int, int>>();
         private static Dictionary<int, Dictionary<int, int>> _guideDicIndex = new Dictionary<int, Dictionary<int, int>>();
         public static int _currentGuideId;
         public static int _currentGuideId;
@@ -29,21 +30,21 @@ namespace GFGGame
 
 
 
 
 
 
-        public static void InitServerData(List<GuideData> list)
-        {
-            currentGuideId = 0;
-            _dataDic.Clear();
-            _guideDicAtThisLogin.Clear();
-            if (list != null)
-            {
-                foreach (GuideData data in list)
-                {
-                    _dataDic.Add(data.guideId, data);
-                }
-            }
-        }
+        // public static void InitServerData(List<GuideData> list)
+        // {
+        //     currentGuideId = 0;
+        //     _dataDic.Clear();
+        //     _guideDicAtThisLogin.Clear();
+        //     if (list != null)
+        //     {
+        //         foreach (GuideData data in list)
+        //         {
+        //             _dataDic.Add(data.guideId, data);
+        //         }
+        //     }
+        // }
 
 
-        public static bool TryCompleteGuide(int guideId)
+        public static async ETTask<bool> TryCompleteGuide(int guideId)
         {
         {
             if (GameGlobal.skipGuide)
             if (GameGlobal.skipGuide)
             {
             {
@@ -51,36 +52,20 @@ namespace GFGGame
             }
             }
             if (currentGuideId == guideId)
             if (currentGuideId == guideId)
             {
             {
-                GuideData guideData = null;
-                if (_dataDic.ContainsKey(guideId))
-                {
-                    guideData = _dataDic[guideId];
-                }
-                else
-                {
-                    guideData = new GuideData();
-                    guideData.guideId = guideId;
-                    guideData.count = 0;
-                    _dataDic.Add(guideId, guideData);
-                }
-                guideData.count++;
-                currentGuideId = 0;
-                GameProxy.ReqUpdateRoleGuide(guideData);
-                _guideDicAtThisLogin[guideId] = true;
-                return true;
+                return await StorageSProxy.ReqSetClientValue(ConstStorageId.STORAGE_GUIDE + guideId, 1);
             }
             }
             return false;
             return false;
         }
         }
 
 
 
 
-        public static bool CheckGuideIsCompletedAtThisLogin(int guideId)
-        {
-            if (_guideDicAtThisLogin.ContainsKey(guideId))
-            {
-                return _guideDicAtThisLogin[guideId];
-            }
-            return false;
-        }
+        // public static bool CheckGuideIsCompletedAtThisLogin(int guideId)
+        // {
+        //     if (_guideDicAtThisLogin.ContainsKey(guideId))
+        //     {
+        //         return _guideDicAtThisLogin[guideId];
+        //     }
+        //     return false;
+        // }
 
 
         public static int _currentGuideIdIndex;
         public static int _currentGuideIdIndex;
 
 
@@ -108,31 +93,15 @@ namespace GFGGame
             _guideDicIndex[guideId][index] = 0;
             _guideDicIndex[guideId][index] = 0;
         }
         }
 
 
-        public static int GetGuideCountCopy(string guideKey)
+        public static int IsGuideFinish(string guideKey)
         {
         {
-            if (!GuideController.useNewGuide) return 1;
             if (GameGlobal.skipGuide) return 1;
             if (GameGlobal.skipGuide) return 1;
 
 
             GuideCfg cfg = GuideCfgArray.Instance.GetCfg(guideKey);
             GuideCfg cfg = GuideCfgArray.Instance.GetCfg(guideKey);
-            if (_dataDic.ContainsKey(cfg.id))
-            {
-                GuideData guideData = _dataDic[cfg.id];
-                return guideData.count;
-            }
-            return 0;
-        }
-        public static int GetGuideCountCopy(int guideId)
-        {
-            if (!GuideController.useNewGuide) return 1;
-            if (GameGlobal.skipGuide) return 1;
+            return StorageDataManager.Instance.GetStorageValue(ConstStorageId.STORAGE_GUIDE + cfg.id);
 
 
-            if (_dataDic.ContainsKey(guideId))
-            {
-                GuideData guideData = _dataDic[guideId];
-                return guideData.count;
-            }
-            return 0;
         }
         }
+
         public static bool TryCompleteGuideIndex(int guideId, int index, bool checkInde = true)
         public static bool TryCompleteGuideIndex(int guideId, int index, bool checkInde = true)
         {
         {
 
 

+ 0 - 6
GameClient/Assets/Game/HotUpdate/Data/ItemDataManager.cs

@@ -42,12 +42,6 @@ namespace GFGGame
             {
             {
                 DressUpMenuItemDataManager.Add(itemID);
                 DressUpMenuItemDataManager.Add(itemID);
             }
             }
-            //Debug.Log("itemid:"+ itemID);
-            //Debug.Log("itemCfg:" + itemCfg);
-            if (itemCfg.itemType == ConstItemType.CARD)
-            {
-                CardDataManager.Add(itemID);
-            }
 
 
             if (itemCfg.itemType == ConstItemType.DRESS_UP && !DressUpMenuItemDataManager.CheckIsSceneType(itemID))
             if (itemCfg.itemType == ConstItemType.DRESS_UP && !DressUpMenuItemDataManager.CheckIsSceneType(itemID))
             {
             {

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

@@ -89,7 +89,7 @@ namespace GFGGame
 
 
         public static bool CheckOpenMainUI()
         public static bool CheckOpenMainUI()
         {
         {
-            return InstanceZonesDataManager.CheckLevelPass(10004) && GuideDataManager.GetGuideCountCopy(ConstGuideId.SINGLE_FIGHT) > 0;
+            return InstanceZonesDataManager.CheckLevelPass(100001004) && GuideDataManager.IsGuideFinish(ConstGuideId.SINGLE_FIGHT) > 0;
         }
         }
 
 
         //检查指定章节对应的普通章节是否通关
         //检查指定章节对应的普通章节是否通关

+ 35 - 27
GameClient/Assets/Game/HotUpdate/Data/ScoreSystemData.cs

@@ -153,28 +153,30 @@ namespace GFGGame
         {
         {
             skillScore = 0;
             skillScore = 0;
             showCard = false;
             showCard = false;
-            if (!SkillDataManager.Instance.dicPassivitySkill.TryGetValue(InstanceZonesDataManager.currentCardId, out Dictionary<int, List<PassivitySkillCfg>> cfgs))
-            {
-                return;
-            }
-
-            foreach (int key in cfgs.Keys)
+            // if (!SkillDataManager.Instance.dicPassivitySkill.TryGetValue(InstanceZonesDataManager.currentCardId, out Dictionary<int, List<PassivitySkillCfg>> cfgs))
+            // {
+            //     return;
+            // }
+            PassivitySkillCfg[] skillCfgs = PassivitySkillCfgArray.Instance.GetCfgs(InstanceZonesDataManager.currentCardId);
+            if (skillCfgs.Length == 0) return;
+
+            for (int i = 0; i < skillCfgs.Length; i++)
             {
             {
+                PassivitySkillCfg skillCfg = skillCfgs[i];
+                int skillLv = SkillDataManager.Instance.GetSkillLv(InstanceZonesDataManager.currentCardId, skillCfg.skillId);
+                PassivitySkillLvlCfg skillLvCfg = PassivitySkillLvlCfgArray.Instance.GetCfg(skillLv, skillCfg.skillId);
+                // int skillLv = SkillDataManager.Instance.GetSkillLv(InstanceZonesDataManager.currentCardId, cfg.skillId);
 
 
-                if (cfgs.Count == 0) break;
-                SkillData skillData = SkillDataManager.Instance.GetSkillData(InstanceZonesDataManager.currentCardId, key);
-
-                PassivitySkillCfg cfg = cfgs[key][skillData.lv - 1];
-                if (partId == cfg.subTypes || cfg.subTypes == 0)
+                if (partId == skillCfg.subTypes || skillCfg.subTypes == 0)
                 {
                 {
-                    int isProbability = Random.Range(0, 100) < cfg.probability ? 1 : 0;
-                    if (showCard != true && cfg.mainSkill == 1 && isProbability == 1)
+                    int isProbability = Random.Range(0, 100) < skillLvCfg.probability ? 1 : 0;
+                    if (showCard != true && skillCfg.mainSkill == 1 && isProbability == 1)
                     {
                     {
                         //卡牌中包含主技能且此技能被触发,在评分阶段才展示卡牌效果,一张卡牌只要有一个技能需要显示,那就直接显示
                         //卡牌中包含主技能且此技能被触发,在评分阶段才展示卡牌效果,一张卡牌只要有一个技能需要显示,那就直接显示
                         showCard = true;
                         showCard = true;
                     }
                     }
                     // Debug.Log(" i:" + i + "   cardScore:" + skillScore);
                     // Debug.Log(" i:" + i + "   cardScore:" + skillScore);
-                    skillScore += mainScore * cfg.count / 100 * isProbability;
+                    skillScore += mainScore * skillLvCfg.count / 100 * isProbability;
                 }
                 }
             }
             }
         }
         }
@@ -191,24 +193,25 @@ namespace GFGGame
 
 
 
 
         /// <summary>
         /// <summary>
-        /// 根据卡牌Id获取选卡界面显示配置
+        /// 根据卡牌Id获取 战斗选卡 界面显示配置
         /// </summary>
         /// </summary>
         /// <param name="cardId"></param>
         /// <param name="cardId"></param>
         /// <returns></returns>
         /// <returns></returns>
         public PassivitySkillCfg GetShowSkillCfg(int cardId)
         public PassivitySkillCfg GetShowSkillCfg(int cardId)
         {
         {
-            if (!SkillDataManager.Instance.dicPassivitySkill.ContainsKey(cardId))
+            PassivitySkillCfg[] skillCfgs = PassivitySkillCfgArray.Instance.GetCfgs(cardId);
+            if (skillCfgs.Length <= 0)
             {
             {
                 Debug.LogWarning(cardId + " 这张卡片没有配置技能");
                 Debug.LogWarning(cardId + " 这张卡片没有配置技能");
                 return null;
                 return null;
             }
             }
-            Dictionary<int, List<PassivitySkillCfg>> cfgs = SkillDataManager.Instance.dicPassivitySkill[cardId];
-            foreach (int key in cfgs.Keys)
+
+            for (int i = 0; i < skillCfgs.Length; i++)
             {
             {
-                if (cfgs[key][0].showSkill == 1)
+                if (skillCfgs[i].showSkill == 1)
                 {
                 {
-                    SkillData skillData = SkillDataManager.Instance.GetSkillData(cardId, cfgs[key][0].skillId);
-                    return cfgs[key][skillData.lv - 1];
+                    // int skillLv = SkillDataManager.Instance.GetSkillLv(cardId, skillCfgs[i].skillId);
+                    return skillCfgs[i];
                 }
                 }
             }
             }
             return null;
             return null;
@@ -222,19 +225,24 @@ namespace GFGGame
         /// <returns></returns>
         /// <returns></returns>
         public PassivitySkillCfg GetMainSkillCfg(int cardId)
         public PassivitySkillCfg GetMainSkillCfg(int cardId)
         {
         {
-            Dictionary<int, List<PassivitySkillCfg>> cfgs = SkillDataManager.Instance.dicPassivitySkill[cardId];
+            // Dictionary<int, List<PassivitySkillCfg>> cfgs = SkillDataManager.Instance.dicPassivitySkill[cardId];
+            PassivitySkillCfg[] skillCfgs = PassivitySkillCfgArray.Instance.GetCfgs(cardId);
 
 
-            if (cfgs.Count == 0)
+            if (skillCfgs.Length <= 0)
             {
             {
                 Debug.LogWarning(cardId + " 这张卡片没有配置技能");
                 Debug.LogWarning(cardId + " 这张卡片没有配置技能");
                 return null;
                 return null;
             }
             }
-            foreach (int key in cfgs.Keys)
+            // foreach (int key in cfgs.Keys)
+            // {
+            for (int i = 0; i < skillCfgs.Length; i++)
             {
             {
-                if (cfgs[key][0].mainSkill == 1)
+                if (skillCfgs[i].mainSkill == 1)
                 {
                 {
-                    SkillData skillData = SkillDataManager.Instance.GetSkillData(cardId, key);
-                    return cfgs[key][skillData.lv - 1];
+                    // int skillLV = SkillDataManager.Instance.GetSkillLv(cardId, skillCfgs[i].skillId);
+                    // PassivitySkillLvlCfgArray skillLvCfg = PassivitySkillLvlCfgArray.Instance.GetCfg(skillLV, skillCfgs[i].skillId);
+                    // return cfgs[key][skillLV - 1];
+                    return skillCfgs[i];
                 }
                 }
             }
             }
             return null;
             return null;

+ 45 - 59
GameClient/Assets/Game/HotUpdate/Data/SkillDataManager.cs

@@ -12,66 +12,36 @@ namespace GFGGame
         public const string SKILL_BREAK = "break";
         public const string SKILL_BREAK = "break";
         public const string SKILL_SHIELD = "shield";
         public const string SKILL_SHIELD = "shield";
 
 
-        public Dictionary<int, Dictionary<int, SkillData>> skillData = new Dictionary<int, Dictionary<int, SkillData>>();
-        public Dictionary<int, Dictionary<int, List<PassivitySkillCfg>>> dicPassivitySkill = new Dictionary<int, Dictionary<int, List<PassivitySkillCfg>>>();
+        public Dictionary<int, Dictionary<int, int>> skillData = new Dictionary<int, Dictionary<int, int>>();
+        // public Dictionary<int, Dictionary<int, List<PassivitySkillCfg>>> dicPassivitySkill = new Dictionary<int, Dictionary<int, List<PassivitySkillCfg>>>();
 
 
         public void Clear()
         public void Clear()
         {
         {
             skillData.Clear();
             skillData.Clear();
         }
         }
-        public void InitServerData(List<SkillData> skillDatas)
+        public void InitServerData(int cardId, List<int> skillIds, List<int> skillLvs)
         {
         {
-            skillData.Clear();
-            if (skillDatas != null && skillDatas.Count > 0)
-            {
-                foreach (SkillData skillData in skillDatas)
-                {
-                    if (!this.skillData.ContainsKey(skillData.cardId))
-                    {
-                        this.skillData[skillData.cardId] = new Dictionary<int, SkillData>();
-                    }
 
 
-                    this.skillData[skillData.cardId][skillData.skillId] = skillData;
-                }
-            }
-        }
-        public void SetDicPassivitySkillCfg()
-        {
-            if (dicPassivitySkill.Count > 0) return;
-            PassivitySkillCfg[] dataArray = PassivitySkillCfgArray.Instance.dataArray;
-            for (int i = 0; i < dataArray.Length; i++)
-            {
-                if (!dicPassivitySkill.ContainsKey(dataArray[i].cardId))
-                {
-                    dicPassivitySkill[dataArray[i].cardId] = new Dictionary<int, List<PassivitySkillCfg>>();
-                }
-                PassivitySkillCfg passivitySkillCfgs = dataArray[i];
 
 
-                if (!dicPassivitySkill[passivitySkillCfgs.cardId].ContainsKey(passivitySkillCfgs.skillId))
-                {
-                    dicPassivitySkill[passivitySkillCfgs.cardId][passivitySkillCfgs.skillId] = new List<PassivitySkillCfg>();
-                }
-                dicPassivitySkill[passivitySkillCfgs.cardId][passivitySkillCfgs.skillId].Add(passivitySkillCfgs);
-            }
-        }
-        public void UpSkill(int cardId, int skillId)
-        {
             if (!this.skillData.ContainsKey(cardId))
             if (!this.skillData.ContainsKey(cardId))
             {
             {
-                this.skillData[cardId] = new Dictionary<int, SkillData>();
+                this.skillData[cardId] = new Dictionary<int, int>();
             }
             }
-            if (!this.skillData[cardId].ContainsKey(skillId))
+            for (int i = 0; i < skillIds.Count; i++)
             {
             {
-                SkillData skillData = new SkillData();
-                skillData.cardId = cardId;
-                skillData.skillId = skillId;
-                skillData.lv = 1;
-                this.skillData[cardId][skillId] = skillData;
+                UpdateSkill(cardId, skillIds[i], skillLvs[i]);
             }
             }
-            skillData[cardId][skillId].lv += 1;
-            EventAgent.DispatchEvent(ConstMessage.CARD_UP_SKILL);
+        }
+        public void UpdateSkill(int cardId, int skillId, int skillLv)
+        {
+            this.skillData[cardId][skillId] = skillLv;
         }
         }
 
 
+        // public void UpSkill(int cardId, int skillId)
+        // {
+        //     CardSProxy.UpgradeCardSkill(cardId, skillId).Coroutine();
+        // }
+
         //获取npc释放技能顺序
         //获取npc释放技能顺序
         public Dictionary<int, RoleSkillCfg> GetNpcSkill()
         public Dictionary<int, RoleSkillCfg> GetNpcSkill()
         {
         {
@@ -87,26 +57,42 @@ namespace GFGGame
             return npcSkillDic;
             return npcSkillDic;
         }
         }
 
 
-        public SkillData GetSkillData(int cardId, int skillId)
+        public int GetSkillLv(int cardId, int skillId)
         {
         {
-            SkillData skillData;
-            if (SkillDataManager.Instance.skillData.ContainsKey(cardId) && SkillDataManager.Instance.skillData[cardId].ContainsKey(skillId))
-            {
-                skillData = SkillDataManager.Instance.skillData[cardId][skillId];
-            }
-            else
+            // SkillData skillData;
+            // if (SkillDataManager.Instance.skillData.ContainsKey(cardId) && SkillDataManager.Instance.skillData[cardId].ContainsKey(skillId))
+            // {
+            //     skillData = SkillDataManager.Instance.skillData[cardId][skillId];
+            // }
+            // else
+            // {
+            //     skillData = new SkillData();
+            //     skillData.cardId = cardId;
+            //     skillData.skillId = skillId;
+            //     skillData.lv = 1;
+            // }
+            // return skillData;
+
+            int lv = 1;
+            if (this.skillData.ContainsKey(cardId) && this.skillData[cardId].ContainsKey(skillId))
             {
             {
-                skillData = new SkillData();
-                skillData.cardId = cardId;
-                skillData.skillId = skillId;
-                skillData.lv = 1;
+                lv = this.skillData[cardId][skillId];
             }
             }
-            return skillData;
+            return lv;
         }
         }
 
 
-        public PassivitySkillCfg GetPassivitySkillCfg(int cardId, int skillId, int lv)
+        public PassivitySkillCfg GetPassivitySkillCfg(int cardId, int skillId)
         {
         {
-            return dicPassivitySkill[cardId][skillId][lv - 1];
+            PassivitySkillCfg[] cfgs = PassivitySkillCfgArray.Instance.GetCfgs(cardId);
+            for (int i = 0; i < cfgs.Length; i++)
+            {
+                if (cfgs[i].skillId == skillId) return cfgs[i];
+            }
+            return null;
         }
         }
+        // public PassivitySkillLvlCfg GetPassivitySkillLvlCfg(int skillId, int lv)
+        // {
+        //     return PassivitySkillLvlCfgArray.Instance.GetCfg(lv, skillId);
+        // }
     }
     }
 }
 }

+ 33 - 0
GameClient/Assets/Game/HotUpdate/Data/StorageDataManager.cs

@@ -0,0 +1,33 @@
+using System.Collections.Generic;
+
+namespace GFGGame
+{
+    public class StorageDataManager : SingletonBase<StorageDataManager>
+    {
+        private Dictionary<int, int> _storangeInfoById = new Dictionary<int, int>();
+
+        public void Clear()
+        {
+            _storangeInfoById.Clear();
+        }
+
+
+        public void InitStorageInfo(int key, int value)
+        {
+            if (!_storangeInfoById.ContainsKey(key))
+            {
+                _storangeInfoById.Add(key, value);
+            }
+            _storangeInfoById[key] = value;
+        }
+        public int GetStorageValue(int key)
+        {
+            if (!_storangeInfoById.ContainsKey(key))
+            {
+                return -1;
+            }
+
+            return _storangeInfoById[key];
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Data/StorageDataManager.cs.meta

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

+ 4 - 0
GameClient/Assets/Game/HotUpdate/DressUp/DressUpObjDataCache.cs

@@ -101,6 +101,8 @@ namespace GFGGame
             set
             set
             {
             {
                 _autoPlay = value;
                 _autoPlay = value;
+                if (!_autoPlay) fightSpeed = 1;
+                StorageSProxy.ReqSetClientValue(ConstStorageId.STORAGE_AUTO_PLAY, _autoPlay == true ? 1 : 0).Coroutine();
             }
             }
         }
         }
         public int maxFightSpeed = 8;
         public int maxFightSpeed = 8;
@@ -115,6 +117,8 @@ namespace GFGGame
             {
             {
 
 
                 _fightSpeed = value;
                 _fightSpeed = value;
+                StorageSProxy.ReqSetClientValue(ConstStorageId.STORAGE_AUTO_PLAY_SPEED, _fightSpeed).Coroutine();
+
             }
             }
         }
         }
         public void Dispose()
         public void Dispose()

+ 11 - 10
GameClient/Assets/Game/HotUpdate/ExcelConfig/Manager/CardCfgManager.cs

@@ -4,7 +4,7 @@ using UnityEngine;
 
 
 namespace GFGGame
 namespace GFGGame
 {
 {
-    public class CardCfgManager 
+    public class CardCfgManager
     {
     {
         private static Dictionary<string, List<CardLvlCfg>> _cardLvCfgDic = new Dictionary<string, List<CardLvlCfg>>();
         private static Dictionary<string, List<CardLvlCfg>> _cardLvCfgDic = new Dictionary<string, List<CardLvlCfg>>();
         private static Dictionary<string, Dictionary<string, List<CardStarCfg>>> _cardStarCfgDic = new Dictionary<string, Dictionary<string, List<CardStarCfg>>>();
         private static Dictionary<string, Dictionary<string, List<CardStarCfg>>> _cardStarCfgDic = new Dictionary<string, Dictionary<string, List<CardStarCfg>>>();
@@ -36,7 +36,7 @@ namespace GFGGame
         {
         {
             if (_cardLvCfgDic.Count == 0)
             if (_cardLvCfgDic.Count == 0)
             {
             {
-              
+
                 int _rarity = 1;
                 int _rarity = 1;
                 int _lv = 1;
                 int _lv = 1;
                 CardLvlCfg lvCfg = CardLvlCfgArray.Instance.GetCfg(_lv, _rarity);
                 CardLvlCfg lvCfg = CardLvlCfgArray.Instance.GetCfg(_lv, _rarity);
@@ -61,6 +61,7 @@ namespace GFGGame
             }
             }
             return _cardLvCfgDic[rarity.ToString()];
             return _cardLvCfgDic[rarity.ToString()];
         }
         }
+
         /// <summary>
         /// <summary>
         /// 根据男主类型和稀有度获取升星配置数组
         /// 根据男主类型和稀有度获取升星配置数组
         /// </summary>
         /// </summary>
@@ -70,7 +71,7 @@ namespace GFGGame
         public static List<CardStarCfg> GetCardStarCfgsByTypeAndRarity(int type, int rarity)
         public static List<CardStarCfg> GetCardStarCfgsByTypeAndRarity(int type, int rarity)
         {
         {
             if (_cardStarCfgDic.Count == 0)
             if (_cardStarCfgDic.Count == 0)
-            {            
+            {
 
 
                 int _type = 1;
                 int _type = 1;
                 int _rarity = 1;
                 int _rarity = 1;
@@ -100,14 +101,14 @@ namespace GFGGame
                     _star++;
                     _star++;
                     starCfg = CardStarCfgArray.Instance.GetCfg(_type, _rarity, _star);
                     starCfg = CardStarCfgArray.Instance.GetCfg(_type, _rarity, _star);
                     if (starCfg != null) continue;
                     if (starCfg != null) continue;
-                   
+
                     _star = 1;
                     _star = 1;
                     _rarity++;
                     _rarity++;
                     starCfg = CardStarCfgArray.Instance.GetCfg(_type, _rarity, _star);
                     starCfg = CardStarCfgArray.Instance.GetCfg(_type, _rarity, _star);
 
 
                     if (starCfg != null) continue;
                     if (starCfg != null) continue;
                     _star = 1;
                     _star = 1;
-                    _rarity=1;
+                    _rarity = 1;
                     _type++;
                     _type++;
                     starCfg = CardStarCfgArray.Instance.GetCfg(_type, _rarity, _star);
                     starCfg = CardStarCfgArray.Instance.GetCfg(_type, _rarity, _star);
                     if (starCfg == null) break;
                     if (starCfg == null) break;
@@ -120,7 +121,7 @@ namespace GFGGame
 
 
             int count = 0;
             int count = 0;
             List<int> resourceStar = _cardResCfgDic[type.ToString()][rarity.ToString()];
             List<int> resourceStar = _cardResCfgDic[type.ToString()][rarity.ToString()];
-            for(int i = 0; i < resourceStar.Count; i++)
+            for (int i = 0; i < resourceStar.Count; i++)
             {
             {
                 if (CardDataManager.GetCardDataById(cardId).star >= resourceStar[i])
                 if (CardDataManager.GetCardDataById(cardId).star >= resourceStar[i])
                 {
                 {
@@ -130,23 +131,23 @@ namespace GFGGame
             return count;
             return count;
         }
         }
 
 
-        public static List<CardStoryCfg>  GetStoryCfgsById(int cardId)
+        public static List<CardStoryCfg> GetStoryCfgsById(int cardId)
         {
         {
             if (_cardStoryCfgDic.Keys.Count == 0)
             if (_cardStoryCfgDic.Keys.Count == 0)
             {
             {
                 CardStoryCfg[] cardStoryCfgs = CardStoryCfgArray.Instance.dataArray;
                 CardStoryCfg[] cardStoryCfgs = CardStoryCfgArray.Instance.dataArray;
 
 
-                for (int i=0;i< cardStoryCfgs.Length; i++)
+                for (int i = 0; i < cardStoryCfgs.Length; i++)
                 {
                 {
                     int _cardId = cardStoryCfgs[i].cardId;
                     int _cardId = cardStoryCfgs[i].cardId;
-                    if (_cardStoryCfgDic.ContainsKey(_cardId)==false)
+                    if (_cardStoryCfgDic.ContainsKey(_cardId) == false)
                     {
                     {
                         _cardStoryCfgDic.Add(_cardId, new List<CardStoryCfg>());
                         _cardStoryCfgDic.Add(_cardId, new List<CardStoryCfg>());
                     }
                     }
                     _cardStoryCfgDic[_cardId].Add(cardStoryCfgs[i]);
                     _cardStoryCfgDic[_cardId].Add(cardStoryCfgs[i]);
                 }
                 }
             }
             }
-            return _cardStoryCfgDic.ContainsKey(cardId)? _cardStoryCfgDic[cardId]: new List<CardStoryCfg>();
+            return _cardStoryCfgDic.ContainsKey(cardId) ? _cardStoryCfgDic[cardId] : new List<CardStoryCfg>();
         }
         }
     }
     }
 }
 }

+ 4 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/DressUp/UI_DressUpFightUI.cs

@@ -18,6 +18,7 @@ namespace UI.DressUp
         public UI_comListType m_comListType1;
         public UI_comListType m_comListType1;
         public UI_comListType m_comListType2;
         public UI_comListType m_comListType2;
         public UI_PartsList m_partsList;
         public UI_PartsList m_partsList;
+        public UI_PartsList m_partsList2;
         public GButton m_btnHint;
         public GButton m_btnHint;
         public GGraph m_btnClose;
         public GGraph m_btnClose;
         public GTextField m_txtHint;
         public GTextField m_txtHint;
@@ -90,6 +91,7 @@ namespace UI.DressUp
             m_comListType1 = (UI_comListType)UI_comListType.Create(comp.GetChild("comListType1"));
             m_comListType1 = (UI_comListType)UI_comListType.Create(comp.GetChild("comListType1"));
             m_comListType2 = (UI_comListType)UI_comListType.Create(comp.GetChild("comListType2"));
             m_comListType2 = (UI_comListType)UI_comListType.Create(comp.GetChild("comListType2"));
             m_partsList = (UI_PartsList)UI_PartsList.Create(comp.GetChild("partsList"));
             m_partsList = (UI_PartsList)UI_PartsList.Create(comp.GetChild("partsList"));
+            m_partsList2 = (UI_PartsList)UI_PartsList.Create(comp.GetChild("partsList2"));
             m_btnHint = (GButton)comp.GetChild("btnHint");
             m_btnHint = (GButton)comp.GetChild("btnHint");
             m_btnClose = (GGraph)comp.GetChild("btnClose");
             m_btnClose = (GGraph)comp.GetChild("btnClose");
             m_txtHint = (GTextField)comp.GetChild("txtHint");
             m_txtHint = (GTextField)comp.GetChild("txtHint");
@@ -122,6 +124,8 @@ namespace UI.DressUp
             m_comListType2 = null;
             m_comListType2 = null;
             m_partsList.Dispose();
             m_partsList.Dispose();
             m_partsList = null;
             m_partsList = null;
+            m_partsList2.Dispose();
+            m_partsList2 = null;
             m_btnHint = null;
             m_btnHint = null;
             m_btnClose = null;
             m_btnClose = null;
             m_txtHint = null;
             m_txtHint = null;

+ 4 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/DressUp/UI_DressUpUI.cs

@@ -18,6 +18,7 @@ namespace UI.DressUp
         public UI_comListType m_comListType1;
         public UI_comListType m_comListType1;
         public UI_comListType m_comListType2;
         public UI_comListType m_comListType2;
         public UI_PartsList m_partsList;
         public UI_PartsList m_partsList;
+        public UI_PartsList m_partsList2;
         public GButton m_btnAction;
         public GButton m_btnAction;
         public GButton m_btnPhoto;
         public GButton m_btnPhoto;
         public GButton m_btnLastStep;
         public GButton m_btnLastStep;
@@ -84,6 +85,7 @@ namespace UI.DressUp
             m_comListType1 = (UI_comListType)UI_comListType.Create(comp.GetChild("comListType1"));
             m_comListType1 = (UI_comListType)UI_comListType.Create(comp.GetChild("comListType1"));
             m_comListType2 = (UI_comListType)UI_comListType.Create(comp.GetChild("comListType2"));
             m_comListType2 = (UI_comListType)UI_comListType.Create(comp.GetChild("comListType2"));
             m_partsList = (UI_PartsList)UI_PartsList.Create(comp.GetChild("partsList"));
             m_partsList = (UI_PartsList)UI_PartsList.Create(comp.GetChild("partsList"));
+            m_partsList2 = (UI_PartsList)UI_PartsList.Create(comp.GetChild("partsList2"));
             m_btnAction = (GButton)comp.GetChild("btnAction");
             m_btnAction = (GButton)comp.GetChild("btnAction");
             m_btnPhoto = (GButton)comp.GetChild("btnPhoto");
             m_btnPhoto = (GButton)comp.GetChild("btnPhoto");
             m_btnLastStep = (GButton)comp.GetChild("btnLastStep");
             m_btnLastStep = (GButton)comp.GetChild("btnLastStep");
@@ -109,6 +111,8 @@ namespace UI.DressUp
             m_comListType2 = null;
             m_comListType2 = null;
             m_partsList.Dispose();
             m_partsList.Dispose();
             m_partsList = null;
             m_partsList = null;
+            m_partsList2.Dispose();
+            m_partsList2 = null;
             m_btnAction = null;
             m_btnAction = null;
             m_btnPhoto = null;
             m_btnPhoto = null;
             m_btnLastStep = null;
             m_btnLastStep = null;

+ 71 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Guide/UI_ComHolder.cs

@@ -0,0 +1,71 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Guide
+{
+    public partial class UI_ComHolder
+    {
+        public GComponent target;
+        public GGraph m_holder;
+        public const string URL = "ui://vxxz0ya7axdii";
+        public const string PACKAGE_NAME = "Guide";
+        public const string RES_NAME = "ComHolder";
+        private static UI_ComHolder _proxy;
+
+        public static UI_ComHolder Create(GObject gObject = null)
+        {
+            var ui = new UI_ComHolder();
+            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_ComHolder Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ComHolder();
+            }
+            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");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_holder = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Guide/UI_ComHolder.cs.meta

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

+ 4 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Guide/UI_GuideUI.cs

@@ -11,7 +11,7 @@ namespace UI.Guide
         public UI_Component3 m_rectFrame;
         public UI_Component3 m_rectFrame;
         public UI_Component1 m_compTxt;
         public UI_Component1 m_compTxt;
         public GImage m_rectFrameTemp;
         public GImage m_rectFrameTemp;
-        public GGraph m_holder;
+        public UI_ComHolder m_comHolder;
         public const string URL = "ui://vxxz0ya7rpol4";
         public const string URL = "ui://vxxz0ya7rpol4";
         public const string PACKAGE_NAME = "Guide";
         public const string PACKAGE_NAME = "Guide";
         public const string RES_NAME = "GuideUI";
         public const string RES_NAME = "GuideUI";
@@ -63,7 +63,7 @@ namespace UI.Guide
             m_rectFrame = (UI_Component3)UI_Component3.Create(comp.GetChild("rectFrame"));
             m_rectFrame = (UI_Component3)UI_Component3.Create(comp.GetChild("rectFrame"));
             m_compTxt = (UI_Component1)UI_Component1.Create(comp.GetChild("compTxt"));
             m_compTxt = (UI_Component1)UI_Component1.Create(comp.GetChild("compTxt"));
             m_rectFrameTemp = (GImage)comp.GetChild("rectFrameTemp");
             m_rectFrameTemp = (GImage)comp.GetChild("rectFrameTemp");
-            m_holder = (GGraph)comp.GetChild("holder");
+            m_comHolder = (UI_ComHolder)UI_ComHolder.Create(comp.GetChild("comHolder"));
         }
         }
         public void Dispose(bool disposeTarget = false)
         public void Dispose(bool disposeTarget = false)
         {
         {
@@ -74,7 +74,8 @@ namespace UI.Guide
             m_compTxt.Dispose();
             m_compTxt.Dispose();
             m_compTxt = null;
             m_compTxt = null;
             m_rectFrameTemp = null;
             m_rectFrameTemp = null;
-            m_holder = null;
+            m_comHolder.Dispose();
+            m_comHolder = null;
             if(disposeTarget && target != null)
             if(disposeTarget && target != null)
             {
             {
                 target.RemoveFromParent();
                 target.RemoveFromParent();

+ 89 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/CardSProxy.cs

@@ -0,0 +1,89 @@
+using System.Collections.Generic;
+using ET;
+using GFGGame;
+
+namespace ET
+{
+    public class NoticeGetNewCard : AMHandler<M2C_GetNewCard>
+    {
+        protected override async ETTask Run(Session session, M2C_GetNewCard message)
+        {
+            CardDataManager.Add(message.CardInfo);
+            SkillDataManager.Instance.InitServerData(message.CardInfo.CardId, message.CardInfo.KsSkill, message.CardInfo.VsSkill);
+            await ETTask.CompletedTask;
+        }
+    }
+}
+namespace GFGGame
+{
+    public static class CardSProxy
+    {
+        public static async ETTask GetCardInfos()
+        {
+            M2C_GetCardInfos response = null;
+            response = (M2C_GetCardInfos)await MessageHelper.SendToServer(new C2M_GetCardInfos() { });
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+                    for (int i = 0; i < response.CardInfos.Count; i++)
+                    {
+                        CardDataManager.Add(response.CardInfos[i]);
+                        SkillDataManager.Instance.InitServerData(response.CardInfos[i].CardId, response.CardInfos[i].KsSkill, response.CardInfos[i].VsSkill);
+                    }
+                }
+            }
+        }
+
+        public static async ETTask UpgradeCardLvl(int cardId, List<int> itemNums)
+        {
+            M2C_UpgradeCardLvl response = null;
+            response = (M2C_UpgradeCardLvl)await MessageHelper.SendToServer(new C2M_UpgradeCardLvl() { CardId = cardId, ItemNums = itemNums });
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+
+                }
+            }
+        }
+        public static async ETTask UpgradeCardStar(int cardId)
+        {
+            M2C_UpgradeCardStar response = null;
+            response = (M2C_UpgradeCardStar)await MessageHelper.SendToServer(new C2M_UpgradeCardStar() { CardId = cardId });
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+
+                }
+            }
+        }
+        //resIndex:0默认,1特殊
+        public static async ETTask ChangeCardLvl(int cardId, int resIndex)
+        {
+            M2C_ChangeCardLvl response = null;
+            response = (M2C_ChangeCardLvl)await MessageHelper.SendToServer(new C2M_ChangeCardLvl() { CardId = cardId, ResIndex = resIndex });
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+
+                }
+            }
+        }
+        public static async ETTask UpgradeCardSkill(int cardId, int skillId)
+        {
+            M2C_UpgradeCardSkill response = null;
+            response = (M2C_UpgradeCardSkill)await MessageHelper.SendToServer(new C2M_UpgradeCardSkill() { CardId = cardId, SkillId = skillId });
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+                    SkillDataManager.Instance.UpdateSkill(response.CardId, response.SkillId, response.SkillLvl);
+                    EventAgent.DispatchEvent(ConstMessage.CARD_UP_SKILL);
+                }
+            }
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/CardSProxy.cs.meta

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

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

@@ -13,7 +13,7 @@ namespace GFGGame
                 if (response.Error == ErrorCode.ERR_Success)
                 if (response.Error == ErrorCode.ERR_Success)
                 {
                 {
                     ItemDataManager.InitItemExchange(response.ItemId, response.ExchangedTimes);
                     ItemDataManager.InitItemExchange(response.ItemId, response.ExchangedTimes);
-                    EventAgent.DispatchEvent(ConstMessage.SHOP_BUY);
+                    // EventAgent.DispatchEvent(ConstMessage.SHOP_BUY);
                     return true;
                     return true;
                 }
                 }
             }
             }

+ 1 - 2
GameClient/Assets/Game/HotUpdate/ServerProxy/ShopSProxy.cs

@@ -12,8 +12,7 @@ namespace GFGGame
             {
             {
                 if (response.Error == ErrorCode.ERR_Success)
                 if (response.Error == ErrorCode.ERR_Success)
                 {
                 {
-
-                    EventAgent.DispatchEvent(ConstMessage.SHOP_BUY);
+                    // EventAgent.DispatchEvent(ConstMessage.SHOP_BUY);
                     return true;
                     return true;
                 }
                 }
             }
             }

+ 44 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/StorageSProxy.cs

@@ -0,0 +1,44 @@
+using System.Collections.Generic;
+using ET;
+using GFGGame;
+
+
+namespace GFGGame
+{
+    public class StorageSProxy
+    {
+
+        //存储
+        public static async ETTask<bool> ReqSetClientValue(int key, int value)
+        {
+            M2C_SetClientValue response = null;
+            response = (M2C_SetClientValue)await MessageHelper.SendToServer(new C2M_SetClientValue() { Key = key, Value = value });
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+                    StorageDataManager.Instance.InitStorageInfo(response.Key, response.Value);
+                    return true;
+                }
+            }
+            return false;
+        }
+
+        //获取
+        public static async ETTask ReqGetClientValues()
+        {
+            M2C_GetClientValues response = null;
+            response = (M2C_GetClientValues)await MessageHelper.SendToServer(new C2M_GetClientValues() { });
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+                    for (int i = 0; i < response.Ks.Count; i++)
+                    {
+                        StorageDataManager.Instance.InitStorageInfo(response.Ks[i], response.Vs[i]);
+                    }
+                }
+            }
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/StorageSProxy.cs.meta

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

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

@@ -34,7 +34,7 @@ namespace GFGGame
                         StudioData studioData = new StudioData { ChapterId = response.infos[i].ChapterId, BuyTimes = response.infos[i].BuyTimes, PlayTimes = response.infos[i].PlayTimes, TotalPlayTimes = response.infos[i].TotalPlayTimes };
                         StudioData studioData = new StudioData { ChapterId = response.infos[i].ChapterId, BuyTimes = response.infos[i].BuyTimes, PlayTimes = response.infos[i].PlayTimes, TotalPlayTimes = response.infos[i].TotalPlayTimes };
                         StudioDataManager.Instance.RspStudioInfos(studioData);
                         StudioDataManager.Instance.RspStudioInfos(studioData);
                     }
                     }
-                    EventAgent.DispatchEvent(ConstMessage.GET_STUDIO_INFO);
+                    // EventAgent.DispatchEvent(ConstMessage.GET_STUDIO_INFO);
                 }
                 }
             }
             }
         }
         }

+ 20 - 20
GameClient/Assets/Game/HotUpdate/Views/Card/CardDetailView.cs

@@ -58,27 +58,27 @@ namespace GFGGame
         }
         }
         private void UpdateCardList(int rarity = 0)
         private void UpdateCardList(int rarity = 0)
         {
         {
-            _ui.m_listCard.numItems = 0;
-
-            Dictionary<int, CardData> cardDic = CardDataManager.GetCardDicByRarity(rarity);
-
-            if (cardDic == null)
+            // _ui.m_listCard.numItems = 0;
+
+            // Dictionary<int, CardData> cardDic = CardDataManager.GetCardDicByRarity(rarity);
+
+            // if (cardDic == null)
+            // {
+            //     _ui.m_listCard.numItems = 0;
+            //     return;
+            // }
+            // else
+            // {
+            List<CardData> cardList = CardDataManager.GetCardListByRarity(rarity);// CardDataManager.CardDicToList(cardDic);
+            if (CardDataManager._selectList.Keys.Count > 0)
             {
             {
-                _ui.m_listCard.numItems = 0;
-                return;
+                //筛选
+                cardList = CardDataManager.FilterCardList(cardList, CardDataManager._selectList as Dictionary<int, Dictionary<int, int>>);
             }
             }
-            else
-            {
-                List<CardData> cardList = CardDataManager.CardDicToList(cardDic);
-                if (CardDataManager._selectList.Keys.Count > 0)
-                {
-                    //筛选
-                    cardList = CardDataManager.FilterCardList(cardList, CardDataManager._selectList as Dictionary<int, Dictionary<int, int>>);
-                }
-                _ui.m_listCard.data = cardList;
-                _ui.m_listCard.numItems = cardList.Count;
+            _ui.m_listCard.data = cardList;
+            _ui.m_listCard.numItems = cardList.Count;
 
 
-            }
+            // }
 
 
             _ui.m_txtTips.visible = _ui.m_listCard.numItems == 0 ? true : false;
             _ui.m_txtTips.visible = _ui.m_listCard.numItems == 0 ? true : false;
         }
         }
@@ -88,7 +88,7 @@ namespace GFGGame
             CardData data = (_ui.m_listCard.data as List<CardData>)[index];//CardDataManager.GetCardList(_ui.m_listRole.selectedIndex)[index];
             CardData data = (_ui.m_listCard.data as List<CardData>)[index];//CardDataManager.GetCardList(_ui.m_listRole.selectedIndex)[index];
             listItem.target.data = data;
             listItem.target.data = data;
             listItem.m_loaCard.m_loaCard.url = ResPathUtil.GetCardSmallPath(data.res);
             listItem.m_loaCard.m_loaCard.url = ResPathUtil.GetCardSmallPath(data.res);
-            listItem.m_loaRarity.url = ResPathUtil.GetCommonGameResPath("kp_sxing_x_" + (5 - data.itemCfg.rarity));//(5-res):res1-4为黄玄地天,但是资源1天,2地,3玄,4黄,所以(5-res)是为了使其资源对应
+            listItem.m_loaRarity.url = ResPathUtil.GetCommonGameResPath("kp_sxing_x_" + data.itemCfg.rarity);
             listItem.m_txtLv.text = "Lv.\n" + data.lv;
             listItem.m_txtLv.text = "Lv.\n" + data.lv;
             listItem.m_txtName.text = data.itemCfg.name;
             listItem.m_txtName.text = data.itemCfg.name;
 
 
@@ -152,7 +152,7 @@ namespace GFGGame
         {
         {
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
 
 
-            GuideController.TryGuide(_ui.m_listCard, ConstGuideId.UP_CARD_STAR, 3, "选择可升星的词牌", true, 0);
+            GuideController.TryGuide(_ui.m_listCard, ConstGuideId.UP_CARD_STAR, 3, "选择可升星的词牌", 1);
         }
         }
     }
     }
 }
 }

+ 75 - 79
GameClient/Assets/Game/HotUpdate/Views/Card/CardFosterView.cs

@@ -15,7 +15,7 @@ namespace GFGGame
         private UI_CardFosterUI _ui;
         private UI_CardFosterUI _ui;
         private UI_ComFosterBottom _comFosterBottom;
         private UI_ComFosterBottom _comFosterBottom;
         private ValueBarController _valueBarController;
         private ValueBarController _valueBarController;
-        private CardData _viewData = new CardData();
+        private CardData _cardData = new CardData();
         private int _selectTab = 0;
         private int _selectTab = 0;
 
 
         private GameObject _cardObj;
         private GameObject _cardObj;
@@ -98,6 +98,8 @@ namespace GFGGame
         protected override void OnShown()
         protected override void OnShown()
         {
         {
             base.OnShown();
             base.OnShown();
+            _cardData = CardDataManager.GetCardDataById((this.viewData as CardData).id);
+
             _cardScale = _ui.target.height * 0.8f / _ui.target.initHeight;
             _cardScale = _ui.target.height * 0.8f / _ui.target.initHeight;
             Input.multiTouchEnabled = false;
             Input.multiTouchEnabled = false;
 
 
@@ -110,53 +112,41 @@ namespace GFGGame
 
 
         private void UpdateNormal()
         private void UpdateNormal()
         {
         {
-            _comFosterBottom.m_txtName.text = _viewData.itemCfg.name;
-            _comFosterBottom.m_btnStory.visible = CardCfgManager.GetStoryCfgsById(_viewData.id).Count > 0 ? true : false;
+            _comFosterBottom.m_txtName.text = _cardData.itemCfg.name;
+            _comFosterBottom.m_btnStory.visible = CardCfgManager.GetStoryCfgsById(_cardData.id).Count > 0 ? true : false;
             _comFosterBottom.m_btnUpLv.grayed = true;
             _comFosterBottom.m_btnUpLv.grayed = true;
-            _comFosterBottom.m_loaRarity.url = ResPathUtil.GetCommonGameResPath("kp_sx_da_" + (5 - _viewData.itemCfg.rarity));
+            _comFosterBottom.m_loaRarity.url = ResPathUtil.GetCommonGameResPath("kp_sx_da_" + _cardData.itemCfg.rarity);
             _valueBarController = new ValueBarController(_ui.m_ComFosterTop.m_comValueBar, 5);
             _valueBarController = new ValueBarController(_ui.m_ComFosterTop.m_comValueBar, 5);
             _valueBarController.OnShown();
             _valueBarController.OnShown();
 
 
         }
         }
         private void UpdateCommon()
         private void UpdateCommon()
         {
         {
-            _viewData = CardDataManager.GetCardDataById((this.viewData as CardData).id);
-            _comFosterBottom.m_listProperty.numItems = _viewData.scores.Count;
+            _comFosterBottom.m_listProperty.numItems = _cardData.scores.Count;
             _comFosterBottom.m_ComLvConsumeGold.m_txtCount.text = "0";
             _comFosterBottom.m_ComLvConsumeGold.m_txtCount.text = "0";
 
 
         }
         }
         private void UpdateCardRes()
         private void UpdateCardRes()
         {
         {
-            List<CardStarCfg> cardStarCfgs = CardCfgManager.GetCardStarCfgsByTypeAndRarity(_viewData.itemCfg.subType, _viewData.itemCfg.rarity);
 
 
-            if (_viewData.res == _viewData.itemCfg.res || _viewData.star < cardStarCfgs.Count)
+            if (_cardObj != null)
             {
             {
-                _ui.m_comCard.target.visible = false;
-                _ui.m_loaCard.visible = true;
-                _ui.m_loaListener.visible = false;
-                _ui.m_loaCard.url = ResPathUtil.GetCardPath(_viewData.res);
-                _ui.m_loaCard.width = _ui.m_loaCard.image.width;
-
-
+                GameObject.Destroy(_cardObj);
+                _cardObj = null;
             }
             }
-            else
+            string resPath = ResPathUtil.GetCardAnimationPath(_cardData.res);
+            _cardObj = DressUpUtil.AddAnimationObj(resPath);
+
+            if (_cardObj != null)
             {
             {
                 _ui.m_loaListener.visible = true;
                 _ui.m_loaListener.visible = true;
                 _ui.m_comCard.target.visible = true;
                 _ui.m_comCard.target.visible = true;
                 _ui.m_loaCard.visible = false;
                 _ui.m_loaCard.visible = false;
 
 
                 int scale = 100;
                 int scale = 100;
-                if (_cardObj != null)
-                {
-                    GameObject.Destroy(_cardObj);
-                    _cardObj = null;
-                }
-                string resPath = ResPathUtil.GetCardAnimationPath(_viewData.res);
-                _cardObj = DressUpUtil.AddAnimationObj(resPath);
                 _cardObj.transform.localScale = new Vector3(scale, scale, scale);
                 _cardObj.transform.localScale = new Vector3(scale, scale, scale);
                 if (_wrapper == null)
                 if (_wrapper == null)
                 {
                 {
-
                     _wrapper = new GoWrapper(_cardObj);
                     _wrapper = new GoWrapper(_cardObj);
                     _ui.m_comCard.m_comCardHolder.m_holder.SetNativeObject(_wrapper);
                     _ui.m_comCard.m_comCardHolder.m_holder.SetNativeObject(_wrapper);
                 }
                 }
@@ -166,14 +156,22 @@ namespace GFGGame
                 }
                 }
                 _ui.m_comCard.target.scrollPane.SetPercX(0.5f, false);
                 _ui.m_comCard.target.scrollPane.SetPercX(0.5f, false);
                 _ui.m_comCard.target.SetScale(_cardScale, _cardScale);
                 _ui.m_comCard.target.SetScale(_cardScale, _cardScale);
-
             }
             }
+            else
+            {
+                _ui.m_comCard.target.visible = false;
+                _ui.m_loaCard.visible = true;
+                _ui.m_loaListener.visible = false;
+                _ui.m_loaCard.url = ResPathUtil.GetCardPath(_cardData.res);
+                _ui.m_loaCard.width = _ui.m_loaCard.image.width;
+            }
+
         }
         }
         private void RenderListPropertyItem(int index, GObject obj)
         private void RenderListPropertyItem(int index, GObject obj)
         {
         {
             UI_ListPropertyItem listItem = UI_ListPropertyItem.Proxy(obj);
             UI_ListPropertyItem listItem = UI_ListPropertyItem.Proxy(obj);
 
 
-            listItem.m_txtProperty.text = _viewData.scores[index + 1].ToString();
+            listItem.m_txtProperty.text = _cardData.scores[index + 1].ToString();
             listItem.m_loaIcon.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + (index + 1));
             listItem.m_loaIcon.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + (index + 1));
             UI_ListPropertyItem.ProxyEnd();
             UI_ListPropertyItem.ProxyEnd();
         }
         }
@@ -181,35 +179,35 @@ namespace GFGGame
         /***********************************************************升级***************************************************/
         /***********************************************************升级***************************************************/
         private void UpdateUpLvView(bool isPreview = false, int lv = 0, int exp = 0)
         private void UpdateUpLvView(bool isPreview = false, int lv = 0, int exp = 0)
         {
         {
-            _showLv = isPreview == true ? lv : _viewData.lv;
-            _showExp = isPreview == true ? exp : _viewData.exp;
-            CardLvlCfg cardLvCfg = CardCfgManager.GetCardLvCfgByRarityAndLv(_viewData.itemCfg.rarity, _showLv);
+            _showLv = isPreview == true ? lv : _cardData.lv;
+            _showExp = isPreview == true ? exp : _cardData.exp;
+            CardLvlCfg cardLvCfg = CardLvlCfgArray.Instance.GetCfg(_showLv, _cardData.itemCfg.rarity);
 
 
             _comFosterBottom.m_barLv.max = cardLvCfg.needExp;
             _comFosterBottom.m_barLv.max = cardLvCfg.needExp;
             _comFosterBottom.m_barLv.value = _showExp;
             _comFosterBottom.m_barLv.value = _showExp;
-
-            _comFosterBottom.m_txtMaxLv.text = (CardCfgManager.GetCardLvCfgsByRarity(_viewData.itemCfg.rarity).Count - 1).ToString();
-            _comFosterBottom.m_txtCurLv.text = StringUtil.GetColorText(_showLv.ToString(), _showLv < int.Parse(_comFosterBottom.m_txtMaxLv.text) ? "#D27869" : "#7D6956");
+            int maxLv = CardRarityCfgArray.Instance.GetCfg(_cardData.itemCfg.rarity).maxCardLvl;
+            _comFosterBottom.m_txtMaxLv.text = maxLv.ToString();
+            _comFosterBottom.m_txtCurLv.text = StringUtil.GetColorText(_showLv.ToString(), _showLv < maxLv ? "#D27869" : "#7D6956");
             _comFosterBottom.m_txtMaxExp.text = cardLvCfg.needExp.ToString();
             _comFosterBottom.m_txtMaxExp.text = cardLvCfg.needExp.ToString();
             _comFosterBottom.m_txtCurExp.text = _showExp.ToString();
             _comFosterBottom.m_txtCurExp.text = _showExp.ToString();
 
 
             _comFosterBottom.m_btnUpLv.grayed = _comFosterBottom.m_ComLvConsumeGold.m_txtCount.text == "0" ? true : false;
             _comFosterBottom.m_btnUpLv.grayed = _comFosterBottom.m_ComLvConsumeGold.m_txtCount.text == "0" ? true : false;
 
 
-            _comFosterBottom.m_ctrlFullLv.selectedIndex = CardDataManager.isFullLv(_viewData.id, _viewData.lv, false) ? 1 : 0;
+            _comFosterBottom.m_ctrlFullLv.selectedIndex = CardDataManager.isFullLv(_cardData.id, _cardData.lv, false) ? 1 : 0;
 
 
             if (isPreview == true)
             if (isPreview == true)
             {
             {
                 return;
                 return;
             }
             }
-            _comFosterBottom.m_listLvConsume.numItems = GlobalCfgArray.globalCfg.materiarsArr.Length;
+            _comFosterBottom.m_listLvConsume.numItems = GlobalCfgArray.globalCfg.upgradeCardItemsArr.Length;
 
 
         }
         }
 
 
         private void RenderListLvConsumeItem(int index, GObject obj)
         private void RenderListLvConsumeItem(int index, GObject obj)
         {
         {
             UI_ComConsume listItem = UI_ComConsume.Proxy(obj);
             UI_ComConsume listItem = UI_ComConsume.Proxy(obj);
-            CardLvlCfg cardLvCfg = CardCfgManager.GetCardLvCfgByRarityAndLv(_viewData.itemCfg.rarity, _viewData.lv);
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(GlobalCfgArray.globalCfg.materiarsArr[index]);
+            CardLvlCfg cardLvCfg = CardCfgManager.GetCardLvCfgByRarityAndLv(_cardData.itemCfg.rarity, _cardData.lv);
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(GlobalCfgArray.globalCfg.upgradeCardItemsArr[index]);
             listItem.m_loaItem.url = ResPathUtil.GetIconPath(itemCfg);
             listItem.m_loaItem.url = ResPathUtil.GetIconPath(itemCfg);
             listItem.m_txtNum.text = ItemDataManager.GetItemNum(itemCfg.id).ToString();
             listItem.m_txtNum.text = ItemDataManager.GetItemNum(itemCfg.id).ToString();
             listItem.m_txtUseCount.text = "0";
             listItem.m_txtUseCount.text = "0";
@@ -239,7 +237,7 @@ namespace GFGGame
             {
             {
                 if (ItemDataManager.GetItemNum((listItem.target.data as ItemCfg).id) == 0)
                 if (ItemDataManager.GetItemNum((listItem.target.data as ItemCfg).id) == 0)
                 {
                 {
-                    ViewManager.Show(ViewName.APPROACH_OF_ITEM_VIEW, new object[] { (listItem.target.data as ItemCfg).id, new object[] { ViewName.CARD_FOSTER_VIEW, this.viewData } });
+                    ViewManager.Show(ViewName.APPROACH_OF_ITEM_VIEW, new object[] { (listItem.target.data as ItemCfg).id, new object[] { ViewName.CARD_FOSTER_VIEW, _cardData } });
                 }
                 }
             }
             }
             //_timer.Start();
             //_timer.Start();
@@ -300,7 +298,7 @@ namespace GFGGame
 
 
                 return false;
                 return false;
             }
             }
-            if (_showLv == (CardCfgManager.GetCardLvCfgsByRarity(_viewData.itemCfg.rarity).Count - 1) && _comFosterBottom.m_barLv.max == _comFosterBottom.m_barLv.value)
+            if (_showLv == (CardCfgManager.GetCardLvCfgsByRarity(_cardData.itemCfg.rarity).Count - 1) && _comFosterBottom.m_barLv.max == _comFosterBottom.m_barLv.value)
             {
             {
                 Timers.inst.Remove(OnTimedEvent);
                 Timers.inst.Remove(OnTimedEvent);
 
 
@@ -351,7 +349,7 @@ namespace GFGGame
 
 
             int previewLv = 0;
             int previewLv = 0;
             int previewExp = 0;
             int previewExp = 0;
-            CardDataManager.GetPreViewLvAndExp(_viewData.itemCfg.rarity, _viewData.lv, _viewData.exp, hasExp, out previewLv, out previewExp);
+            CardDataManager.GetPreViewLvAndExp(_cardData.itemCfg.rarity, _cardData.lv, _cardData.exp, hasExp, out previewLv, out previewExp);
             this.UpdateUpLvView(true, previewLv, previewExp);
             this.UpdateUpLvView(true, previewLv, previewExp);
         }
         }
         private void OnClcikBtnAll()
         private void OnClcikBtnAll()
@@ -409,17 +407,17 @@ namespace GFGGame
             }
             }
 
 
 
 
-            if (CardDataManager.isFullLv(_viewData.id, _viewData.lv) == false)
+            if (CardDataManager.isFullLv(_cardData.id, _cardData.lv) == false)
             {
             {
-                int lv = _viewData.lv;
-                CardDataManager.UpCardLv(_viewData.id, _showLv, _showExp);
+                int lv = _cardData.lv;
+                CardDataManager.UpCardLv(_cardData.id, _showLv, _showExp);
                 this.UpdateCommon();
                 this.UpdateCommon();
                 this.UpdateUpLvView();
                 this.UpdateUpLvView();
 
 
                 if (_showLv - lv >= 1)
                 if (_showLv - lv >= 1)
                 {
                 {
                     this._selectTab = _comFosterBottom.m_ctrlTab.selectedIndex;
                     this._selectTab = _comFosterBottom.m_ctrlTab.selectedIndex;
-                    ViewManager.Show(ViewName.CARD_UP_VIEW, new object[] { _viewData.scores, "lv", lv, _showLv }, new object[] { ViewName.CARD_FOSTER_VIEW, this.viewData });
+                    ViewManager.Show(ViewName.CARD_UP_VIEW, new object[] { _cardData.scores, "lv", lv, _showLv }, new object[] { ViewName.CARD_FOSTER_VIEW, _cardData });
                 }
                 }
             }
             }
         }
         }
@@ -429,17 +427,17 @@ namespace GFGGame
 
 
         private void UpdateUpStarView()
         private void UpdateUpStarView()
         {
         {
-            List<CardStarCfg> cardStarCfgs = CardCfgManager.GetCardStarCfgsByTypeAndRarity(_viewData.itemCfg.subType, _viewData.itemCfg.rarity);
-            CardStarCfg cardStarCfg = CardCfgManager.GetCardStarCfgByTypeAndRarityAndStar(_viewData.itemCfg.subType, _viewData.itemCfg.rarity, _viewData.star);
+            List<CardStarCfg> cardStarCfgs = CardCfgManager.GetCardStarCfgsByTypeAndRarity(_cardData.itemCfg.subType, _cardData.itemCfg.rarity);
+            CardStarCfg cardStarCfg = CardCfgManager.GetCardStarCfgByTypeAndRarityAndStar(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star);
 
 
-            _comFosterBottom.m_comStar.m_c1.selectedIndex = _viewData.star;
+            _comFosterBottom.m_comStar.m_c1.selectedIndex = _cardData.star;
             _comFosterBottom.m_comStar.m_c2.selectedIndex = cardStarCfgs.Count;
             _comFosterBottom.m_comStar.m_c2.selectedIndex = cardStarCfgs.Count;
-            if (CardDataManager.isFullStar(_viewData.id, _viewData.star, false))
+            if (CardDataManager.isFullStar(_cardData.id, _cardData.star, false))
             {
             {
                 _comFosterBottom.m_ctrlFullStar.selectedIndex = 1;
                 _comFosterBottom.m_ctrlFullStar.selectedIndex = 1;
                 //List<string> resse = CardCfgManager.GetCardShowResByIdAndTypeAndRarity(_viewData.id, _viewData.itemCfg.type, _viewData.itemCfg.rarity);
                 //List<string> resse = CardCfgManager.GetCardShowResByIdAndTypeAndRarity(_viewData.id, _viewData.itemCfg.type, _viewData.itemCfg.rarity);
-                _comFosterBottom.m_listShowCard.data = _viewData.resources;
-                _comFosterBottom.m_listShowCard.numItems = CardCfgManager.GetCardShowCountByIdAndTypeAndRarity(_viewData.id, _viewData.itemCfg.subType, _viewData.itemCfg.rarity);
+                _comFosterBottom.m_listShowCard.data = _cardData.resources;
+                _comFosterBottom.m_listShowCard.numItems = CardCfgManager.GetCardShowCountByIdAndTypeAndRarity(_cardData.id, _cardData.itemCfg.subType, _cardData.itemCfg.rarity);
                 return;
                 return;
             }
             }
             else
             else
@@ -455,7 +453,7 @@ namespace GFGGame
                 _comFosterBottom.m_listStarConsume.data = cardStarCfg;
                 _comFosterBottom.m_listStarConsume.data = cardStarCfg;
                 _comFosterBottom.m_listStarConsume.numItems = cardStarCfg.materiarsArr.Length;
                 _comFosterBottom.m_listStarConsume.numItems = cardStarCfg.materiarsArr.Length;
 
 
-                _comFosterBottom.m_comTips.visible = _viewData.lv < cardStarCfg.needLv ? true : false;
+                _comFosterBottom.m_comTips.visible = _cardData.lv < cardStarCfg.needLv ? true : false;
                 UI_ComTips comTips = UI_ComTips.Proxy(_comFosterBottom.m_comTips);
                 UI_ComTips comTips = UI_ComTips.Proxy(_comFosterBottom.m_comTips);
                 comTips.m_txtTips.text = _comFosterBottom.m_comTips.visible == true ? string.Format("需等级达到{0}级", cardStarCfg.needLv) : "";
                 comTips.m_txtTips.text = _comFosterBottom.m_comTips.visible == true ? string.Format("需等级达到{0}级", cardStarCfg.needLv) : "";
 
 
@@ -499,14 +497,14 @@ namespace GFGGame
             GButton listItem = obj as GButton;
             GButton listItem = obj as GButton;
             GLoader loaStarCard = UI_ComStarCard.Proxy(listItem.GetChild("ComStarCard")).m_loaStarCard;
             GLoader loaStarCard = UI_ComStarCard.Proxy(listItem.GetChild("ComStarCard")).m_loaStarCard;
             string res = (listItem.parent.data as List<string>)[index];
             string res = (listItem.parent.data as List<string>)[index];
-            if (res == _viewData.res) { _comFosterBottom.m_listShowCard.selectedIndex = index; }
+            if (res == _cardData.res) { _comFosterBottom.m_listShowCard.selectedIndex = index; }
             loaStarCard.url = ResPathUtil.GetCardSmallPath(res);
             loaStarCard.url = ResPathUtil.GetCardSmallPath(res);
             listItem.data = res;
             listItem.data = res;
         }
         }
 
 
         private void OnClickShowCardListItem(EventContext context)
         private void OnClickShowCardListItem(EventContext context)
         {
         {
-            CardDataManager.SetShowCard(_viewData.id, (string)((context.data as GButton).data));
+            CardDataManager.SetShowCard(_cardData.id, (string)((context.data as GButton).data));
             this.UpdateCommon();
             this.UpdateCommon();
             this.UpdateCardRes();
             this.UpdateCardRes();
         }
         }
@@ -514,20 +512,20 @@ namespace GFGGame
         {
         {
             int itemId = int.Parse(UI_ComStarConsume.Proxy(_comFosterBottom.m_listStarConsume.GetChildAt(index)).target.data.ToString());
             int itemId = int.Parse(UI_ComStarConsume.Proxy(_comFosterBottom.m_listStarConsume.GetChildAt(index)).target.data.ToString());
 
 
-            ViewManager.Show(ViewName.APPROACH_OF_ITEM_VIEW, new object[] { itemId, new object[] { ViewName.CARD_FOSTER_VIEW, this.viewData } });
+            ViewManager.Show(ViewName.APPROACH_OF_ITEM_VIEW, new object[] { itemId, new object[] { ViewName.CARD_FOSTER_VIEW, _cardData } });
 
 
         }
         }
         private void OnClickBtnUpStar()
         private void OnClickBtnUpStar()
         {
         {
 
 
-            CardStarCfg cardStarCfg = CardCfgManager.GetCardStarCfgByTypeAndRarityAndStar(_viewData.itemCfg.subType, _viewData.itemCfg.rarity, _viewData.star);
+            CardStarCfg cardStarCfg = CardCfgManager.GetCardStarCfgByTypeAndRarityAndStar(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star);
 
 
-            if (_viewData.lv < cardStarCfg.needLv)
+            if (_cardData.lv < cardStarCfg.needLv)
             {
             {
                 PromptController.Instance.ShowFloatTextPrompt("等级不足");
                 PromptController.Instance.ShowFloatTextPrompt("等级不足");
                 return;
                 return;
             }
             }
-            if (CardDataManager.isFullStar(_viewData.id, _viewData.star) == true)
+            if (CardDataManager.isFullStar(_cardData.id, _cardData.star) == true)
             {
             {
                 return;
                 return;
             }
             }
@@ -553,7 +551,7 @@ namespace GFGGame
         }
         }
         private void UpStar()
         private void UpStar()
         {
         {
-            CardStarCfg cardStarCfg = CardCfgManager.GetCardStarCfgByTypeAndRarityAndStar(_viewData.itemCfg.subType, _viewData.itemCfg.rarity, _viewData.star);
+            CardStarCfg cardStarCfg = CardCfgManager.GetCardStarCfgByTypeAndRarityAndStar(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star);
 
 
             int costNeed = cardStarCfg.costNum;
             int costNeed = cardStarCfg.costNum;
             ItemDataManager.Remove(cardStarCfg.costID, costNeed);
             ItemDataManager.Remove(cardStarCfg.costID, costNeed);
@@ -565,41 +563,39 @@ namespace GFGGame
                 int itemNum = cardStarCfg.materiarsArr[i][1];// int.Parse(listItem.m_txtNeedCount.text);
                 int itemNum = cardStarCfg.materiarsArr[i][1];// int.Parse(listItem.m_txtNeedCount.text);
                 ItemDataManager.Remove(itemId, itemNum);
                 ItemDataManager.Remove(itemId, itemNum);
             }
             }
-            CardDataManager.UpCardStar(_viewData.id);
+            CardDataManager.UpCardStar(_cardData.id);
             this.UpdateCommon();
             this.UpdateCommon();
             this.UpdateUpStarView();
             this.UpdateUpStarView();
 
 
             this._selectTab = _comFosterBottom.m_ctrlTab.selectedIndex;
             this._selectTab = _comFosterBottom.m_ctrlTab.selectedIndex;
-            ViewManager.Show(ViewName.CARD_UP_VIEW, new object[] { _viewData.scores, "star", _viewData.star - 1, _viewData.star }, new object[] { ViewName.CARD_FOSTER_VIEW, this.viewData });
+            ViewManager.Show(ViewName.CARD_UP_VIEW, new object[] { _cardData.scores, "star", _cardData.star - 1, _cardData.star }, new object[] { ViewName.CARD_FOSTER_VIEW, _cardData });
 
 
         }
         }
         /***********************************************************升技能***************************************************/
         /***********************************************************升技能***************************************************/
 
 
         private void UpdateUpSkillView()
         private void UpdateUpSkillView()
         {
         {
-            if (_comFosterBottom.m_listSkill.data == null)
-            {
-                _comFosterBottom.m_listSkill.data = new List<int>(SkillDataManager.Instance.dicPassivitySkill[_viewData.id].Keys);
-            }
-            _comFosterBottom.m_listSkill.numItems = SkillDataManager.Instance.dicPassivitySkill[_viewData.id].Keys.Count;
+            _comFosterBottom.m_listSkill.numItems = PassivitySkillCfgArray.Instance.GetCfgs(_cardData.id).Length;
         }
         }
 
 
         private void RenderListSkilItem(int index, GObject obj)
         private void RenderListSkilItem(int index, GObject obj)
         {
         {
             UI_ListSkillItem item = UI_ListSkillItem.Proxy(obj);
             UI_ListSkillItem item = UI_ListSkillItem.Proxy(obj);
 
 
-            int skillId = (_comFosterBottom.m_listSkill.data as List<int>)[index];
-            SkillData skillData = SkillDataManager.Instance.GetSkillData(_viewData.id, skillId);
-            List<PassivitySkillCfg> skillScoreCfgs = SkillDataManager.Instance.dicPassivitySkill[_viewData.id][skillId];
-            item.m_comSkill.m_loaSkill.url = ResPathUtil.GetCardSmallPath(skillScoreCfgs[0].res);
-            item.m_txtName.text = skillScoreCfgs[0].name;
-            item.m_txtLv.text = string.Format("{0}级", skillData.lv);
-            item.m_btnUp.visible = skillData.lv == skillScoreCfgs.Count ? false : true;
+            PassivitySkillCfg skillCfg = PassivitySkillCfgArray.Instance.GetCfgs(_cardData.id)[index];
+
+            int skillLv = SkillDataManager.Instance.GetSkillLv(_cardData.id, skillCfg.skillId);
+            item.m_comSkill.m_loaSkill.url = ResPathUtil.GetCardSmallPath(skillCfg.res);
+            item.m_txtName.text = skillCfg.name;
+            item.m_txtLv.text = string.Format("{0}级", skillLv);
+
+            item.m_btnUp.visible = PassivitySkillLvlCfgArray.Instance.GetCfg(skillLv + 1, skillCfg.skillId) != null;//?  skillLv == skillScoreCfgs.Count ? false : true;
+
             if (item.m_btnUp.data == null)
             if (item.m_btnUp.data == null)
             {
             {
                 item.m_btnUp.onClick.Add(() =>
                 item.m_btnUp.onClick.Add(() =>
                 {
                 {
-                    ViewManager.Show<CardSkillView>(new object[] { _viewData.id, skillId });
+                    ViewManager.Show<CardSkillView>(new object[] { _cardData.id, skillCfg.skillId });
                 });
                 });
             }
             }
         }
         }
@@ -613,7 +609,7 @@ namespace GFGGame
 
 
             _ui.m_t0.Play(() =>
             _ui.m_t0.Play(() =>
             {
             {
-                ViewManager.Show(ViewName.CARD_SHOW_VIEW, _viewData, new object[] { ViewName.CARD_FOSTER_VIEW, this.viewData });
+                ViewManager.Show(ViewName.CARD_SHOW_VIEW, _cardData, new object[] { ViewName.CARD_FOSTER_VIEW, _cardData });
 
 
             });
             });
         }
         }
@@ -646,7 +642,7 @@ namespace GFGGame
         }
         }
         private void OnClickBtnStroy()
         private void OnClickBtnStroy()
         {
         {
-            ViewManager.Show(ViewName.CARD_STORY_VIEW, _viewData);
+            ViewManager.Show(ViewName.CARD_STORY_VIEW, _cardData);
         }
         }
 
 
         private void OnChangeCtrlTab()
         private void OnChangeCtrlTab()
@@ -667,14 +663,14 @@ namespace GFGGame
         }
         }
         private void OnItemChangeListener()
         private void OnItemChangeListener()
         {
         {
-            if (!CardDataManager.isFullLv(_viewData.id, _viewData.lv, false))
+            if (!CardDataManager.isFullLv(_cardData.id, _cardData.lv, false))
             {
             {
-                CardLvlCfg cardLvCfg = CardCfgManager.GetCardLvCfgByRarityAndLv(_viewData.itemCfg.rarity, _showLv);
-                _comFosterBottom.m_listLvConsume.numItems = GlobalCfgArray.globalCfg.materiarsArr.Length;
+                CardLvlCfg cardLvCfg = CardCfgManager.GetCardLvCfgByRarityAndLv(_cardData.itemCfg.rarity, _showLv);
+                _comFosterBottom.m_listLvConsume.numItems = GlobalCfgArray.globalCfg.upgradeCardItemsArr.Length;
             }
             }
-            if (!CardDataManager.isFullStar(_viewData.id, _viewData.star, false))
+            if (!CardDataManager.isFullStar(_cardData.id, _cardData.star, false))
             {
             {
-                CardStarCfg cardStarCfg = CardCfgManager.GetCardStarCfgByTypeAndRarityAndStar(_viewData.itemCfg.subType, _viewData.itemCfg.rarity, _viewData.star);
+                CardStarCfg cardStarCfg = CardCfgManager.GetCardStarCfgByTypeAndRarityAndStar(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star);
                 _comFosterBottom.m_listStarConsume.numItems = cardStarCfg.materiarsArr.Length;
                 _comFosterBottom.m_listStarConsume.numItems = cardStarCfg.materiarsArr.Length;
 
 
             }
             }

+ 37 - 33
GameClient/Assets/Game/HotUpdate/Views/Card/CardSkillView.cs

@@ -8,8 +8,10 @@ namespace GFGGame
         // private PassivitySkillCfg _viewData;
         // private PassivitySkillCfg _viewData;
         private int _cardId;
         private int _cardId;
         private int _skillId;
         private int _skillId;
+        private int _skillLv;
 
 
-        private PassivitySkillCfg passivitySkillCfg;
+        private PassivitySkillCfg skillCfg;
+        private PassivitySkillLvlCfg skillLvCfg;
         public override void Dispose()
         public override void Dispose()
         {
         {
             base.Dispose();
             base.Dispose();
@@ -36,12 +38,14 @@ namespace GFGGame
 
 
             _cardId = (int)(viewData as object[])[0];
             _cardId = (int)(viewData as object[])[0];
             _skillId = (int)(viewData as object[])[1];
             _skillId = (int)(viewData as object[])[1];
+            _skillLv = SkillDataManager.Instance.GetSkillLv(_cardId, _skillId);
 
 
-            SkillData skillData = SkillDataManager.Instance.GetSkillData(_cardId, _skillId);
-            passivitySkillCfg = SkillDataManager.Instance.GetPassivitySkillCfg(_cardId, _skillId, skillData.lv);
+            // SkillData skillData = SkillDataManager.Instance.GetSkillLv(_cardId, _skillId);
+            skillCfg = PassivitySkillCfgArray.Instance.GetCfg(_skillId);// SkillDataManager.Instance.GetPassivitySkillCfg(_cardId, _skillId);
+            skillLvCfg = PassivitySkillLvlCfgArray.Instance.GetCfg(_skillLv, _skillId);
 
 
-            _ui.m_txtName.text = passivitySkillCfg.name;
-            _ui.m_comSkill.m_loaSkill.url = ResPathUtil.GetCardSmallPath(passivitySkillCfg.res);
+            _ui.m_txtName.text = skillCfg.name;
+            _ui.m_comSkill.m_loaSkill.url = ResPathUtil.GetCardSmallPath(skillCfg.res);
 
 
             UpdateView();
             UpdateView();
         }
         }
@@ -49,39 +53,38 @@ namespace GFGGame
         {
         {
             _ui.m_c1.selectedIndex = 0;
             _ui.m_c1.selectedIndex = 0;
 
 
-            SkillData skillData = SkillDataManager.Instance.GetSkillData(_cardId, _skillId);
-            int lv = skillData == null ? 1 : skillData.lv;
-            UpdateComLv(_ui.m_comCurLV, lv, lv + "级");
-            if (skillData != null && skillData.lv == SkillDataManager.Instance.dicPassivitySkill[_cardId][_skillId].Count) //已满级
+            int skillLv = SkillDataManager.Instance.GetSkillLv(_cardId, _skillId);
+            UpdateComLv(_ui.m_comCurLV, skillLv, skillLv + "级");
+
+            if (PassivitySkillLvlCfgArray.Instance.GetCfg(skillLv, _skillId) == null) //已满级
             {
             {
                 _ui.m_c1.selectedIndex = 1;
                 _ui.m_c1.selectedIndex = 1;
                 return;
                 return;
             }
             }
-            _ui.m_comConsume.m_txtCount.text = passivitySkillCfg.costNum.ToString();
-            UpdateComLv(_ui.m_comNextLv, lv + 1, "下一级");
-            _ui.m_listConsume.numItems = passivitySkillCfg.materiarsArr.Length;
+
+            _ui.m_comConsume.m_txtCount.text = skillLvCfg.costNum.ToString();
+            UpdateComLv(_ui.m_comNextLv, skillLv + 1, "下一级");
+            _ui.m_listConsume.numItems = skillLvCfg.materiarsArr.Length;
 
 
         }
         }
         private void UpdateComLv(UI_ComSkillDiscribe com, int lv, string title)
         private void UpdateComLv(UI_ComSkillDiscribe com, int lv, string title)
         {
         {
             com.m_txtLv.text = title;
             com.m_txtLv.text = title;
-            com.m_txtDiscribe.text = SkillDataManager.Instance.GetPassivitySkillCfg(_cardId, _skillId, lv).describe;
-
-
+            com.m_txtDiscribe.text = string.Format(skillCfg.describe, skillLvCfg.probability, skillLvCfg.count);
         }
         }
         private void RenderListStarConsumeItem(int index, GObject obj)
         private void RenderListStarConsumeItem(int index, GObject obj)
         {
         {
 
 
             UI_ComStarConsume listItem = UI_ComStarConsume.Proxy(obj);
             UI_ComStarConsume listItem = UI_ComStarConsume.Proxy(obj);
-            SkillData skillData = SkillDataManager.Instance.GetSkillData(_cardId, _skillId);
-            passivitySkillCfg = SkillDataManager.Instance.GetPassivitySkillCfg(_cardId, _skillId, skillData.lv);
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(passivitySkillCfg.materiarsArr[index][0]);
+            // int skillLv = SkillDataManager.Instance.GetSkillLv(_cardId, _skillId);
+            // skillCfg = SkillDataManager.Instance.GetPassivitySkillCfg(_cardId, _skillId, skillLv);
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(skillLvCfg.materiarsArr[index][0]);
 
 
-            listItem.target.data = passivitySkillCfg.materiarsArr[index][0];
+            listItem.target.data = skillLvCfg.materiarsArr[index][0];
             listItem.m_loaItem.url = ResPathUtil.GetIconPath(itemCfg);
             listItem.m_loaItem.url = ResPathUtil.GetIconPath(itemCfg);
 
 
-            int needCount = passivitySkillCfg.materiarsArr[index][1];
-            int hasCount = ItemDataManager.GetItemNum(passivitySkillCfg.materiarsArr[index][0]);
+            int needCount = skillLvCfg.materiarsArr[index][1];
+            int hasCount = ItemDataManager.GetItemNum(skillLvCfg.materiarsArr[index][0]);
             listItem.m_txtNeedCount.text = StringUtil.GetColorText(needCount.ToString(), hasCount < needCount ? "#FCBCBA" : "#FFF8EA"); ;
             listItem.m_txtNeedCount.text = StringUtil.GetColorText(needCount.ToString(), hasCount < needCount ? "#FCBCBA" : "#FFF8EA"); ;
             listItem.m_txtHasCount.text = hasCount.ToString();
             listItem.m_txtHasCount.text = hasCount.ToString();
             listItem.m_btnPlus.visible = false;
             listItem.m_btnPlus.visible = false;
@@ -89,7 +92,7 @@ namespace GFGGame
             {
             {
                 listItem.m_btnPlus.onClick.Add(() => OnClickBtnPlusStarConsum(index));
                 listItem.m_btnPlus.onClick.Add(() => OnClickBtnPlusStarConsum(index));
             }
             }
-            listItem.m_btnPlus.data = passivitySkillCfg.materiarsArr[index][0];
+            listItem.m_btnPlus.data = skillLvCfg.materiarsArr[index][0];
 
 
             if (hasCount < needCount)
             if (hasCount < needCount)
             {
             {
@@ -104,17 +107,17 @@ namespace GFGGame
         }
         }
         private void OnClickBtnUp()
         private void OnClickBtnUp()
         {
         {
-            if (ItemDataManager.GetItemNum(passivitySkillCfg.costID) < passivitySkillCfg.costNum)
+            if (ItemDataManager.GetItemNum(skillLvCfg.costID) < skillLvCfg.costNum)
             {
             {
-                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(passivitySkillCfg.costID);
+                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(skillLvCfg.costID);
                 PromptController.Instance.ShowFloatTextPrompt(itemCfg.name + "不足");
                 PromptController.Instance.ShowFloatTextPrompt(itemCfg.name + "不足");
                 return;
                 return;
             }
             }
             bool isEnough = true;
             bool isEnough = true;
-            for (int i = 0; i < passivitySkillCfg.materiarsArr.Length; i++)
+            for (int i = 0; i < skillLvCfg.materiarsArr.Length; i++)
             {
             {
-                int needCount = passivitySkillCfg.materiarsArr[i][1];
-                int hasCount = ItemDataManager.GetItemNum(passivitySkillCfg.materiarsArr[i][0]);
+                int needCount = skillLvCfg.materiarsArr[i][1];
+                int hasCount = ItemDataManager.GetItemNum(skillLvCfg.materiarsArr[i][0]);
                 if (hasCount < needCount)
                 if (hasCount < needCount)
                 {
                 {
                     isEnough = false;
                     isEnough = false;
@@ -123,12 +126,13 @@ namespace GFGGame
                 }
                 }
             }
             }
             if (!isEnough) return;
             if (!isEnough) return;
-            ItemDataManager.Remove(passivitySkillCfg.costID, passivitySkillCfg.costNum);
-            for (int i = 0; i < passivitySkillCfg.materiarsArr.Length; i++)
-            {
-                ItemDataManager.Remove(passivitySkillCfg.materiarsArr[i][0], passivitySkillCfg.materiarsArr[i][1]);
-            }
-            SkillDataManager.Instance.UpSkill(_cardId, _skillId);
+            // ItemDataManager.Remove(skillCfg.costID, skillCfg.costNum);
+            // for (int i = 0; i < skillCfg.materiarsArr.Length; i++)
+            // {
+            //     ItemDataManager.Remove(skillCfg.materiarsArr[i][0], skillCfg.materiarsArr[i][1]);
+            // }
+            // SkillDataManager.Instance.UpSkill(_cardId, _skillId);
+            CardSProxy.UpgradeCardSkill(_cardId, _skillId).Coroutine();
 
 
         }
         }
         protected override void OnHide()
         protected override void OnHide()

+ 13 - 4
GameClient/Assets/Game/HotUpdate/Views/ClothingShop/ClothingShopView.cs

@@ -106,7 +106,7 @@ namespace GFGGame
                 //this.viewData[0]=storeId(商店Id)
                 //this.viewData[0]=storeId(商店Id)
                 //this.viewData[1]=_scoreType(服装属性:风花雪月)
                 //this.viewData[1]=_scoreType(服装属性:风花雪月)
                 //this.viewData[2]=_selectedItemId
                 //this.viewData[2]=_selectedItemId
-                //this.viewData[2]=_selectedItemCount
+                //this.viewData[3]=_selectedItemCount
                 object[] objs = this.viewData as object[];
                 object[] objs = this.viewData as object[];
                 if (objs.Length > 0 && objs[0] != null)
                 if (objs.Length > 0 && objs[0] != null)
                 {
                 {
@@ -127,6 +127,8 @@ namespace GFGGame
                         {
                         {
                             _selectedType = dataArray[i].typeIndex;
                             _selectedType = dataArray[i].typeIndex;
                             _selectedItemClothingId = dataArray[i].id;
                             _selectedItemClothingId = dataArray[i].id;
+                            ShopCfg clothingShopCfg = ShopCfgClothingArray.Instance.GetCfg(_selectedItemClothingId);
+                            _ui.m_listType.selectedIndex = clothingShopCfg.typeIndex;
                             break;
                             break;
                         }
                         }
                     }
                     }
@@ -161,7 +163,6 @@ namespace GFGGame
             }
             }
             if (_selectedItemId > 0)
             if (_selectedItemId > 0)
             {
             {
-
                 ShopDataManager.Instance.BuyItem(_cfgSelected.id, _selectedItemCount, _storeId, _cfgSelected);
                 ShopDataManager.Instance.BuyItem(_cfgSelected.id, _selectedItemCount, _storeId, _cfgSelected);
             }
             }
 
 
@@ -274,7 +275,15 @@ namespace GFGGame
                 int itemIndex = 0;
                 int itemIndex = 0;
                 if (_selectedItemId > 0 && clothingShopCfg != null)
                 if (_selectedItemId > 0 && clothingShopCfg != null)
                 {
                 {
-                    itemIndex = _dataList.IndexOf(clothingShopCfg);
+                    // itemIndex = _dataList.IndexOf(clothingShopCfg);
+                    for (int i = 0; i < _dataList.Count; i++)
+                    {
+                        if (_dataList[i].id == _selectedItemClothingId)
+                        {
+                            itemIndex = i;
+                            break;
+                        }
+                    }
                     _ui.m_listShop.ScrollToView(itemIndex < 0 ? 0 : itemIndex);
                     _ui.m_listShop.ScrollToView(itemIndex < 0 ? 0 : itemIndex);
                     // _selectedItemId = 0;
                     // _selectedItemId = 0;
                 }
                 }
@@ -354,7 +363,7 @@ namespace GFGGame
         {
         {
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
 
 
-            GuideController.TryGuide(_ui.m_btnBack, ConstGuideId.BUY_CLOTHING, 4, "点击返回,回到换装");
+            GuideController.TryGuide(_ui.m_btnBack, ConstGuideId.BUY_CLOTHING, 4, "点击返回,回到换装", -1, true, 140);
         }
         }
     }
     }
 }
 }

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/ClothingSynthetic/ClothingSyntheticView.cs

@@ -374,7 +374,7 @@ namespace GFGGame
         {
         {
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
 
 
-            GuideController.TryGuide(_ui.m_listClothing, ConstGuideId.CLOTHING_SYNTHETIC, 8, "找到需要合成的物品", true, 0);
+            GuideController.TryGuide(_ui.m_listClothing, ConstGuideId.CLOTHING_SYNTHETIC, 8, "找到需要合成的物品", 0);
             if (_ui.m_listMaterias.numChildren > 0)
             if (_ui.m_listMaterias.numChildren > 0)
             {
             {
                 listTypeItem_CloSynthetic = UI_MateriasListItem.Proxy(_ui.m_listMaterias.GetChildAt(0));
                 listTypeItem_CloSynthetic = UI_MateriasListItem.Proxy(_ui.m_listMaterias.GetChildAt(0));

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/ClothingSynthetic/SuitSyntheticView.cs

@@ -183,7 +183,7 @@ namespace GFGGame
         {
         {
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
 
 
-            GuideController.TryGuide(_ui.m_listSuit, ConstGuideId.CLOTHING_SYNTHETIC, 7, "查看已解锁的图谱", true, 0);
+            GuideController.TryGuide(_ui.m_listSuit, ConstGuideId.CLOTHING_SYNTHETIC, 7, "查看已解锁的图谱", 0);
         }
         }
     }
     }
 }
 }

+ 5 - 0
GameClient/Assets/Game/HotUpdate/Views/Common/Alert/AlertWindow.cs

@@ -191,6 +191,11 @@ namespace GFGGame
             this.clickBlankToClose = value;
             this.clickBlankToClose = value;
             return this;
             return this;
         }
         }
+        protected override void UpdateToCheckGuide(object param)
+        {
+            if (!ViewManager.CheckIsTopView(this.viewCom)) return;
+            GuideController.TryGuide(_ui.m_btnRight, ConstGuideId.LUCKY_BOX, 4, "点击确定");
+        }
 
 
     }
     }
 }
 }

+ 3 - 3
GameClient/Assets/Game/HotUpdate/Views/CommonGame/ApproachOfItemView.cs

@@ -79,14 +79,14 @@ namespace GFGGame
                 string value = infos[1];
                 string value = infos[1];
                 var levelCfgId = int.Parse(value);
                 var levelCfgId = int.Parse(value);
                 var levelCfg = StoryLevelCfgArray.Instance.GetCfg(levelCfgId);
                 var levelCfg = StoryLevelCfgArray.Instance.GetCfg(levelCfgId);
-                if(levelCfg.type == ConstInstanceZonesType.Story)
+                if (levelCfg.type == ConstInstanceZonesType.Story)
                 {
                 {
                     var chapterCfg = StoryChapterCfgArray.Instance.GetCfg(levelCfg.chapterId);
                     var chapterCfg = StoryChapterCfgArray.Instance.GetCfg(levelCfg.chapterId);
                     string chapter = NumberUtil.GetChiniseNumberText(chapterCfg.order);
                     string chapter = NumberUtil.GetChiniseNumberText(chapterCfg.order);
                     string level = NumberUtil.GetChiniseNumberText(levelCfg.order);
                     string level = NumberUtil.GetChiniseNumberText(levelCfg.order);
                     listItem.target.text = string.Format(gameFunctionCfg.name, chapter, level);
                     listItem.target.text = string.Format(gameFunctionCfg.name, chapter, level);
                 }
                 }
-                else if(levelCfg.type == ConstInstanceZonesType.Studio)
+                else if (levelCfg.type == ConstInstanceZonesType.Studio)
                 {
                 {
                     var studioCfg = StudioCfgArray.Instance.GetCfg(levelCfg.chapterId);
                     var studioCfg = StudioCfgArray.Instance.GetCfg(levelCfg.chapterId);
                     listItem.target.text = studioCfg.name;
                     listItem.target.text = studioCfg.name;
@@ -165,7 +165,7 @@ namespace GFGGame
         {
         {
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
 
 
-            GuideController.TryGuide(_ui.m_listApproach, ConstGuideId.BUY_CLOTHING, 2, "该物品可以在服装店购买,点开服装店看看", true, 0);
+            GuideController.TryGuide(_ui.m_listApproach, ConstGuideId.BUY_CLOTHING, 2, "该物品可以在服装店购买,点开服装店看看");
         }
         }
     }
     }
 }
 }

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/CommonGame/GetBonusView.cs

@@ -74,7 +74,7 @@ namespace GFGGame
         protected override void UpdateToCheckGuide(object param)
         protected override void UpdateToCheckGuide(object param)
         {
         {
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
-            GuideController.TryGuide(null, ConstGuideId.GET_BONUS_FIRST, 1, "恭喜你,获得了第一份奖励,点击图标可以查看物品信息,点击半透明区域继续", false, 0, true, false, (int)(this.viewCom.y + _ui.target.y + _ui.target.height));
+            GuideController.TryGuide(null, ConstGuideId.GET_BONUS_FIRST, 1, "恭喜你,获得了第一份奖励,点击图标可以查看物品信息,点击半透明区域继续", -1, true, (int)(this.viewCom.y + _ui.target.y + _ui.target.height));
         }
         }
         protected override void TryCompleteGuide()
         protected override void TryCompleteGuide()
         {
         {

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Views/CommonGame/GetSuitItemVIew.cs

@@ -150,8 +150,8 @@ namespace GFGGame
         protected override void UpdateToCheckGuide(object param)
         protected override void UpdateToCheckGuide(object param)
         {
         {
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
-            if (guideId == 1) GuideController.TryGuide(null, ConstGuideId.GET_SUIT_ITEM_FULL, 1, "恭喜你,集齐了第一套套装,快去换装界面穿上试试吧!点击空白区域继续", false, 0, true, false, (int)(this.viewCom.height - 150));
-            if (guideId == 2) GuideController.TryGuide(null, ConstGuideId.GET_SUIT_ITEM_FIRST, 1, "恭喜你,获得了一件套装配件,集齐套装有惊喜哦!点击空白区域继续", false, 0, true, false, (int)(this.viewCom.height - 150));
+            if (guideId == 1) GuideController.TryGuide(null, ConstGuideId.GET_SUIT_ITEM_FULL, 1, "恭喜你,集齐了第一套套装,快去换装界面穿上试试吧!点击空白区域继续", -1, true, (int)(this.viewCom.height - 150));
+            if (guideId == 2) GuideController.TryGuide(null, ConstGuideId.GET_SUIT_ITEM_FIRST, 1, "恭喜你,获得了一件套装配件,集齐套装有惊喜哦!点击空白区域继续", -1, true, (int)(this.viewCom.height - 150));
         }
         }
         protected override void TryCompleteGuide()
         protected override void TryCompleteGuide()
         {
         {

+ 128 - 9
GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpFightView.cs

@@ -17,7 +17,9 @@ namespace GFGGame
         private GameObject _scenePrefab;
         private GameObject _scenePrefab;
         private GameObject _sceneObject;
         private GameObject _sceneObject;
         private List<int> _currentList3;
         private List<int> _currentList3;
+        private List<int> _currentList4;
         private int _currentMenuType;
         private int _currentMenuType;
+        private int _currentSuitId;
         private StoryLevelCfg _levelCfg;
         private StoryLevelCfg _levelCfg;
         private StoryFightCfg _fightCfg;
         private StoryFightCfg _fightCfg;
 
 
@@ -76,6 +78,7 @@ namespace GFGGame
             _ui.m_comListType1.m_listType.onClickItem.Add(OnClickListType1Item);
             _ui.m_comListType1.m_listType.onClickItem.Add(OnClickListType1Item);
             _ui.m_comListType2.m_listType.onClickItem.Add(OnClickListType2Item);
             _ui.m_comListType2.m_listType.onClickItem.Add(OnClickListType2Item);
             _ui.m_partsList.m_list.onClickItem.Add(OnClickPartsListItem);
             _ui.m_partsList.m_list.onClickItem.Add(OnClickPartsListItem);
+            _ui.m_partsList2.m_list.onClickItem.Add(OnClickSuitPartsListItem);
             _ui.m_touchPad.onClick.Add(OnTouchPad);
             _ui.m_touchPad.onClick.Add(OnTouchPad);
             _ui.m_btnHint.onClick.Add(OnClickBtnHint);
             _ui.m_btnHint.onClick.Add(OnClickBtnHint);
             _ui.m_btnClose.onClick.Add(OnClickBtnClose);
             _ui.m_btnClose.onClick.Add(OnClickBtnClose);
@@ -97,6 +100,7 @@ namespace GFGGame
             EventAgent.AddEventListener(ConstMessage.DRESS_SEARCH, UpdatePartsListSort);
             EventAgent.AddEventListener(ConstMessage.DRESS_SEARCH, UpdatePartsListSort);
             // EventAgent.AddEventListener(ConstMessage.ITEM_CHANGED, UpdatePartsListSort);
             // EventAgent.AddEventListener(ConstMessage.ITEM_CHANGED, UpdatePartsListSort);
             EventAgent.AddEventListener(ConstMessage.CARD_CHOOSE, StartCalculateScore);
             EventAgent.AddEventListener(ConstMessage.CARD_CHOOSE, StartCalculateScore);
+            _ui.m_partsList2.m_comboBoxRarity.visible = false;
         }
         }
 
 
         protected override void OnShown()
         protected override void OnShown()
@@ -107,7 +111,9 @@ namespace GFGGame
             _ui.m_txtRecommendCount.SetVar("v1", "" + GameGlobal.myNumericComponent.GetAsInt(ET.NumericType.RecommendCount)).FlushVars();
             _ui.m_txtRecommendCount.SetVar("v1", "" + GameGlobal.myNumericComponent.GetAsInt(ET.NumericType.RecommendCount)).FlushVars();
             _ui.m_btnRecommend.enabled = GameGlobal.myNumericComponent.GetAsInt(ET.NumericType.RecommendCount) > 0;
             _ui.m_btnRecommend.enabled = GameGlobal.myNumericComponent.GetAsInt(ET.NumericType.RecommendCount) > 0;
             _scoreIndex = _ui.m_partsList.m_comboBoxRarity.selectedIndex;
             _scoreIndex = _ui.m_partsList.m_comboBoxRarity.selectedIndex;
+            _ui.m_btnAutoPlay.selected = EquipDataCache.cacher.autoPlay;
             // _ui.m_btnAutoPlay.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(ConstFunctionId.FUNCTION_AUTOPLAY_FIGHT, false);
             // _ui.m_btnAutoPlay.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(ConstFunctionId.FUNCTION_AUTOPLAY_FIGHT, false);
+
             _levelID = (int)viewData;
             _levelID = (int)viewData;
             _levelCfg = StoryLevelCfgArray.Instance.GetCfg(_levelID);
             _levelCfg = StoryLevelCfgArray.Instance.GetCfg(_levelID);
             _fightCfg = StoryFightCfgArray.Instance.GetCfg(_levelCfg.fightID);
             _fightCfg = StoryFightCfgArray.Instance.GetCfg(_levelCfg.fightID);
@@ -240,6 +246,8 @@ namespace GFGGame
             int id = (int)listItem.data;
             int id = (int)listItem.data;
             if (_currentMenuType == (int)ConstDressUpItemType.TAO_ZHUANG)
             if (_currentMenuType == (int)ConstDressUpItemType.TAO_ZHUANG)
             {
             {
+                this.showListParts2(id);
+                this.hideListParts();
                 EquipDataCache.cacher.PutOnSuitCfg(id, false, true);
                 EquipDataCache.cacher.PutOnSuitCfg(id, false, true);
             }
             }
             else
             else
@@ -249,12 +257,26 @@ namespace GFGGame
 
 
             }
             }
             UpdateListPartsSelected();
             UpdateListPartsSelected();
-
+            UpdateListSuitPartsSelected();
         }
         }
+        private void OnClickSuitPartsListItem(EventContext context)
+        {
+            GObject listItem = (GObject)context.data as GObject;
+            int id = (int)listItem.data;
+
+            EquipDataCache.cacher.TryCancelSuit(id);
+            EquipDataCache.cacher.AddOrRemove(id, true);
 
 
+            UpdateListSuitPartsSelected();
+        }
         private void OnTouchPad()
         private void OnTouchPad()
         {
         {
-            if (this.currentListType == DressUpListType.List3)
+            if (this.currentListType == DressUpListType.List4)
+            {
+                this.hideListParts2();
+                this.showListParts(ConstDressUpItemType.TAO_ZHUANG);
+            }
+            else if (this.currentListType == DressUpListType.List3)
             {
             {
                 if (_currentList2 != null)
                 if (_currentList2 != null)
                 {
                 {
@@ -299,7 +321,7 @@ namespace GFGGame
                     .SetRightButton(true, "好的");
                     .SetRightButton(true, "好的");
                 return;
                 return;
             }
             }
-            if (CardDataManager.GetCardDicByRarity(0) != null)
+            if (CardDataManager.GetCardListByRarity(0).Count > 0)
             {
             {
 
 
                 ViewManager.Show<StoryCardChoose>(_fightCfg.scoreType);
                 ViewManager.Show<StoryCardChoose>(_fightCfg.scoreType);
@@ -334,6 +356,7 @@ namespace GFGGame
         {
         {
             _ui.m_comListType2.m_listType.itemRenderer = ListType2Item;
             _ui.m_comListType2.m_listType.itemRenderer = ListType2Item;
             _ui.m_partsList.m_list.itemRenderer = ListPartsItem;
             _ui.m_partsList.m_list.itemRenderer = ListPartsItem;
+            _ui.m_partsList2.m_list.itemRenderer = ListParts2Item;
             listType1X = _ui.m_comListType1.target.x;
             listType1X = _ui.m_comListType1.target.x;
             partsListX = _ui.m_partsList.target.x - _ui.m_partsList.target.width;
             partsListX = _ui.m_partsList.target.x - _ui.m_partsList.target.width;
             //一级菜单
             //一级菜单
@@ -414,6 +437,7 @@ namespace GFGGame
                 {
                 {
                     _ui.m_partsList.target.x = t.value.x;
                     _ui.m_partsList.target.x = t.value.x;
                 });
                 });
+            UpdateListPartsSelected();
         }
         }
         private void OnComboBoxRarityChanged()
         private void OnComboBoxRarityChanged()
         {
         {
@@ -492,7 +516,25 @@ namespace GFGGame
             _ui.m_partsList.m_list.numItems = _currentList3.Count;
             _ui.m_partsList.m_list.numItems = _currentList3.Count;
 
 
         }
         }
+        private void UpdateSuitPartsListSort()
+        {
+            if (_currentMenuType == 0) return;
 
 
+            _currentList4 = new List<int>(SuitCfgManager.Instance.GetSuitItems(_currentSuitId, true));
+
+            if (DressUpMenuItemDataManager.dressFilterType == DressFilterType.Search)
+            {
+                _currentList4 = DressUpMenuItemDataManager.DressSearch(_currentList4, false);
+            }
+            else if (DressUpMenuItemDataManager.dressFilterType == DressFilterType.Filter)
+            {
+                _currentList4 = DressUpMenuItemDataManager.DressFilter(_currentList4, false);
+            }
+
+            _ui.m_partsList2.m_list.RemoveChildrenToPool();
+            _ui.m_partsList2.m_list.numItems = _currentList4.Count;
+
+        }
 
 
         private void hideListParts()
         private void hideListParts()
         {
         {
@@ -503,7 +545,40 @@ namespace GFGGame
                     _ui.m_partsList.target.x = t.value.x;
                     _ui.m_partsList.target.x = t.value.x;
                 });
                 });
         }
         }
+        private void showListParts2(int suitId)
+        {
+            _currentSuitId = suitId;
+
+            _ui.m_partsList2.m_comboBoxRarity.items = new string[] { "高稀有度", "低稀有度", "最近获得" };
+
+            this.UpdateSuitPartsListSort();
+            _ui.m_partsList2.m_list.ResizeToFit(_ui.m_partsList2.m_list.numItems);
+            float maxHeight = _ui.m_partsList2.target.height - _ui.m_partsList2.m_list.y;// - DressUpView.BOTTOM_BLANK;
+            if (_ui.m_partsList2.m_list.height > maxHeight)
+            {
+                _ui.m_partsList2.m_list.height = maxHeight;
+            }
+            currentListType = DressUpListType.List4;
+            GTween.To(_ui.target.width, partsListX, 0.5f)
+                .SetTarget(_ui.m_partsList2)
+                .OnUpdate((GTweener t) =>
+                {
+                    _ui.m_partsList2.target.x = t.value.x;
+                });
 
 
+        }
+
+        private void hideListParts2()
+        {
+            _currentMenuType = ConstDressUpItemType.TAO_ZHUANG;
+
+            GTween.To(partsListX, _ui.target.width, 0.5f)
+                .SetTarget(_ui.m_partsList2)
+                .OnUpdate((GTweener t) =>
+                {
+                    _ui.m_partsList2.target.x = t.value.x;
+                });
+        }
         private void ListType1Item(int index, GObject item)
         private void ListType1Item(int index, GObject item)
         {
         {
             UI_TypeItem typeItem = UI_TypeItem.Proxy(item);
             UI_TypeItem typeItem = UI_TypeItem.Proxy(item);
@@ -557,7 +632,37 @@ namespace GFGGame
             listItem.target.data = id;
             listItem.target.data = id;
             listItem.m_imgNeed.visible = _fightCfg.needItemId == id || _fightCfg.needSuitId == id;
             listItem.m_imgNeed.visible = _fightCfg.needItemId == id || _fightCfg.needSuitId == id;
         }
         }
+        private void ListParts2Item(int index, GObject item)
+        {
+            UI_PartsListItem listItem = UI_PartsListItem.Proxy(item);
+            int id = (int)_currentList4[index];
+            string iconRes = "";
+            string partName = "";
+            string ext = "png";
+
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(id);
+            iconRes = itemCfg.res;
+            partName = itemCfg.name;
+            listItem.m_iconSelected.visible = EquipDataCache.cacher.CheckDressUpItemIsOn(id);
+            RarityIconController.UpdateRarityIcon(listItem.m_rarity, id, false);
+            ext = ItemUtil.GetItemResExt(itemCfg.itemType, itemCfg.subType);
 
 
+            listItem.m_ScoreType.visible = true;
+            int mainScore;
+            int mainValuel;
+            ItemDataManager.GetMainScore(id, out mainScore, out mainValuel);
+            listItem.m_ScoreType.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + mainScore);
+
+
+            listItem.m_icon.url = ResPathUtil.GetIconPath(iconRes, ext);
+            listItem.m_txtTitle.text = partName;
+            listItem.target.data = id;
+            listItem.m_txtScore.visible = false;
+            //listItem.m_ScoreType.visible = true;
+            listItem.m_imgNeed.visible = false;
+
+
+        }
         private void UpdateListPartsSelected()
         private void UpdateListPartsSelected()
         {
         {
             int count = _ui.m_partsList.m_list.numChildren;
             int count = _ui.m_partsList.m_list.numChildren;
@@ -578,7 +683,21 @@ namespace GFGGame
                 }
                 }
             }
             }
         }
         }
+        private void UpdateListSuitPartsSelected()
+        {
+            int count = _ui.m_partsList2.m_list.numChildren;
+            for (int i = 0; i < count; i++)
+            {
+                UI_PartsListItem listItem = UI_PartsListItem.Proxy(_ui.m_partsList2.m_list.GetChildAt(i));
+                int id = (int)listItem.target.data;
 
 
+                bool isPutOn = EquipDataCache.cacher.CheckDressUpItemIsOn(id);//非套装金判断是否穿戴
+                bool isSuit = !DressUpMenuItemDataManager.CheckIsSceneType(id) && EquipDataCache.cacher.suitId > 0 && SuitCfgManager.Instance.GetItemSuitId(id) == EquipDataCache.cacher.suitId;//非场景类, 若当前穿戴套装要判断item是否属于套装(更换场景类不会改变套装穿戴状态)
+                bool isSceneSuit = DressUpMenuItemDataManager.CheckIsSceneType(id) && EquipDataCache.cacher.suitId > 0 && isPutOn;//场景类, 若当前穿戴套装要判断item是否属已穿戴
+                listItem.m_iconSelected.visible = isPutOn || isSuit || isSceneSuit;
+
+            }
+        }
         private void ShowTaskHint()
         private void ShowTaskHint()
         {
         {
             _ui.m_groupTaskHint.visible = true;
             _ui.m_groupTaskHint.visible = true;
@@ -668,7 +787,7 @@ namespace GFGGame
         {
         {
 
 
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
-            if (listTypeItem_SingleFight == null && GuideDataManager.GetGuideCountCopy(ConstGuideId.SINGLE_FIGHT) <= 0 || listTypeItem_BuyClothing == null && GuideDataManager.GetGuideCountCopy(ConstGuideId.BUY_CLOTHING) <= 0)
+            if (listTypeItem_SingleFight == null && GuideDataManager.IsGuideFinish(ConstGuideId.SINGLE_FIGHT) <= 0 || listTypeItem_BuyClothing == null && GuideDataManager.IsGuideFinish(ConstGuideId.BUY_CLOTHING) <= 0)
             {
             {
                 int len = _ui.m_comListType1.m_listType.numChildren;
                 int len = _ui.m_comListType1.m_listType.numChildren;
                 for (int i = 0; i < len; i++)
                 for (int i = 0; i < len; i++)
@@ -678,7 +797,7 @@ namespace GFGGame
                     {
                     {
                         int menuID = (int)item.target.data;
                         int menuID = (int)item.target.data;
                         DressUpMenuItemCfg1 dressUpMenuItemCfg1 = DressUpMenuItemCfg1Array.Instance.GetCfg(menuID);
                         DressUpMenuItemCfg1 dressUpMenuItemCfg1 = DressUpMenuItemCfg1Array.Instance.GetCfg(menuID);
-                        if (GuideDataManager.GetGuideCountCopy(ConstGuideId.SINGLE_FIGHT) <= 0)
+                        if (GuideDataManager.IsGuideFinish(ConstGuideId.SINGLE_FIGHT) <= 0)
                         {
                         {
 
 
                             if (dressUpMenuItemCfg1.type == ConstDressUpItemType.LIAN_YI_QUN)
                             if (dressUpMenuItemCfg1.type == ConstDressUpItemType.LIAN_YI_QUN)
@@ -688,7 +807,7 @@ namespace GFGGame
                                 break;
                                 break;
                             }
                             }
                         }
                         }
-                        else if (GuideDataManager.GetGuideCountCopy(ConstGuideId.BUY_CLOTHING) <= 0)
+                        else if (GuideDataManager.IsGuideFinish(ConstGuideId.BUY_CLOTHING) <= 0)
                         {
                         {
                             int type = 0;
                             int type = 0;
                             if (_fightCfg.needItemId > 0) type = ItemUtilCS.GetItemSubType(_fightCfg.needItemId);
                             if (_fightCfg.needItemId > 0) type = ItemUtilCS.GetItemSubType(_fightCfg.needItemId);
@@ -711,9 +830,9 @@ namespace GFGGame
             GuideController.TryGuide(_ui.m_partsList.m_list, ConstGuideId.SINGLE_FIGHT, 4, "找到这条裙子了,换上看看吧");
             GuideController.TryGuide(_ui.m_partsList.m_list, ConstGuideId.SINGLE_FIGHT, 4, "找到这条裙子了,换上看看吧");
             GuideController.TryGuide(_ui.m_btnNext, ConstGuideId.SINGLE_FIGHT, 5, "接下来验证一下,换上的服饰是否符合需求");
             GuideController.TryGuide(_ui.m_btnNext, ConstGuideId.SINGLE_FIGHT, 5, "接下来验证一下,换上的服饰是否符合需求");
 
 
-            GuideController.TryGuide(_ui.m_compNeed.target, ConstGuideId.BUY_CLOTHING, 1, "当提示有“必需品”时,需要穿上对应物品才能通关");
-            if (listTypeItem_BuyClothing != null) GuideController.TryGuide(listTypeItem_BuyClothing.target, ConstGuideId.BUY_CLOTHING, 5, "在相应分类里就可以找到必需品啦");
-            GuideController.TryGuide(_ui.m_partsList.m_list, ConstGuideId.BUY_CLOTHING, 6, "点击换上吧", true, 0);
+            GuideController.TryGuide(_ui.m_compNeed.target, ConstGuideId.BUY_CLOTHING, 1, "当提示有“必需品”时,需要穿上对应物品才能通关", -1, true, 170);
+            if (listTypeItem_BuyClothing != null) GuideController.TryGuide(listTypeItem_BuyClothing.target, ConstGuideId.BUY_CLOTHING, 5, "在相应分类里就可以找到必需品啦", -1, true, 170);
+            GuideController.TryGuide(_ui.m_partsList.m_list, ConstGuideId.BUY_CLOTHING, 6, "点击换上吧", 0, true, 170);
             GuideController.TryCompleteGuide(ConstGuideId.BUY_CLOTHING, 6);
             GuideController.TryCompleteGuide(ConstGuideId.BUY_CLOTHING, 6);
 
 
             GuideController.TryGuide(_ui.m_btnHint, ConstGuideId.TARGET_FIGHT, 1, "这次换装需要获得别人的认可呢");
             GuideController.TryGuide(_ui.m_btnHint, ConstGuideId.TARGET_FIGHT, 1, "这次换装需要获得别人的认可呢");

+ 2 - 1
GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpListType.cs

@@ -4,6 +4,7 @@ namespace GFGGame
     {
     {
         List1,
         List1,
         List2,
         List2,
-        List3
+        List3,
+        List4
     }
     }
 }
 }

+ 150 - 5
GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpView.cs

@@ -16,11 +16,16 @@ namespace GFGGame
         private float listType1X = 0;
         private float listType1X = 0;
         private float partsListX = 0;
         private float partsListX = 0;
         private DressUpListType currentListType;
         private DressUpListType currentListType;
+        /// <summary>
+        /// 子菜单列表
+        /// </summary>
         private int[] _currentList2;
         private int[] _currentList2;
         private GameObject _scenePrefab;
         private GameObject _scenePrefab;
         private GameObject _sceneObject;
         private GameObject _sceneObject;
         private List<int> _currentList3;
         private List<int> _currentList3;
+        private List<int> _currentList4;
         private int _currentMenuType;
         private int _currentMenuType;
+        private int _currentSuitId;
         private int _rarityIndex = SORT_BY_HIGH_RARITY;
         private int _rarityIndex = SORT_BY_HIGH_RARITY;
 
 
         private UI_TypeItem listTypeItem_FreedomDress;
         private UI_TypeItem listTypeItem_FreedomDress;
@@ -63,6 +68,7 @@ namespace GFGGame
             _ui.m_comListType1.m_listType.onClickItem.Add(OnClickListType1Item);
             _ui.m_comListType1.m_listType.onClickItem.Add(OnClickListType1Item);
             _ui.m_comListType2.m_listType.onClickItem.Add(OnClickListType2Item);
             _ui.m_comListType2.m_listType.onClickItem.Add(OnClickListType2Item);
             _ui.m_partsList.m_list.onClickItem.Add(OnClickPartsListItem);
             _ui.m_partsList.m_list.onClickItem.Add(OnClickPartsListItem);
+            _ui.m_partsList2.m_list.onClickItem.Add(OnClickSuitPartsListItem);
             _ui.m_touchPad.onClick.Add(OnTouchPad);
             _ui.m_touchPad.onClick.Add(OnTouchPad);
             _ui.m_btnDelete.onClick.Add(OnClickBtnDelete);
             _ui.m_btnDelete.onClick.Add(OnClickBtnDelete);
             _ui.m_btnSave.onClick.Add(OnClickBtnSave);
             _ui.m_btnSave.onClick.Add(OnClickBtnSave);
@@ -78,7 +84,7 @@ namespace GFGGame
             EventAgent.AddEventListener(ConstMessage.DRESS_FILTER, UpdatePartsListSort);
             EventAgent.AddEventListener(ConstMessage.DRESS_FILTER, UpdatePartsListSort);
             EventAgent.AddEventListener(ConstMessage.DRESS_SEARCH, UpdatePartsListSort);
             EventAgent.AddEventListener(ConstMessage.DRESS_SEARCH, UpdatePartsListSort);
             EventAgent.AddEventListener(ConstMessage.CLOSE_PHOTOGRAPHVIEW, UpdateScene);
             EventAgent.AddEventListener(ConstMessage.CLOSE_PHOTOGRAPHVIEW, UpdateScene);
-
+            _ui.m_partsList2.m_comboBoxRarity.visible = false;
         }
         }
 
 
         protected override void OnShown()
         protected override void OnShown()
@@ -172,6 +178,8 @@ namespace GFGGame
             int id = (int)listItem.data;
             int id = (int)listItem.data;
             if (_currentMenuType == (int)ConstDressUpItemType.TAO_ZHUANG)
             if (_currentMenuType == (int)ConstDressUpItemType.TAO_ZHUANG)
             {
             {
+                this.showListParts2(id);
+                this.hideListParts();
                 EquipDataCache.cacher.PutOnSuitCfg(id, true, false);
                 EquipDataCache.cacher.PutOnSuitCfg(id, true, false);
                 UpdateBtnAction();
                 UpdateBtnAction();
             }
             }
@@ -181,11 +189,28 @@ namespace GFGGame
                 EquipDataCache.cacher.AddOrRemove(id, true);
                 EquipDataCache.cacher.AddOrRemove(id, true);
             }
             }
             UpdateListPartsSelected();
             UpdateListPartsSelected();
+            UpdateListSuitPartsSelected();
+
         }
         }
+        private void OnClickSuitPartsListItem(EventContext context)
+        {
+            GObject listItem = (GObject)context.data as GObject;
+            int id = (int)listItem.data;
 
 
+            EquipDataCache.cacher.TryCancelSuit(id);
+            EquipDataCache.cacher.AddOrRemove(id, true);
+
+            UpdateListSuitPartsSelected();
+            UpdateBtnAction();
+        }
         private void OnTouchPad()
         private void OnTouchPad()
         {
         {
-            if (this.currentListType == DressUpListType.List3)
+            if (this.currentListType == DressUpListType.List4)
+            {
+                this.hideListParts2();
+                this.showListParts(ConstDressUpItemType.TAO_ZHUANG);
+            }
+            else if (this.currentListType == DressUpListType.List3)
             {
             {
                 if (_currentList2 != null)
                 if (_currentList2 != null)
                 {
                 {
@@ -239,6 +264,7 @@ namespace GFGGame
         {
         {
             _ui.m_comListType2.m_listType.itemRenderer = ListType2Item;
             _ui.m_comListType2.m_listType.itemRenderer = ListType2Item;
             _ui.m_partsList.m_list.itemRenderer = ListPartsItem;
             _ui.m_partsList.m_list.itemRenderer = ListPartsItem;
+            _ui.m_partsList2.m_list.itemRenderer = ListParts2Item;
             listType1X = _ui.m_comListType1.target.x;
             listType1X = _ui.m_comListType1.target.x;
             partsListX = _ui.m_partsList.target.x - _ui.m_partsList.target.width - DressUpView.RIGHT_BLANK;
             partsListX = _ui.m_partsList.target.x - _ui.m_partsList.target.width - DressUpView.RIGHT_BLANK;
             //一级菜单
             //一级菜单
@@ -339,6 +365,8 @@ namespace GFGGame
                     _ui.m_partsList.target.x = t.value.x;
                     _ui.m_partsList.target.x = t.value.x;
                 });
                 });
             UpdateBtnAction();
             UpdateBtnAction();
+            UpdateListPartsSelected();
+
         }
         }
 
 
         private void hideListParts()
         private void hideListParts()
@@ -353,6 +381,46 @@ namespace GFGGame
                 });
                 });
         }
         }
 
 
+
+
+        private void showListParts2(int suitId)
+        {
+            _currentSuitId = suitId;
+
+            _ui.m_partsList2.m_comboBoxRarity.items = new string[] { "高稀有度", "低稀有度", "最近获得" };
+            if (_rarityIndex >= SORT_BY_GET_TIME)
+            {
+                _rarityIndex = SORT_BY_HIGH_RARITY;
+            }
+            this.UpdateSuitPartsListSort();
+            _ui.m_partsList2.m_list.ResizeToFit(_ui.m_partsList2.m_list.numItems);
+            float maxHeight = _ui.m_partsList2.target.height - _ui.m_partsList2.m_list.y;// - DressUpView.BOTTOM_BLANK;
+            if (_ui.m_partsList2.m_list.height > maxHeight)
+            {
+                _ui.m_partsList2.m_list.height = maxHeight;
+            }
+            currentListType = DressUpListType.List4;
+            GTween.To(_ui.target.width, partsListX, 0.5f)
+                .SetTarget(_ui.m_partsList2)
+                .OnUpdate((GTweener t) =>
+                {
+                    _ui.m_partsList2.target.x = t.value.x;
+                });
+            UpdateBtnAction();
+        }
+
+        private void hideListParts2()
+        {
+            _currentMenuType = ConstDressUpItemType.TAO_ZHUANG;
+            UpdateBtnAction();
+            GTween.To(partsListX, _ui.target.width, 0.5f)
+                .SetTarget(_ui.m_partsList2)
+                .OnUpdate((GTweener t) =>
+                {
+                    _ui.m_partsList2.target.x = t.value.x;
+                });
+        }
+        /********************************************************************************************************************************************/
         private void ListType1Item(int index, GObject item)
         private void ListType1Item(int index, GObject item)
         {
         {
             UI_TypeItem typeItem = UI_TypeItem.Proxy(item);
             UI_TypeItem typeItem = UI_TypeItem.Proxy(item);
@@ -416,6 +484,37 @@ namespace GFGGame
 
 
         }
         }
 
 
+        private void ListParts2Item(int index, GObject item)
+        {
+            UI_PartsListItem listItem = UI_PartsListItem.Proxy(item);
+            int id = (int)_currentList4[index];
+            string iconRes = "";
+            string partName = "";
+            string ext = "png";
+
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(id);
+            iconRes = itemCfg.res;
+            partName = itemCfg.name;
+            listItem.m_iconSelected.visible = EquipDataCache.cacher.CheckDressUpItemIsOn(id);
+            RarityIconController.UpdateRarityIcon(listItem.m_rarity, id, false);
+            ext = ItemUtil.GetItemResExt(itemCfg.itemType, itemCfg.subType);
+
+            listItem.m_ScoreType.visible = true;
+            int mainScore;
+            int mainValuel;
+            ItemDataManager.GetMainScore(id, out mainScore, out mainValuel);
+            listItem.m_ScoreType.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + mainScore);
+
+
+            listItem.m_icon.url = ResPathUtil.GetIconPath(iconRes, ext);
+            listItem.m_txtTitle.text = partName;
+            listItem.target.data = id;
+            listItem.m_txtScore.visible = false;
+            //listItem.m_ScoreType.visible = true;
+            listItem.m_imgNeed.visible = false;
+
+
+        }
         private void UpdateListPartsSelected()
         private void UpdateListPartsSelected()
         {
         {
             int count = _ui.m_partsList.m_list.numChildren;
             int count = _ui.m_partsList.m_list.numChildren;
@@ -436,6 +535,21 @@ namespace GFGGame
                 }
                 }
             }
             }
         }
         }
+        private void UpdateListSuitPartsSelected()
+        {
+            int count = _ui.m_partsList2.m_list.numChildren;
+            for (int i = 0; i < count; i++)
+            {
+                UI_PartsListItem listItem = UI_PartsListItem.Proxy(_ui.m_partsList2.m_list.GetChildAt(i));
+                int id = (int)listItem.target.data;
+
+                bool isPutOn = EquipDataCache.cacher.CheckDressUpItemIsOn(id);//非套装金判断是否穿戴
+                bool isSuit = !DressUpMenuItemDataManager.CheckIsSceneType(id) && EquipDataCache.cacher.suitId > 0 && SuitCfgManager.Instance.GetItemSuitId(id) == EquipDataCache.cacher.suitId;//非场景类, 若当前穿戴套装要判断item是否属于套装(更换场景类不会改变套装穿戴状态)
+                bool isSceneSuit = DressUpMenuItemDataManager.CheckIsSceneType(id) && EquipDataCache.cacher.suitId > 0 && isPutOn;//场景类, 若当前穿戴套装要判断item是否属已穿戴
+                listItem.m_iconSelected.visible = isPutOn || isSuit || isSceneSuit;
+
+            }
+        }
 
 
         private void UpdatePartsListSort()
         private void UpdatePartsListSort()
         {
         {
@@ -488,10 +602,41 @@ namespace GFGGame
 
 
         }
         }
 
 
+        private void UpdateSuitPartsListSort()
+        {
+            if (_currentMenuType == 0) return;
+
+            _currentList4 = new List<int>(SuitCfgManager.Instance.GetSuitItems(_currentSuitId));
+            if (_rarityIndex == SORT_BY_HIGH_RARITY)
+            {
+                _currentList4 = DressUpMenuItemDataManager.SortItemListByHighRarity(_currentList4);
+            }
+            else if (_rarityIndex == SORT_BY_LOW_RARITY)
+            {
+                _currentList4 = DressUpMenuItemDataManager.SortItemListByLowRarity(_currentList4);
+            }
+            else
+            {
+                _currentList4.Reverse();
+            }
+
+            if (DressUpMenuItemDataManager.dressFilterType == DressFilterType.Search)
+            {
+                _currentList4 = DressUpMenuItemDataManager.DressSearch(_currentList4, false);
+            }
+            else if (DressUpMenuItemDataManager.dressFilterType == DressFilterType.Filter)
+            {
+                _currentList4 = DressUpMenuItemDataManager.DressFilter(_currentList4, false);
+            }
+
+            _ui.m_partsList2.m_list.RemoveChildrenToPool();
+            _ui.m_partsList2.m_list.numItems = _currentList4.Count;
+
+        }
 
 
         private void UpdateBtnAction()
         private void UpdateBtnAction()
         {
         {
-            _ui.m_btnAction.visible = (_currentMenuType == ConstDressUpItemType.TAO_ZHUANG);
+            _ui.m_btnAction.visible = (_currentMenuType == ConstDressUpItemType.TAO_ZHUANG) || this.currentListType == DressUpListType.List4;
             if (_ui.m_btnAction.visible)
             if (_ui.m_btnAction.visible)
             {
             {
                 _ui.m_btnAction.grayed = !EquipDataCache.cacher.HasSuitPicRes;
                 _ui.m_btnAction.grayed = !EquipDataCache.cacher.HasSuitPicRes;
@@ -549,7 +694,7 @@ namespace GFGGame
         protected override void UpdateToCheckGuide(object param)
         protected override void UpdateToCheckGuide(object param)
         {
         {
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
-            if (listTypeItem_FreedomDress == null && GuideDataManager.GetGuideCountCopy(ConstGuideId.FREEDOM_DRESS) <= 0)
+            if (listTypeItem_FreedomDress == null && GuideDataManager.IsGuideFinish(ConstGuideId.FREEDOM_DRESS) <= 0)
             {
             {
                 int len = _ui.m_comListType1.m_listType.numChildren;
                 int len = _ui.m_comListType1.m_listType.numChildren;
                 for (int i = 0; i < len; i++)
                 for (int i = 0; i < len; i++)
@@ -570,7 +715,7 @@ namespace GFGGame
                 }
                 }
             }
             }
             if (listTypeItem_FreedomDress != null) GuideController.TryGuide(listTypeItem_FreedomDress.target, ConstGuideId.FREEDOM_DRESS, 3, "套装分类里,可以查看集齐成套的服饰");
             if (listTypeItem_FreedomDress != null) GuideController.TryGuide(listTypeItem_FreedomDress.target, ConstGuideId.FREEDOM_DRESS, 3, "套装分类里,可以查看集齐成套的服饰");
-            GuideController.TryGuide(_ui.m_partsList.m_list, ConstGuideId.FREEDOM_DRESS, 4, "点击一键换上", true, 0);
+            GuideController.TryGuide(_ui.m_partsList.m_list, ConstGuideId.FREEDOM_DRESS, 4, "点击一键换上", 0);
             GuideController.TryGuide(_ui.m_btnSave, ConstGuideId.FREEDOM_DRESS, 5, "搭配好的服饰,可以保存随时查看");
             GuideController.TryGuide(_ui.m_btnSave, ConstGuideId.FREEDOM_DRESS, 5, "搭配好的服饰,可以保存随时查看");
             GuideController.TryGuide(_ui.m_btnHome, ConstGuideId.FREEDOM_DRESS, 6, "保存成功,回主界面看看吧");
             GuideController.TryGuide(_ui.m_btnHome, ConstGuideId.FREEDOM_DRESS, 6, "保存成功,回主界面看看吧");
             GuideController.TryCompleteGuide(ConstGuideId.FREEDOM_DRESS, 6);
             GuideController.TryCompleteGuide(ConstGuideId.FREEDOM_DRESS, 6);

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/DressUp/PhotographView.cs

@@ -128,7 +128,7 @@ namespace GFGGame
             // }
             // }
             PhotographDataManager.Instance.SetLayer(null, "refresh");
             PhotographDataManager.Instance.SetLayer(null, "refresh");
 
 
-            if (GuideDataManager.GetGuideCountCopy(ConstGuideId.PHOTOGRAPH) > 0)
+            if (GuideDataManager.IsGuideFinish(ConstGuideId.PHOTOGRAPH) > 0)
             {
             {
                 _ui.m_loaGuide.enabled = false;
                 _ui.m_loaGuide.enabled = false;
                 _ui.m_loaGuide1.enabled = false;
                 _ui.m_loaGuide1.enabled = false;

+ 49 - 59
GameClient/Assets/Game/HotUpdate/Views/Guide/GuideView.cs

@@ -1,3 +1,4 @@
+
 using UI.Guide;
 using UI.Guide;
 using FairyGUI;
 using FairyGUI;
 using UnityEngine;
 using UnityEngine;
@@ -13,6 +14,7 @@ namespace GFGGame
         private GObject guideTarget = null;
         private GObject guideTarget = null;
         private float devWidth;
         private float devWidth;
         private float devHeight;
         private float devHeight;
+        private int yTxt;
 
 
         private int guideId;
         private int guideId;
         private int guideIndex;
         private int guideIndex;
@@ -22,9 +24,7 @@ namespace GFGGame
         private GoWrapper _wrapper;
         private GoWrapper _wrapper;
         public override void Dispose()
         public override void Dispose()
         {
         {
-            SceneController.DestroyObjectFromView(_gameObject);
             base.Dispose();
             base.Dispose();
-
         }
         }
 
 
         protected override void OnInit()
         protected override void OnInit()
@@ -37,6 +37,8 @@ namespace GFGGame
             this.clickBlankToClose = false;
             this.clickBlankToClose = false;
             // this.layer = ConstViewLayer.TOP;
             // this.layer = ConstViewLayer.TOP;
             isfullScreen = true;
             isfullScreen = true;
+            _ui.m_rectFrameTemp.visible = false;
+            _ui.m_rectFrame.target.visible = false;
             _ui.m_rectFrame.target.AddRelation(_ui.m_mask.m_guideArea, RelationType.Width);
             _ui.m_rectFrame.target.AddRelation(_ui.m_mask.m_guideArea, RelationType.Width);
             _ui.m_rectFrame.target.AddRelation(_ui.m_mask.m_guideArea, RelationType.Height);
             _ui.m_rectFrame.target.AddRelation(_ui.m_mask.m_guideArea, RelationType.Height);
             _ui.m_rectFrame.target.AddRelation(_ui.m_mask.m_guideArea, RelationType.Left_Left);
             _ui.m_rectFrame.target.AddRelation(_ui.m_mask.m_guideArea, RelationType.Left_Left);
@@ -46,7 +48,7 @@ namespace GFGGame
                 if (isOptionalGuide) this.Hide();
                 if (isOptionalGuide) this.Hide();
             });
             });
             string resPath0 = ResPathUtil.GetViewEffectPath("ui_yd/ui_yd_y", "ui_yd_y");
             string resPath0 = ResPathUtil.GetViewEffectPath("ui_yd/ui_yd_y", "ui_yd_y");
-            SceneController.AddObjectToView(_gameObject, _wrapper, _ui.m_holder, resPath0, out _gameObject, out _wrapper);
+            SceneController.AddObjectToView(_gameObject, _wrapper, _ui.m_comHolder.m_holder, resPath0, out _gameObject, out _wrapper);
         }
         }
 
 
         protected override void OnShown()
         protected override void OnShown()
@@ -54,20 +56,15 @@ namespace GFGGame
             base.OnShown();
             base.OnShown();
             List<object> dataList = viewData as List<object>;
             List<object> dataList = viewData as List<object>;
             guideTarget = dataList[0] as GObject;
             guideTarget = dataList[0] as GObject;
-            _needUpdate = (bool)dataList[1];
-            string txtContent = (string)dataList[2];
-            int yTxt = (int)dataList[3];
-            isOptionalGuide = (bool)dataList[4];
-            devWidth = (float)dataList[5];
-            devHeight = (float)dataList[6];
+            string txtContent = (string)dataList[1];
+            yTxt = (int)dataList[2];
+            isOptionalGuide = (bool)dataList[3];
+            devWidth = (float)dataList[4];
+            devHeight = (float)dataList[5];
 
 
+            guideId = (int)dataList[6];
+            guideIndex = (int)dataList[7];
 
 
-
-            if (GuideController.useNewGuide)
-            {
-                guideId = (int)dataList[7];
-                guideIndex = (int)dataList[8];
-            }
             if (txtContent != null && txtContent.Length > 0)
             if (txtContent != null && txtContent.Length > 0)
             {
             {
                 _ui.m_compTxt.m_txt.text = txtContent;
                 _ui.m_compTxt.m_txt.text = txtContent;
@@ -86,43 +83,38 @@ namespace GFGGame
                 _ui.m_compTxt.target.visible = false;
                 _ui.m_compTxt.target.visible = false;
             }
             }
 
 
-            // _ui.m_rectFrameTemp.width = _ui.m_mask.target.width;
-            // _ui.m_rectFrameTemp.height = _ui.m_mask.target.height;
-            // _ui.m_rectFrameTemp.x = 0;
-            // _ui.m_rectFrameTemp.y = 0;
+            _ui.m_rectFrameTemp.width = _ui.m_mask.target.width;
+            _ui.m_rectFrameTemp.height = _ui.m_mask.target.height;
+            _ui.m_rectFrameTemp.x = 0;
+            _ui.m_rectFrameTemp.y = 0;
             if (guideTarget != null)
             if (guideTarget != null)
             {
             {
                 UpdateGuideRect();
                 UpdateGuideRect();
-                // _needUpdate = true;
-                // if (_needUpdate)
-                // {
-                //     Timers.inst.AddUpdate(UpdateGuideRect);
-                // }
+                Timers.inst.AddUpdate(UpdateGuideRect);
                 _ui.m_mask.target.visible = true;
                 _ui.m_mask.target.visible = true;
+                _ui.m_comHolder.target.visible = true;
+
+                guideTarget.onClick.Add(OnClickTarget);
+                if (guideTarget == null) OnClickTarget();
 
 
-                if (GuideController.useNewGuide)
-                {
-                    guideTarget.onClick.Add(OnClickTarget);
-                    if (guideTarget == null) OnClickTarget();
-                }
             }
             }
             else
             else
             {
             {
-
+                _ui.m_comHolder.target.visible = false;
                 _ui.m_mask.target.visible = false;
                 _ui.m_mask.target.visible = false;
-                _ui.m_compTxt.target.y = Math.Min(yTxt, GRoot.inst.height - _ui.m_compTxt.target.height - 3);
             }
             }
-            // _ui.m_rectFrame.target.visible = _ui.m_mask.target.visible;
-            _ui.m_rectFrame.target.visible = false;
-            // _ui.m_rectFrameTemp.visible = _ui.m_mask.target.visible;
+            _ui.m_compTxt.target.y = Math.Min(yTxt, GRoot.inst.height - _ui.m_compTxt.target.height - 3);
+            // _ui.m_rectFrame.target.visible = true;
         }
         }
 
 
         protected override void OnHide()
         protected override void OnHide()
         {
         {
-            // Timers.inst.Remove(UpdateGuideRect);
+            Timers.inst.Remove(UpdateGuideRect);
             base.OnHide();
             base.OnHide();
-            _ui.m_holder.visible = false;
-            OnClickTarget();
+            if (guideTarget == null)
+            {
+                OnClickTarget();
+            }
             guideTarget = null;
             guideTarget = null;
 
 
         }
         }
@@ -132,41 +124,39 @@ namespace GFGGame
         {
         {
             if (guideTarget != null)
             if (guideTarget != null)
             {
             {
+
                 Rect rect = guideTarget.TransformRect(new Rect(0 + devWidth, devHeight, guideTarget.width, guideTarget.height), _ui.target);
                 Rect rect = guideTarget.TransformRect(new Rect(0 + devWidth, devHeight, guideTarget.width, guideTarget.height), _ui.target);
+
                 _ui.m_mask.m_guideArea.size = new Vector2((int)rect.size.x, (int)rect.size.y);
                 _ui.m_mask.m_guideArea.size = new Vector2((int)rect.size.x, (int)rect.size.y);
                 _ui.m_mask.m_guideArea.position = new Vector2((int)rect.position.x, (int)rect.position.y);
                 _ui.m_mask.m_guideArea.position = new Vector2((int)rect.position.x, (int)rect.position.y);
-                float x = _ui.m_mask.m_guideArea.position.x + _ui.m_mask.m_guideArea.size.x * 0.5f;
-                float y = _ui.m_mask.m_guideArea.position.y + _ui.m_mask.m_guideArea.size.y * 0.5f;
-                _ui.m_holder.position = new Vector2(x, y);
-                int padding = 30;
+
+
+                _ui.m_comHolder.target.position = _ui.m_mask.m_guideArea.position;
+                _ui.m_comHolder.target.size = _ui.m_mask.m_guideArea.size;
+                int padding = 90;
                 bool atBottom = _ui.m_mask.m_guideArea.y + _ui.m_mask.m_guideArea.height + padding + _ui.m_compTxt.target.height + padding > GRoot.inst.height;
                 bool atBottom = _ui.m_mask.m_guideArea.y + _ui.m_mask.m_guideArea.height + padding + _ui.m_compTxt.target.height + padding > GRoot.inst.height;
-                if (atBottom)
+                if (yTxt == 0)
                 {
                 {
-                    _ui.m_compTxt.target.y = _ui.m_mask.m_guideArea.y - _ui.m_compTxt.target.height - padding;
+                    if (atBottom)
+                    {
+                        _ui.m_compTxt.target.y = _ui.m_mask.m_guideArea.y - _ui.m_compTxt.target.height - padding;
+                    }
+                    else
+                    {
+                        _ui.m_compTxt.target.y = _ui.m_mask.m_guideArea.y + _ui.m_mask.m_guideArea.height + padding;
+                    }
                 }
                 }
-                else
+                int targetWidth = 20;
+                if (Mathf.Abs(_ui.m_rectFrameTemp.width - _ui.m_rectFrame.target.width) <= targetWidth && Mathf.Abs(_ui.m_rectFrameTemp.height - _ui.m_rectFrame.target.height) <= targetWidth)
                 {
                 {
-                    _ui.m_compTxt.target.y = _ui.m_mask.m_guideArea.y + _ui.m_mask.m_guideArea.height + padding;
+                    Timers.inst.Remove(UpdateGuideRect);
                 }
                 }
-                // int targetWidth = 20;
-                // if (Mathf.Abs(_ui.m_rectFrameTemp.width - _ui.m_rectFrame.target.width) > targetWidth && Mathf.Abs(_ui.m_rectFrameTemp.height - _ui.m_rectFrame.target.height) > targetWidth)
-                // {
-                //     _ui.m_rectFrameTemp.visible = true;
-                //     float duration = 0.5f;
-                //     _ui.m_rectFrameTemp.TweenResize(new Vector2(_ui.m_rectFrame.target.width, _ui.m_rectFrame.target.height), duration);
-                //     _ui.m_rectFrameTemp.TweenMove(new Vector2(_ui.m_rectFrame.target.x, _ui.m_rectFrame.target.y), duration);
-                // }
-                // else
-                // {
-                _ui.m_rectFrameTemp.visible = false;
-                // _ui.m_rectFrame.target.visible = _ui.m_mask.target.visible;
-                _ui.m_holder.visible = _ui.m_mask.target.visible;
-                // }
             }
             }
         }
         }
         private void OnClickTarget()
         private void OnClickTarget()
         {
         {
             // if (guideTarget == null) return;
             // if (guideTarget == null) return;
+            // if (!ViewManager.CheckIsTopView(this.viewCom)) return;
             if (guideTarget != null) guideTarget.onClick.Remove(OnClickTarget);
             if (guideTarget != null) guideTarget.onClick.Remove(OnClickTarget);
             GuideController.TryCompleteGuideIndex(guideId, guideIndex);
             GuideController.TryCompleteGuideIndex(guideId, guideIndex);
         }
         }

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

@@ -59,7 +59,7 @@ namespace GFGGame
             this.viewCom = _ui.target;
             this.viewCom = _ui.target;
             isfullScreen = true;
             isfullScreen = true;
 
 
-            _ui.m_btnBack.visible = true;
+            _ui.m_btnBack.visible = false;
             _ui.m_btnBack.onClick.Add(OnClickBtnBack);
             _ui.m_btnBack.onClick.Add(OnClickBtnBack);
 
 
 
 
@@ -80,7 +80,7 @@ namespace GFGGame
 
 
         private void ResetStartView()
         private void ResetStartView()
         {
         {
-            showGuide = GuideDataManager.GetGuideCountCopy(ConstGuideId.LUCKY_BOX) <= 0;
+            showGuide = GuideDataManager.IsGuideFinish(ConstGuideId.LUCKY_BOX) <= 0;
 
 
             curComStar = null;
             curComStar = null;
             comStars.Clear();
             comStars.Clear();
@@ -251,7 +251,7 @@ namespace GFGGame
         {
         {
 
 
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
-            GuideController.TryGuide(null, ConstGuideId.LUCKY_BOX, 4, "点击将星星链接在一起", false, 0, true, false, (int)(this.viewCom.height - 150));
+            GuideController.TryGuide(null, ConstGuideId.LUCKY_BOX, 5, "点击将星星链接在一起", -1, true, (int)(this.viewCom.height - 150));
             TryCompleteGuide();
             TryCompleteGuide();
         }
         }
         protected override void TryCompleteGuide()
         protected override void TryCompleteGuide()
@@ -260,8 +260,8 @@ namespace GFGGame
             {
             {
                 GuideCfg cfg = GuideCfgArray.Instance.GetCfg(ConstGuideId.LUCKY_BOX);
                 GuideCfg cfg = GuideCfgArray.Instance.GetCfg(ConstGuideId.LUCKY_BOX);
 
 
-                GuideController.TryCompleteGuideIndex(cfg.id, 4);
-                GuideController.TryCompleteGuide(ConstGuideId.LUCKY_BOX, 4);
+                GuideController.TryCompleteGuideIndex(cfg.id, 5);
+                GuideController.TryCompleteGuide(ConstGuideId.LUCKY_BOX, 5);
             }
             }
             else
             else
             {
             {

+ 3 - 3
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryCardChoose.cs

@@ -39,7 +39,7 @@ namespace GFGGame
         {
         {
             base.OnShown();
             base.OnShown();
             _scoreType = (int)viewData;
             _scoreType = (int)viewData;
-            cardList = CardDataManager.CardDicToList(CardDataManager.GetCardDicByRarity(0));
+            cardList = CardDataManager.GetCardListByRarity(0);//.CardDicToList(CardDataManager.GetCardDicByRarity(0));
             cardList = SortCardList(cardList);
             cardList = SortCardList(cardList);
             _ui.m_listCard.numItems = cardList.Count;
             _ui.m_listCard.numItems = cardList.Count;
             _ui.m_listCard.selectedIndex = 0;
             _ui.m_listCard.selectedIndex = 0;
@@ -60,7 +60,7 @@ namespace GFGGame
             item.GetChild("txtName").asTextField.text = cardList[index].itemCfg.name;
             item.GetChild("txtName").asTextField.text = cardList[index].itemCfg.name;
             item.GetChild("comCardMask").asCom.GetChild("loaCard").asLoader.url = ResPathUtil.GetCardSmallPath(cardList[index].res);
             item.GetChild("comCardMask").asCom.GetChild("loaCard").asLoader.url = ResPathUtil.GetCardSmallPath(cardList[index].res);
             item.GetChild("txtLv").asTextField.text = string.Format("Lv.\n{0}", cardList[index].lv);
             item.GetChild("txtLv").asTextField.text = string.Format("Lv.\n{0}", cardList[index].lv);
-            item.GetChild("loaRarity").asLoader.url = ResPathUtil.GetCommonGameResPath("kp_sxing_x_" + (5 - cardList[index].itemCfg.rarity));
+            item.GetChild("loaRarity").asLoader.url = ResPathUtil.GetCommonGameResPath("kp_sxing_x_" +cardList[index].itemCfg.rarity);
             UI_ComStar comStar = UI_ComStar.Proxy(item.GetChild("comStar").asCom);
             UI_ComStar comStar = UI_ComStar.Proxy(item.GetChild("comStar").asCom);
             comStar.m_c1.selectedIndex = cardList[index].star;
             comStar.m_c1.selectedIndex = cardList[index].star;
 
 
@@ -114,7 +114,7 @@ namespace GFGGame
         {
         {
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
 
 
-            GuideController.TryGuide(_ui.m_listCard, ConstGuideId.SKILL_CARD_FIGHT, 1, "选择一张合适的词牌,增加过关战斗力", true, 0);
+            GuideController.TryGuide(_ui.m_listCard, ConstGuideId.SKILL_CARD_FIGHT, 1, "选择一张合适的词牌,增加过关战斗力", 0);
             GuideController.TryCompleteGuide(ConstGuideId.SKILL_CARD_FIGHT, 1);
             GuideController.TryCompleteGuide(ConstGuideId.SKILL_CARD_FIGHT, 1);
         }
         }
     }
     }

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryChapterView.cs

@@ -247,7 +247,7 @@ namespace GFGGame
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
             GuideController.TryGuide(_unPasslevelItem, ConstGuideId.START_STORY, 1, "点击关卡,开启新历程");
             GuideController.TryGuide(_unPasslevelItem, ConstGuideId.START_STORY, 1, "点击关卡,开启新历程");
 
 
-            GuideController.TryGuide(_unPasslevelItem, ConstGuideId.SINGLE_FIGHT, 1, "遇到意外事件了,暂时解释不清,先按请求换上服饰吧");
+            GuideController.TryGuide(_unPasslevelItem, ConstGuideId.SINGLE_FIGHT, 1, "遇到意外事件了,暂时解释不清,先按请求换上服饰吧", -1, true, -110);
             GuideController.TryGuide(_ui.m_btnHome, ConstGuideId.LUCKY_BOX, 1, "点击返回主界面");
             GuideController.TryGuide(_ui.m_btnHome, ConstGuideId.LUCKY_BOX, 1, "点击返回主界面");
 
 
             GuideController.TryGuide(_unPasslevelItem, ConstGuideId.CLOTHING_SYNTHETIC, 1, "点击下一关");
             GuideController.TryGuide(_unPasslevelItem, ConstGuideId.CLOTHING_SYNTHETIC, 1, "点击下一关");

+ 9 - 2
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightSingleScoreView.cs

@@ -20,6 +20,8 @@ namespace GFGGame
         private const int _range = 100;//圆圈随机范围
         private const int _range = 100;//圆圈随机范围
         private float _time = 0;// 登峰造极按住的时间
         private float _time = 0;// 登峰造极按住的时间
 
 
+        private float _playTime = 1.25f;
+
         protected override void OnInit()
         protected override void OnInit()
         {
         {
             base.OnInit();
             base.OnInit();
@@ -63,6 +65,11 @@ namespace GFGGame
             _prefectCount = 0;
             _prefectCount = 0;
             _mainScore = ScoreSystemData.Instance.GetMainScore();
             _mainScore = ScoreSystemData.Instance.GetMainScore();
 
 
+            if (_index == 0 && GuideDataManager.IsGuideFinish(ConstGuideId.SINGLE_FIGHT) <= 0)//引导中禁止自动战斗
+            {
+                EquipDataCache.cacher.fightSpeed = 1;
+                EquipDataCache.cacher.autoPlay = false;
+            }
             Timers.inst.Add(0.5f, 1, (param) =>
             Timers.inst.Add(0.5f, 1, (param) =>
             {
             {
                 SkillScoreStart(null);
                 SkillScoreStart(null);
@@ -98,10 +105,10 @@ namespace GFGGame
             _ui.m_comClickCircle.target.visible = true;
             _ui.m_comClickCircle.target.visible = true;
 
 
 
 
-            if (_index == 0 && GuideDataManager.GetGuideCountCopy(ConstGuideId.SINGLE_FIGHT) <= 0)
+            if (_index == 0 && GuideDataManager.IsGuideFinish(ConstGuideId.SINGLE_FIGHT) <= 0)
             {
             {
                 _ui.m_comClickCircle.m_loaCircle.touchable = false;
                 _ui.m_comClickCircle.m_loaCircle.touchable = false;
-                _ui.m_comClickCircle.m_t0.Play(1, 0, 0, 0.5f, () =>
+                _ui.m_comClickCircle.m_t0.Play(1, 0, 0, _playTime / 2, () =>
                 {
                 {
                     _ui.m_comClickCircle.m_loaCircle.touchable = true;
                     _ui.m_comClickCircle.m_loaCircle.touchable = true;
                 });
                 });

+ 19 - 11
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetScoreView.cs

@@ -83,16 +83,19 @@ namespace GFGGame
             });
             });
             _ui.m_comMineCircle.target.onClick.Add(() =>
             _ui.m_comMineCircle.target.onClick.Add(() =>
             {
             {
-                if (_index == 0 && GuideDataManager.GetGuideCountCopy(ConstGuideId.TARGET_FIGHT) <= 0 && playStop)
+                _ui.m_btnSkill0.target.touchable = true;
+            });
+
+            _ui.m_btnSkill0.target.onClick.Add(() =>
+            {
+                if (_index == 0 && GuideDataManager.IsGuideFinish(ConstGuideId.TARGET_FIGHT) <= 0 && playStop)
                 {
                 {
                     playStop = false;
                     playStop = false;
-                    _ui.m_comTargetCircle.target.visible = false;
-                    _ui.m_comMineCircle.target.visible = false;
+                    // _ui.m_comTargetCircle.target.visible = false;
+                    // _ui.m_comMineCircle.target.visible = false;
 
 
                     _ui.m_comMineCircle.m_t0.Play(CircleScoreEnd);
                     _ui.m_comMineCircle.m_t0.Play(CircleScoreEnd);
                     _ui.m_comTargetCircle.m_t0.Play();
                     _ui.m_comTargetCircle.m_t0.Play();
-                    _ui.m_btnSkill0.target.touchable = true;
-
                 }
                 }
             });
             });
             _ui.m_btnSpeedUp.onClick.Add(OnBtnSpeedUp);
             _ui.m_btnSpeedUp.onClick.Add(OnBtnSpeedUp);
@@ -112,13 +115,14 @@ namespace GFGGame
             StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
             StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
             StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
             StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
             SceneController.UpdateFightTarget(fightCfg.targetRes, _sceneObject);
             SceneController.UpdateFightTarget(fightCfg.targetRes, _sceneObject);
+
+            UpdateNormal();
+            AddEffect();
             _ui.m_selfName.m_txtName.text = RoleDataManager.roleName;
             _ui.m_selfName.m_txtName.text = RoleDataManager.roleName;
             _ui.m_targetName.m_txtName.text = fightCfg.targetName;
             _ui.m_targetName.m_txtName.text = fightCfg.targetName;
             _ui.m_btnSpeedUp.visible = EquipDataCache.cacher.autoPlay;
             _ui.m_btnSpeedUp.visible = EquipDataCache.cacher.autoPlay;
             _ui.m_btnSpeedUp.title = "x" + EquipDataCache.cacher.fightSpeed;
             _ui.m_btnSpeedUp.title = "x" + EquipDataCache.cacher.fightSpeed;
 
 
-            UpdateNormal();
-            AddEffect();
 
 
             ScoreSystemData.Instance.SetEquipDicWithType();
             ScoreSystemData.Instance.SetEquipDicWithType();
             _npcSkillDic = SkillDataManager.Instance.GetNpcSkill();
             _npcSkillDic = SkillDataManager.Instance.GetNpcSkill();
@@ -128,7 +132,7 @@ namespace GFGGame
             _mainScore = ScoreSystemData.Instance.GetMainScore();
             _mainScore = ScoreSystemData.Instance.GetMainScore();
             _targetMainScore = fightCfg.targetMainScore;
             _targetMainScore = fightCfg.targetMainScore;
 
 
-            if (_index == 0 && GuideDataManager.GetGuideCountCopy(ConstGuideId.TARGET_FIGHT) <= 0)
+            if (_index == 0 && GuideDataManager.IsGuideFinish(ConstGuideId.TARGET_FIGHT) <= 0)
             {
             {
                 _ui.m_btnSkill0.target.touchable = false;
                 _ui.m_btnSkill0.target.touchable = false;
             }
             }
@@ -139,7 +143,11 @@ namespace GFGGame
         {
         {
             Reset();
             Reset();
 
 
-
+            if (_index == 0 && GuideDataManager.IsGuideFinish(ConstGuideId.TARGET_FIGHT) <= 0)//引导中禁止自动战斗
+            {
+                EquipDataCache.cacher.fightSpeed = 1;
+                EquipDataCache.cacher.autoPlay = false;
+            }
             RoleSkillCfg[] roleSkillCfgs = RoleSkillCfgArray.Instance.dataArray;
             RoleSkillCfg[] roleSkillCfgs = RoleSkillCfgArray.Instance.dataArray;
             for (int i = 0; i < roleSkillCfgs.Length; i++)
             for (int i = 0; i < roleSkillCfgs.Length; i++)
             {
             {
@@ -232,7 +240,7 @@ namespace GFGGame
 
 
             _ui.m_comTargetCircle.target.visible = true;
             _ui.m_comTargetCircle.target.visible = true;
             _ui.m_comTargetCircle.m_txtPart.text = FightScoreCfgArray.Instance.GetCfg(_index + 1).name;
             _ui.m_comTargetCircle.m_txtPart.text = FightScoreCfgArray.Instance.GetCfg(_index + 1).name;
-            if (_index == 0 && GuideDataManager.GetGuideCountCopy(ConstGuideId.TARGET_FIGHT) <= 0)
+            if (_index == 0 && GuideDataManager.IsGuideFinish(ConstGuideId.TARGET_FIGHT) <= 0)
             {
             {
                 _ui.m_comMineCircle.m_t0.Play(1, 0, 0, 0.75f, () =>
                 _ui.m_comMineCircle.m_t0.Play(1, 0, 0, 0.75f, () =>
                 {
                 {
@@ -516,7 +524,7 @@ namespace GFGGame
 
 
             if (playStop)
             if (playStop)
             {
             {
-                GuideController.TryGuide(_ui.m_comMineCircle.target, ConstGuideId.TARGET_FIGHT, 2, "这里可以观察双方的分数计算", false, 0, true, false, 0, -128f, -128f);
+                GuideController.TryGuide(_ui.m_comMineCircle.target, ConstGuideId.TARGET_FIGHT, 2, "这里可以观察双方的分数计算", -1, true, 0, -128f, -128f);
             }
             }
             GuideController.TryGuide(_ui.m_btnSkill0.target, ConstGuideId.TARGET_FIGHT, 3, "使用技能,可以增加胜出的几率哦,点击看看");
             GuideController.TryGuide(_ui.m_btnSkill0.target, ConstGuideId.TARGET_FIGHT, 3, "使用技能,可以增加胜出的几率哦,点击看看");
             GuideController.TryCompleteGuide(ConstGuideId.TARGET_FIGHT, 3);
             GuideController.TryCompleteGuide(ConstGuideId.TARGET_FIGHT, 3);

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryLevelInfoView.cs

@@ -252,8 +252,8 @@ namespace GFGGame
             {
             {
                 _ui.m_btnStart.touchable = false;
                 _ui.m_btnStart.touchable = false;
             }
             }
-            GuideController.TryGuide(null, ConstGuideId.CLOTHING_SYNTHETIC, 3, "点击空白处关闭", false, 0, true, false, (int)(this.viewCom.y + _ui.m_groupPass.y));
-            GuideController.TryGuide(_ui.m_listTag, ConstGuideId.OPEN_TAGS, 1, "选择相应的关卡标签,可提高分数", false, 0, true, false, 0);
+            GuideController.TryGuide(null, ConstGuideId.CLOTHING_SYNTHETIC, 3, "点击空白处关闭", -1, true, (int)(this.viewCom.y + _ui.m_groupPass.y));
+            GuideController.TryGuide(_ui.m_listTag, ConstGuideId.OPEN_TAGS, 1, "选择相应的关卡标签,可提高分数", -1, true, 0);
             GuideController.TryCompleteGuide(ConstGuideId.OPEN_TAGS, 1);
             GuideController.TryCompleteGuide(ConstGuideId.OPEN_TAGS, 1);
 
 
 
 

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/MainStory/StorySkillView.cs

@@ -20,7 +20,7 @@ namespace GFGGame
         protected override void OnShown()
         protected override void OnShown()
         {
         {
             base.OnShown();
             base.OnShown();
-            CardData data = CardDataManager.GetCardDicByRarity(0)[InstanceZonesDataManager.currentCardId];
+            CardData data = CardDataManager.GetCardDataById(InstanceZonesDataManager.currentCardId);//(0)[InstanceZonesDataManager.currentCardId];
             _ui.m_comSkillCard.m_loaCard.url = ResPathUtil.GetCardSmallPath(data.res);
             _ui.m_comSkillCard.m_loaCard.url = ResPathUtil.GetCardSmallPath(data.res);
             PassivitySkillCfg cfg = ScoreSystemData.Instance.GetMainSkillCfg(data.id);
             PassivitySkillCfg cfg = ScoreSystemData.Instance.GetMainSkillCfg(data.id);
             _ui.m_ComSkillName.target.GetChild("txtName").asTextField.text = cfg.name;
             _ui.m_ComSkillName.target.GetChild("txtName").asTextField.text = cfg.name;

+ 9 - 9
GameClient/Assets/Game/HotUpdate/Views/MainStory/StroyFightResultView.cs

@@ -59,7 +59,7 @@ namespace GFGGame
         protected override void OnShown()
         protected override void OnShown()
         {
         {
             base.OnShown();
             base.OnShown();
-            var resultData = (StoryFightResultData)this.viewData;
+            _resultData = (StoryFightResultData)this.viewData;
             // Timers.inst.AddUpdate(UpdateToCheckGuide);
             // Timers.inst.AddUpdate(UpdateToCheckGuide);
 
 
             if (_sceneObject == null)
             if (_sceneObject == null)
@@ -68,17 +68,17 @@ namespace GFGGame
             }
             }
 
 
             SceneController.UpdateRole(EquipDataCache.cacher.equipDatas, _sceneObject);
             SceneController.UpdateRole(EquipDataCache.cacher.equipDatas, _sceneObject);
-            _ui.m_selfScore.m_txtScore.text = "" + resultData.Score;
+            _ui.m_selfScore.m_txtScore.text = "" + _resultData.Score;
             _ui.m_expBar.m_txtLvl.text = "" + GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl);
             _ui.m_expBar.m_txtLvl.text = "" + GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl);
             RoleLevelCfg roleLevelCfg = RoleLevelCfgArray.Instance.GetCfg(GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl));
             RoleLevelCfg roleLevelCfg = RoleLevelCfgArray.Instance.GetCfg(GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl));
             _ui.m_expBar.m_pbExp.max = roleLevelCfg.exp;
             _ui.m_expBar.m_pbExp.max = roleLevelCfg.exp;
             _ui.m_expBar.m_pbExp.value = GameGlobal.myNumericComponent.GetAsInt(NumericType.Exp);
             _ui.m_expBar.m_pbExp.value = GameGlobal.myNumericComponent.GetAsInt(NumericType.Exp);
 
 
-            StoryUtil.UpdateStar(resultData.Star, _ui.m_selfScore.m_flower.target);
-            _ui.m_selfScore.m_bg.url = "ui://Main/zd_jsjm_jszi_" + resultData.Star;
+            StoryUtil.UpdateStar(_resultData.Star, _ui.m_selfScore.m_flower.target);
+            _ui.m_selfScore.m_bg.url = "ui://Main/zd_jsjm_jszi_" + _resultData.Star;
             TextFormat tf = _ui.m_selfScore.m_txtScore.textFormat;
             TextFormat tf = _ui.m_selfScore.m_txtScore.textFormat;
             UpdateToCheckGuide(null);
             UpdateToCheckGuide(null);
-            if (!_resultData.Result)
+            if (!this._resultData.Result)
             {
             {
                 tf.font = "ui://Main/Font3";
                 tf.font = "ui://Main/Font3";
                 _ui.m_expBar.m_txtLvlAdded.text = "0";
                 _ui.m_expBar.m_txtLvlAdded.text = "0";
@@ -94,7 +94,7 @@ namespace GFGGame
                 StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
                 StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
                 StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
                 StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
                 _ui.m_expBar.m_txtLvlAdded.text = "" + fightCfg.exp;
                 _ui.m_expBar.m_txtLvlAdded.text = "" + fightCfg.exp;
-                Timers.inst.Add(0.5f, 1, AddExp);
+                Timers.inst.Add(0.5f, 1, this.AddExp);
             }
             }
             _ui.m_selfScore.m_txtScore.textFormat = tf;
             _ui.m_selfScore.m_txtScore.textFormat = tf;
 
 
@@ -135,9 +135,9 @@ namespace GFGGame
         protected override void UpdateToCheckGuide(object param)
         protected override void UpdateToCheckGuide(object param)
         {
         {
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
-            if (!_resultData.Result) GuideController.TryGuide(null, ConstGuideId.FIRST_FIGHT_FAILED, 1, "不要气馁呀,可以通过再次挑战已通关的关卡、摘星、绣坊等途径获取更多的物资来提升自己的战斗力哦!", false, 0, true, false, (int)(this.viewCom.height - 150));
-            if (_resultData.Result) GuideController.TryGuide(null, ConstGuideId.FIRST_FIGHT_SINGLE_WIN, 1, "这条连衣裙可真好看!点击空白区域继续", false, 0, true, false, (int)(this.viewCom.height - 150));
-            if (_resultData.Result) GuideController.TryGuide(null, ConstGuideId.FIRST_FIGHT_TARGET_WIN, 1, "你太厉害了,初次对战就获得了这么好的战绩,继续加油吧", false, 0, true, false, (int)(this.viewCom.height - 350));
+            if (!_resultData.Result) GuideController.TryGuide(null, ConstGuideId.FIRST_FIGHT_FAILED, 1, "不要气馁呀,可以通过再次挑战已通关的关卡、摘星、绣坊等途径获取更多的物资来提升自己的战斗力哦!", -1, true, (int)(this.viewCom.height - 150));
+            if (_resultData.Result) GuideController.TryGuide(null, ConstGuideId.FIRST_FIGHT_SINGLE_WIN, 1, "这条连衣裙可真好看!点击空白区域继续", -1, true, (int)(this.viewCom.height - 150));
+            if (_resultData.Result) GuideController.TryGuide(null, ConstGuideId.FIRST_FIGHT_TARGET_WIN, 1, "你太厉害了,初次对战就获得了这么好的战绩,继续加油吧", -1, true, (int)(this.viewCom.height - 350));
         }
         }
 
 
         protected override void TryCompleteGuide()
         protected override void TryCompleteGuide()

+ 5 - 5
GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs

@@ -305,16 +305,16 @@ namespace GFGGame
         protected override void UpdateToCheckGuide(object param)
         protected override void UpdateToCheckGuide(object param)
         {
         {
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
-            GuideController.TryGuide(_ui.m_btnZhaiXing.target, ConstGuideId.LUCKY_BOX, 2, "“摘星”里可以通过星辰的力量获得服饰", false, 0, false);
+            GuideController.TryGuide(_ui.m_btnZhaiXing.target, ConstGuideId.LUCKY_BOX, 2, "“摘星”里可以通过星辰的力量获得服饰", -1, false);
 
 
             GuideController.TryCompleteGuide(ConstGuideId.FREEDOM_DRESS, 6);
             GuideController.TryCompleteGuide(ConstGuideId.FREEDOM_DRESS, 6);
-            GuideController.TryGuide(_ui.m_btnHuanZhuang.target, ConstGuideId.FREEDOM_DRESS, 2, "在这里,可以自由搭配服饰和分享哦~", false, 0, false);
+            GuideController.TryGuide(_ui.m_btnHuanZhuang.target, ConstGuideId.FREEDOM_DRESS, 2, "在这里,可以自由搭配服饰和分享哦~", -1, false);
 
 
-            GuideController.TryGuide(_ui.m_btnXiuFang.target, ConstGuideId.CLOTHING_SYNTHETIC, 5, "绣坊里增添了新功能", false, 0, false);
+            GuideController.TryGuide(_ui.m_btnXiuFang.target, ConstGuideId.CLOTHING_SYNTHETIC, 5, "绣坊里增添了新功能", -1, false);
             GuideController.TryCompleteGuide(ConstGuideId.CLOTHING_SYNTHETIC, 11);
             GuideController.TryCompleteGuide(ConstGuideId.CLOTHING_SYNTHETIC, 11);
 
 
-            GuideController.TryGuide(_ui.m_btnCiPai.target, ConstGuideId.UP_CARD_STAR, 2, "已经收集了足够的材料,可以给词牌升星了");
-            GuideController.TryGuide(_ui.m_btnHuanZhuang.target, ConstGuideId.PHOTOGRAPH, 2, "点这里看看吧", false, 0, false);
+            GuideController.TryGuide(_ui.m_btnCiPai.target, ConstGuideId.UP_CARD_STAR, 2, "已经收集了足够的材料,可以给词牌升星了", -1, false);
+            GuideController.TryGuide(_ui.m_btnHuanZhuang.target, ConstGuideId.PHOTOGRAPH, 2, "点这里看看吧", -1, false);
 
 
         }
         }
     }
     }

BIN
GameClient/Assets/ResIn/Config/excelConfig.sqlite.bytes


BIN
GameClient/Assets/ResIn/UI/ClothingShop/ClothingShop_fui.bytes


BIN
GameClient/Assets/ResIn/UI/Common/Common_atlas0.png


BIN
GameClient/Assets/ResIn/UI/Common/Common_fui.bytes


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/DressUp/DressUp_fui.bytes


BIN
GameClient/Assets/ResIn/UI/Guide/Guide_fui.bytes


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_1!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_1.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_2!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_2.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_fui.bytes