Просмотр исходного кода

Merge remote-tracking branch 'origin/master' into ios

gfg 1 год назад
Родитель
Сommit
7b3926d229
100 измененных файлов с 2384 добавлено и 405 удалено
  1. 1 1
      GameClient/Assets/Editor/Excel/Scanner/ItemApproachScanner.cs
  2. 1 0
      GameClient/Assets/Game/HotUpdate/Controller/GameController.cs
  3. 2 2
      GameClient/Assets/Game/HotUpdate/Data/CustomSuitDataManager.cs
  4. 1 1
      GameClient/Assets/Game/HotUpdate/Data/FightDataManager.cs
  5. 17 4
      GameClient/Assets/Game/HotUpdate/Data/RedDotDataManager.cs
  6. 57 12
      GameClient/Assets/Game/HotUpdate/Data/RoleInfoManager.cs
  7. 1 1
      GameClient/Assets/Game/HotUpdate/Data/ShopDataManager.cs
  8. 1 1
      GameClient/Assets/Game/HotUpdate/Data/ShopViewManager.cs
  9. 1 0
      GameClient/Assets/Game/HotUpdate/Data/TaskDataManager.cs
  10. 4 1
      GameClient/Assets/Game/HotUpdate/DressUp/SceneController.cs
  11. 3 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_BtnBuy.cs
  12. 1 1
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_BtnBuy.cs.meta
  13. 3 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_BtnReceive.cs
  14. 1 1
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_BtnReceive.cs.meta
  15. 3 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComCurSupplyItem.cs
  16. 1 1
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComCurSupplyItem.cs.meta
  17. 3 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComDiscount.cs
  18. 1 1
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComDiscount.cs.meta
  19. 3 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComGouMaiGetText.cs
  20. 1 1
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComGouMaiGetText.cs.meta
  21. 81 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComHead3.cs
  22. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComHead3.cs.meta
  23. 3 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComLeftGiftBox.cs
  24. 1 1
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComLeftGiftBox.cs.meta
  25. 3 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComSpecialOfferGiftBoxItem.cs
  26. 1 1
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComSpecialOfferGiftBoxItem.cs.meta
  27. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_ButtonModle2.cs
  28. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_ButtonModle3.cs
  29. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_ButtonModle4.cs
  30. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_ButtonModle5.cs
  31. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_ButtonModle6.cs
  32. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_ButtonModle7.cs
  33. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_CompStoryLevelItem.cs
  34. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_MainUI.cs
  35. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_StoryChapterUI.cs
  36. 86 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_Button2.cs
  37. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_Button2.cs.meta
  38. 71 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_ButtonBadge.cs
  39. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_ButtonBadge.cs.meta
  40. 3 6
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_ListPhotoItem.cs
  41. 86 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_MainBgChooseUI.cs
  42. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_MainBgChooseUI.cs.meta
  43. 3 2
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_OtherRoleInfoUI.cs
  44. 33 9
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_RoleInfoUI.cs
  45. 114 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_RoleInfoUI_old.cs
  46. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_RoleInfoUI_old.cs.meta
  47. 18 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_SettingUI.cs
  48. 89 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_SettingUI_old.cs
  49. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_SettingUI_old.cs.meta
  50. 74 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_bgItem.cs
  51. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_bgItem.cs.meta
  52. 74 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreGiftBagAddRebateUI.cs
  53. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreGiftBagAddRebateUI.cs.meta
  54. 98 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Studio/UI_StudioActivityUI.cs
  55. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Studio/UI_StudioActivityUI.cs.meta
  56. 0 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Studio/UI_StudioFilingUI.cs
  57. 2 1
      GameClient/Assets/Game/HotUpdate/Game.HotUpdate.asmdef
  58. 2 2
      GameClient/Assets/Game/HotUpdate/Views/ActivityThemeLuckyBox/ActivityThemeLuckyBoxView.cs
  59. 1 1
      GameClient/Assets/Game/HotUpdate/Views/Common/Controller/LuckyBoxController.cs
  60. 1 1
      GameClient/Assets/Game/HotUpdate/Views/CommonGame/ApproachView.cs
  61. 1 1
      GameClient/Assets/Game/HotUpdate/Views/CommonGame/BuyConfirmView.cs
  62. 1 0
      GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpView.cs
  63. 98 37
      GameClient/Assets/Game/HotUpdate/Views/DressUp/PhotographSaveView.cs
  64. 1 0
      GameClient/Assets/Game/HotUpdate/Views/DressUp/PhotographView.cs
  65. 1 0
      GameClient/Assets/Game/HotUpdate/Views/EnduringGiftBox/EnduringGiftBoxView.cs
  66. 0 2
      GameClient/Assets/Game/HotUpdate/Views/EnduringGiftBox/SpecialOfferGiftBoxView.cs
  67. 2 2
      GameClient/Assets/Game/HotUpdate/Views/FieldGuide/FieldGuideView.cs
  68. 47 2
      GameClient/Assets/Game/HotUpdate/Views/League/LeagueView.cs
  69. 116 173
      GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxView.cs
  70. 1 1
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryChapterListView.cs
  71. 8 1
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryChapterView.cs
  72. 0 2
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryDialogView.cs
  73. 10 6
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightSingleScoreView.cs
  74. 5 4
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightSingleView.cs
  75. 15 7
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetView.cs
  76. 1 1
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryLevelInfoView.cs
  77. 0 9
      GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs
  78. 134 0
      GameClient/Assets/Game/HotUpdate/Views/RoleInfo/MainBgChooseView.cs
  79. 11 0
      GameClient/Assets/Game/HotUpdate/Views/RoleInfo/MainBgChooseView.cs.meta
  80. 12 4
      GameClient/Assets/Game/HotUpdate/Views/RoleInfo/OtherRoleInfoView.cs
  81. 73 14
      GameClient/Assets/Game/HotUpdate/Views/RoleInfo/RoleInfoView.cs
  82. 1 1
      GameClient/Assets/Game/HotUpdate/Views/Store/StoreBlackCardRewardView.cs
  83. 351 0
      GameClient/Assets/Game/HotUpdate/Views/Store/StoreGiftBagAddRebateView.cs
  84. 11 0
      GameClient/Assets/Game/HotUpdate/Views/Store/StoreGiftBagAddRebateView.cs.meta
  85. 4 4
      GameClient/Assets/Game/HotUpdate/Views/Store/StoreMonthView.cs
  86. 3 5
      GameClient/Assets/Game/HotUpdate/Views/Store/StoreView.cs
  87. 214 0
      GameClient/Assets/Game/HotUpdate/Views/Studio/StudioActivityView.cs
  88. 11 0
      GameClient/Assets/Game/HotUpdate/Views/Studio/StudioActivityView.cs.meta
  89. 2 2
      GameClient/Assets/Game/HotUpdate/Views/Studio/StudioBuyNumView.cs
  90. 6 16
      GameClient/Assets/Game/HotUpdate/Views/Studio/StudioFilingView.cs
  91. 6 0
      GameClient/Assets/Game/Launcher/LauncherConfig.cs
  92. 12 2
      GameClient/Assets/Game/Launcher/LocalCache/LocalCache.cs
  93. 1 1
      GameClient/Assets/Plugins/Android/AndroidManifest.xml
  94. BIN
      GameClient/Assets/Plugins/Android/gfglibrary-debug.aar
  95. 0 32
      GameClient/Assets/Plugins/Android/gfglibrary-debug.aar.meta
  96. 9 0
      GameClient/Assets/Plugins/NativeGallery.meta
  97. 9 0
      GameClient/Assets/Plugins/NativeGallery/Android.meta
  98. 38 0
      GameClient/Assets/Plugins/NativeGallery/Android/NGCallbackHelper.cs
  99. 12 0
      GameClient/Assets/Plugins/NativeGallery/Android/NGCallbackHelper.cs.meta
  100. 60 0
      GameClient/Assets/Plugins/NativeGallery/Android/NGMediaReceiveCallbackAndroid.cs

+ 1 - 1
GameClient/Assets/Editor/Excel/Scanner/ItemApproachScanner.cs

@@ -562,7 +562,7 @@ namespace GFGEditor
             return false;
         }
         /// <summary>
-        /// 检测商城-灵犀卡是否产出该物品
+        /// 检测商城-豆包卡是否产出该物品
         /// </summary>
         /// <param name="itemId"></param>
         /// <returns></returns>

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

@@ -253,6 +253,7 @@ namespace GFGGame
             LuckyBoxSProxy.ReqGetLuckyBoxRotatingInfo().Coroutine();
             LeagueSproxy.GetTeapartyInfos().Coroutine();
             LeagueSproxy.GetTeapartyMatchingInfos(RoleDataManager.roleId).Coroutine();
+            TaskSProxy.GetTaskTypePro().Coroutine();
 
             int storageAutoPlay = StorageDataManager.Instance.GetStorageValue(ConstStorageId.STORAGE_AUTO_PLAY);
             FightDataManager.Instance.autoPlay = storageAutoPlay <= 0 ? false : true;

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

@@ -98,7 +98,7 @@ namespace GFGGame
                     }
                     else
                     {
-                        posItems[i] = "灵犀卡开启";
+                        posItems[i] = "豆包卡开启";
                     }
                 }
                 else if (GetPosType(i) == MonthCardType.BlackGold)
@@ -109,7 +109,7 @@ namespace GFGGame
                     }
                     else
                     {
-                        posItems[i] = "璇玑卡开启";
+                        posItems[i] = "阿福卡开启";
                     }
                 }
             }

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

@@ -216,7 +216,7 @@ namespace GFGGame
             {
                 return ClickType.PERFECT_CLICK;
             }
-            if (scale <= 0.33f && scale > 0.23f)
+            if (scale <= 0.38f && scale > 0.27f)
             {
                 clickType = ClickType.PERFECT_CLICK;
             }

+ 17 - 4
GameClient/Assets/Game/HotUpdate/Data/RedDotDataManager.cs

@@ -596,7 +596,7 @@ namespace GFGGame
         /// <returns></returns>
         public bool GetShopRed()
         {
-            return GetChargeAddUpRewardRed() || GetGiftBagRewardRed() || GetGoldCardRewardRed() || GetBlackCardRewardRed() || GetBlackCardClothingRed() || GetStoreBrocadeWeavRewardRed();
+            return GetChargeAddUpRewardRed() || GetGiftBagRewardRed() || GetGoldCardRewardRed() || GetBlackCardRewardRed() || GetBlackCardClothingRed() || GetStoreBrocadeWeavRewardRed() || GetGiftBagRebateRed();
         }
         //商店-充值-会员中心
         public bool GetChargeAddUpRewardRed()
@@ -627,8 +627,21 @@ namespace GFGGame
             }
             return false;
         }
+
+        //商店-礼包-返利商城
+        public bool GetGiftBagRebateRed()
+        {
+            List<ShopCfg> shopCfgs = ShopCfgArray.Instance.GetCfgsBymenu1Andmenu2(ConstStoreTabId.STORE_GIFT_BAG, ConstStoreSubId.STORE_GIFT_BAG_REBATE);
+            foreach (var info in shopCfgs) {
+                var weekGiftBoxState = EnduringGiftBoxDataManager.Instance.DayIsRebateGiftBox(info.itemId);
+                if (weekGiftBoxState)
+                    return true;
+            }
+            return false;
+        }
+
         /// <summary>
-        /// 商城-月卡-灵犀卡
+        /// 商城-月卡-豆包
         /// </summary>
         /// <returns></returns>
         public bool GetGoldCardRewardRed()
@@ -636,7 +649,7 @@ namespace GFGGame
             return RoleDataManager.CheckIsMonthCardOpenByType(MonthCardType.Gold) && GameGlobal.myNumericComponent.GetAsInt(NumericType.MonthCardGoldReward) <= 0;
         }
         /// <summary>
-        /// 商城-月卡-璇玑
+        /// 商城-月卡-阿福
         /// </summary>
         /// <returns></returns>
         public bool GetBlackCardRewardRed()
@@ -644,7 +657,7 @@ namespace GFGGame
             return RoleDataManager.CheckIsMonthCardOpenByType(MonthCardType.BlackGold) && GameGlobal.myNumericComponent.GetAsInt(NumericType.MonthCardBlackGoldReward) <= 0;
         }
         /// <summary>
-        /// 商城-月卡-璇玑卡-单品奖励
+        /// 商城-月卡-阿福卡-单品奖励
         /// </summary>
         /// <returns></returns>
         public bool GetBlackCardClothingRed()

+ 57 - 12
GameClient/Assets/Game/HotUpdate/Data/RoleInfoManager.cs

@@ -142,19 +142,66 @@ namespace GFGGame
             });
         }
 
+        /// <summary>
+        /// 套装收集进度
+        /// </summary>
+        /// <returns></returns>
+        public int GetSuitGuideProgress()
+        {
+            DressUpMenuSuitDataManager.GetTotalProgress(out int suitHaveCount, out int suitTotalCount);
+            int value = FieldGuideView.ProgressCalculate(suitHaveCount, suitTotalCount);
+            return value;
+        }
 
-        public decimal GetGuideProgress()
+        /// <summary>
+        /// 卡牌收集进度
+        /// </summary>
+        /// <returns></returns>
+        public int GetCardGuideProgress()
         {
-            int suitHaveCount;
-            int suitTotalCount;
-            DressUpMenuSuitDataManager.GetTotalProgress(out suitHaveCount, out suitTotalCount);
-            decimal value = FieldGuideView.ProgressCalculate(suitHaveCount, suitTotalCount);
+            CardDataManager.GetTotalProgress(out int haveCount, out int totalCount);
+            int value = FieldGuideView.ProgressCalculate(haveCount, totalCount);
             return value;
         }
 
-        public void UpdateHeadWithLv(GComponent component, int headId, int roleBorderId, int lv)
+        /// <summary>
+        /// 成就任务完成进度
+        /// </summary>
+        /// <returns></returns>
+        public int GetTaskAchieveProgress()
         {
+            var taskTypeProList = TaskDataManager.Instance.GetAchievementTaskTypeProList();
+            int finishedCount = 0;
+            int totalCount = 0;
+            for (int i = 0; i < taskTypeProList.Count; i++)
+            {
+                finishedCount += taskTypeProList[i].CompleteTaskNum;
+                totalCount += taskTypeProList[i].AllTaskNum;
+            }
+            int value = FieldGuideView.ProgressCalculate(finishedCount, totalCount);
+            return value;
+        }
 
+        public string GetLeagueName()
+        {
+            LeagueData leagueData = LeagueDataManager.Instance.LeagueData;
+            if (leagueData == null)
+            {
+                return "暂未加入雅集";
+            }
+            else
+            {
+                return leagueData.Name;
+            }
+        }
+
+        public long GetRoleID()
+        {
+            return RoleDataManager.roleId;
+        }
+
+        public void UpdateHeadWithLv(GComponent component, int headId, int roleBorderId, int lv)
+        {
             UI_ComHeadWithLv comHeadWithLv = UI_ComHeadWithLv.Proxy(component);
             UpdateHead(comHeadWithLv.m_comHead.target, headId, roleBorderId);
             UpdateLv(comHeadWithLv.m_comLv.target, lv);
@@ -163,7 +210,6 @@ namespace GFGGame
         }
         public void UpdateHeadWithLv1(GComponent component, int headId, int roleBorderId, int lv)
         {
-
             UI_ComHeadWithLv1 comHeadWithLv = UI_ComHeadWithLv1.Proxy(component);
 
             ItemCfg headCfg = ItemCfgArray.Instance.GetCfg(headId == 0 ? ConstItemID.HEADID : headId);
@@ -177,14 +223,13 @@ namespace GFGGame
         }
         public void UpdateHead(GComponent component, int headId, int roleBorderId)
         {
-
             ItemCfg headCfg = ItemCfgArray.Instance.GetCfg(headId == 0 ? ConstItemID.HEADID : headId);
             ItemCfg headBorderCfg = ItemCfgArray.Instance.GetCfg(roleBorderId == 0 ? ConstItemID.HEADBORDERID : roleBorderId);
 
-            UI_ComHead comHead = UI_ComHead.Proxy(component);
+            UI_ComHead3 comHead = UI_ComHead3.Proxy(component);
             comHead.m_comHead.m_loaIcon.url = ResPathUtil.GetHeadPath(headCfg.res);
             comHead.m_loaBorder.url = ResPathUtil.GetHeadBorderPath(headBorderCfg.res);
-            UI_ComHead.ProxyEnd();
+            UI_ComHead3.ProxyEnd();
 
         }
         public void UpdateArenaNpcHead(GComponent component, string res)
@@ -234,11 +279,11 @@ namespace GFGGame
                 }
                 else if (GetPosType(i) == MonthCardType.Gold && !RoleDataManager.CheckIsMonthCardOpenByType(MonthCardType.Gold))
                 {
-                    posItems[i] = "灵犀卡开启";
+                    posItems[i] = "豆包卡开启";
                 }
                 else if (GetPosType(i) == MonthCardType.BlackGold && !RoleDataManager.CheckIsMonthCardOpenByType(MonthCardType.BlackGold))
                 {
-                    posItems[i] = "璇玑卡开启";
+                    posItems[i] = "阿福卡开启";
                 }
             }
             return posItems;

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

@@ -203,7 +203,7 @@ namespace GFGGame
             }
             else if (shopCfg.lockType == LockType.MONTH_CARD_TYPE)
             {
-                return string.Format("开通{0}解锁", shopCfg.lockValue == MonthCardType.Gold ? "灵犀卡" : "璇玑卡");
+                return string.Format("开通{0}解锁", shopCfg.lockValue == MonthCardType.Gold ? "豆包卡" : "阿福卡");
             }
             else if (shopCfg.lockType == LockType.AREND_GRADE)
             {

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

@@ -140,7 +140,7 @@ namespace GFGGame
             UI_ListShopItem.ProxyEnd();
         }
 
-        private void OnBtnBugItem(EventContext context)
+        public void OnBtnBugItem(EventContext context)
         {
             ShopCfg cfg = (context.sender as GObject).data as ShopCfg;
             bool isSellOut = cfg.maxBuyNum > 0 && cfg.maxBuyNum - ShopDataManager.Instance.GetGoodsBuyNumById(cfg.id) <= 0;

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Data/TaskDataManager.cs

@@ -1,5 +1,6 @@
 using System.Collections.Generic;
 using System.Linq;
+using System.Threading.Tasks;
 using ET;
 
 namespace GFGGame

+ 4 - 1
GameClient/Assets/Game/HotUpdate/DressUp/SceneController.cs

@@ -11,12 +11,15 @@ namespace GFGGame
 {
     public class SceneController
     {
+        // 临时存主界面路径
+        public static string bgTempRes = ResPathUtil.GetBgImgPath("zjm_1");  
         public static void UpdateMainScene(GameObject sceneObj)
         {
             //背景0
             Transform tf = sceneObj.transform.Find("Bg");
             SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
-            var resPath = ResPathUtil.GetBgImgPath("zjm_1");
+            var resPath = bgTempRes;
+
             SpriteHelper.AddSpriteTo(spr, resPath);
             //角色
             CustomSuitData suitSavedData = CustomSuitDataManager.GetCurrentSuitData();

+ 3 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_BtnBuy.cs → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_BtnBuy.cs

@@ -2,7 +2,7 @@
 
 using FairyGUI;
 
-namespace UI.EnduringGiftBox
+namespace UI.CommonGame
 {
     public partial class UI_BtnBuy
     {
@@ -13,8 +13,8 @@ namespace UI.EnduringGiftBox
         public GLoader m_loaIcon;
         public GTextField m_txtNewPrice;
         public GTextField m_txtSoldOut;
-        public const string URL = "ui://bdi1qe15qqhzy";
-        public const string PACKAGE_NAME = "EnduringGiftBox";
+        public const string URL = "ui://eg2y0ldpqqhzy";
+        public const string PACKAGE_NAME = "CommonGame";
         public const string RES_NAME = "BtnBuy";
         private static UI_BtnBuy _proxy;
 

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

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

+ 3 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_BtnReceive.cs → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_BtnReceive.cs

@@ -2,7 +2,7 @@
 
 using FairyGUI;
 
-namespace UI.EnduringGiftBox
+namespace UI.CommonGame
 {
     public partial class UI_BtnReceive
     {
@@ -10,8 +10,8 @@ namespace UI.EnduringGiftBox
         public GImage m_received;
         public GImage m_receive;
         public GTextField m_txtRec;
-        public const string URL = "ui://bdi1qe15qqhzv";
-        public const string PACKAGE_NAME = "EnduringGiftBox";
+        public const string URL = "ui://eg2y0ldpqqhzv";
+        public const string PACKAGE_NAME = "CommonGame";
         public const string RES_NAME = "BtnReceive";
         private static UI_BtnReceive _proxy;
 

+ 1 - 1
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_BtnReceive.cs.meta → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_BtnReceive.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 2684fe10b61ad624ab7f479ccfbded90
+guid: 9c070671ba8217946867bca4d3a8947e
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 3 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComCurSupplyItem.cs → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComCurSupplyItem.cs

@@ -2,7 +2,7 @@
 
 using FairyGUI;
 
-namespace UI.EnduringGiftBox
+namespace UI.CommonGame
 {
     public partial class UI_ComCurSupplyItem
     {
@@ -16,8 +16,8 @@ namespace UI.EnduringGiftBox
         public GTextField m_txtWeekPrompt;
         public GList m_list;
         public GComponent m_btnIcoWeekPromptTag;
-        public const string URL = "ui://bdi1qe15qqhz11";
-        public const string PACKAGE_NAME = "EnduringGiftBox";
+        public const string URL = "ui://eg2y0ldpqqhz11";
+        public const string PACKAGE_NAME = "CommonGame";
         public const string RES_NAME = "ComCurSupplyItem";
         private static UI_ComCurSupplyItem _proxy;
 

+ 1 - 1
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComCurSupplyItem.cs.meta → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComCurSupplyItem.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 092a2512d4c0ea84ca20a4a5ebd2a3e8
+guid: 2feaedff8bcbb794f88dfe32315423a9
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 3 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComDiscount.cs → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComDiscount.cs

@@ -2,14 +2,14 @@
 
 using FairyGUI;
 
-namespace UI.EnduringGiftBox
+namespace UI.CommonGame
 {
     public partial class UI_ComDiscount
     {
         public GComponent target;
         public GTextField m_txtDiscountNum;
-        public const string URL = "ui://bdi1qe15qqhz1o";
-        public const string PACKAGE_NAME = "EnduringGiftBox";
+        public const string URL = "ui://eg2y0ldpqqhz1o";
+        public const string PACKAGE_NAME = "CommonGame";
         public const string RES_NAME = "ComDiscount";
         private static UI_ComDiscount _proxy;
 

+ 1 - 1
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComDiscount.cs.meta → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComDiscount.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 6d3f7f6dcf5d5654a9714dfcb7c8e88f
+guid: 56119e544377da840a612ab0e85758d2
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 3 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComGouMaiGetText.cs → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComGouMaiGetText.cs

@@ -2,15 +2,15 @@
 
 using FairyGUI;
 
-namespace UI.EnduringGiftBox
+namespace UI.CommonGame
 {
     public partial class UI_ComGouMaiGetText
     {
         public GComponent target;
         public GLoader m_loaIcon;
         public GTextField m_txtGetGold;
-        public const string URL = "ui://bdi1qe15qqhz1r";
-        public const string PACKAGE_NAME = "EnduringGiftBox";
+        public const string URL = "ui://eg2y0ldpqqhz1r";
+        public const string PACKAGE_NAME = "CommonGame";
         public const string RES_NAME = "ComGouMaiGetText";
         private static UI_ComGouMaiGetText _proxy;
 

+ 1 - 1
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComGouMaiGetText.cs.meta → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComGouMaiGetText.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: b8656719029ba1546bc435ca78e27a5c
+guid: 7dbb0505aa259c8418f8db917ff0351f
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 81 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComHead3.cs

@@ -0,0 +1,81 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.CommonGame
+{
+    public partial class UI_ComHead3
+    {
+        public GComponent target;
+        public Controller m_c1;
+        public Controller m_c2;
+        public UI_ComHeadIcon m_comHead;
+        public GLoader m_loaBorder;
+        public const string URL = "ui://eg2y0ldpp4yntr6";
+        public const string PACKAGE_NAME = "CommonGame";
+        public const string RES_NAME = "ComHead3";
+        private static UI_ComHead3 _proxy;
+
+        public static UI_ComHead3 Create(GObject gObject = null)
+        {
+            var ui = new UI_ComHead3();
+            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_ComHead3 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ComHead3();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_c1 = comp.GetController("c1");
+            m_c2 = comp.GetController("c2");
+            m_comHead = (UI_ComHeadIcon)UI_ComHeadIcon.Create(comp.GetChild("comHead"));
+            m_loaBorder = (GLoader)comp.GetChild("loaBorder");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_c2 = null;
+            m_comHead.Dispose();
+            m_comHead = null;
+            m_loaBorder = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

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

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

+ 3 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComLeftGiftBox.cs → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComLeftGiftBox.cs

@@ -2,7 +2,7 @@
 
 using FairyGUI;
 
-namespace UI.EnduringGiftBox
+namespace UI.CommonGame
 {
     public partial class UI_ComLeftGiftBox
     {
@@ -10,8 +10,8 @@ namespace UI.EnduringGiftBox
         public GLoader m_loaIcon;
         public UI_ComDiscount m_comDiscount;
         public UI_ComGouMaiGetText m_comGouMaiGetText;
-        public const string URL = "ui://bdi1qe15qqhz1q";
-        public const string PACKAGE_NAME = "EnduringGiftBox";
+        public const string URL = "ui://eg2y0ldpqqhz1q";
+        public const string PACKAGE_NAME = "CommonGame";
         public const string RES_NAME = "ComLeftGiftBox";
         private static UI_ComLeftGiftBox _proxy;
 

+ 1 - 1
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComLeftGiftBox.cs.meta → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComLeftGiftBox.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 755ea422436d8d243bcf99b8333717a1
+guid: 42f42acaedcc68b4caa8367d0edd03b0
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 3 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComSpecialOfferGiftBoxItem.cs → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComSpecialOfferGiftBoxItem.cs

@@ -2,7 +2,7 @@
 
 using FairyGUI;
 
-namespace UI.EnduringGiftBox
+namespace UI.CommonGame
 {
     public partial class UI_ComSpecialOfferGiftBoxItem
     {
@@ -17,8 +17,8 @@ namespace UI.EnduringGiftBox
         public GList m_list;
         public GGraph m_holderZheKou;
         public Transition m_t0;
-        public const string URL = "ui://bdi1qe15yjmk37";
-        public const string PACKAGE_NAME = "EnduringGiftBox";
+        public const string URL = "ui://eg2y0ldpyjmk37";
+        public const string PACKAGE_NAME = "CommonGame";
         public const string RES_NAME = "ComSpecialOfferGiftBoxItem";
         private static UI_ComSpecialOfferGiftBoxItem _proxy;
 

+ 1 - 1
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComSpecialOfferGiftBoxItem.cs.meta → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComSpecialOfferGiftBoxItem.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: e41dcac9e35c48f41a8d78b5af67e5a4
+guid: 7a77502cc30492640ac787561bbb215b
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

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

@@ -9,8 +9,10 @@ namespace UI.League
         public GButton target;
         public GGraph m_holder;
         public GGraph m_holder1;
+        public GGraph m_Effect;
         public GLoader m_icon1;
         public GLoader m_loaLockIcon;
+        public Transition m_t0;
         public const string URL = "ui://tw70qm9du2u3u";
         public const string PACKAGE_NAME = "League";
         public const string RES_NAME = "ButtonModle2";
@@ -60,15 +62,19 @@ namespace UI.League
         {
             m_holder = (GGraph)comp.GetChild("holder");
             m_holder1 = (GGraph)comp.GetChild("holder1");
+            m_Effect = (GGraph)comp.GetChild("Effect");
             m_icon1 = (GLoader)comp.GetChild("icon1");
             m_loaLockIcon = (GLoader)comp.GetChild("loaLockIcon");
+            m_t0 = comp.GetTransition("t0");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_holder = null;
             m_holder1 = null;
+            m_Effect = null;
             m_icon1 = null;
             m_loaLockIcon = null;
+            m_t0 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

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

@@ -9,8 +9,10 @@ namespace UI.League
         public GButton target;
         public GGraph m_holder;
         public GGraph m_holder1;
+        public GGraph m_Effect;
         public GLoader m_icon1;
         public GLoader m_loaLockIcon;
+        public Transition m_t0;
         public const string URL = "ui://tw70qm9du2u3y";
         public const string PACKAGE_NAME = "League";
         public const string RES_NAME = "ButtonModle3";
@@ -60,15 +62,19 @@ namespace UI.League
         {
             m_holder = (GGraph)comp.GetChild("holder");
             m_holder1 = (GGraph)comp.GetChild("holder1");
+            m_Effect = (GGraph)comp.GetChild("Effect");
             m_icon1 = (GLoader)comp.GetChild("icon1");
             m_loaLockIcon = (GLoader)comp.GetChild("loaLockIcon");
+            m_t0 = comp.GetTransition("t0");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_holder = null;
             m_holder1 = null;
+            m_Effect = null;
             m_icon1 = null;
             m_loaLockIcon = null;
+            m_t0 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

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

@@ -9,9 +9,11 @@ namespace UI.League
         public GButton target;
         public GGraph m_holder;
         public GGraph m_holder1;
+        public GGraph m_Effect;
         public GLoader m_icon1;
         public GLoader m_loaLockIcon;
         public GTextField m_txtTime;
+        public Transition m_t0;
         public const string URL = "ui://tw70qm9du2u310";
         public const string PACKAGE_NAME = "League";
         public const string RES_NAME = "ButtonModle4";
@@ -61,17 +63,21 @@ namespace UI.League
         {
             m_holder = (GGraph)comp.GetChild("holder");
             m_holder1 = (GGraph)comp.GetChild("holder1");
+            m_Effect = (GGraph)comp.GetChild("Effect");
             m_icon1 = (GLoader)comp.GetChild("icon1");
             m_loaLockIcon = (GLoader)comp.GetChild("loaLockIcon");
             m_txtTime = (GTextField)comp.GetChild("txtTime");
+            m_t0 = comp.GetTransition("t0");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_holder = null;
             m_holder1 = null;
+            m_Effect = null;
             m_icon1 = null;
             m_loaLockIcon = null;
             m_txtTime = null;
+            m_t0 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

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

@@ -10,9 +10,11 @@ namespace UI.League
         public Controller m_showText;
         public GGraph m_holder;
         public GGraph m_holder1;
+        public GGraph m_Effect;
         public GLoader m_icon1;
         public GLoader m_loaLockIcon;
         public GTextField m_txtTime;
+        public Transition m_t0;
         public const string URL = "ui://tw70qm9du2u312";
         public const string PACKAGE_NAME = "League";
         public const string RES_NAME = "ButtonModle5";
@@ -63,18 +65,22 @@ namespace UI.League
             m_showText = comp.GetController("showText");
             m_holder = (GGraph)comp.GetChild("holder");
             m_holder1 = (GGraph)comp.GetChild("holder1");
+            m_Effect = (GGraph)comp.GetChild("Effect");
             m_icon1 = (GLoader)comp.GetChild("icon1");
             m_loaLockIcon = (GLoader)comp.GetChild("loaLockIcon");
             m_txtTime = (GTextField)comp.GetChild("txtTime");
+            m_t0 = comp.GetTransition("t0");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_showText = null;
             m_holder = null;
             m_holder1 = null;
+            m_Effect = null;
             m_icon1 = null;
             m_loaLockIcon = null;
             m_txtTime = null;
+            m_t0 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

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

@@ -9,8 +9,10 @@ namespace UI.League
         public GButton target;
         public GGraph m_holder;
         public GGraph m_holder1;
+        public GGraph m_effect;
         public GLoader m_icon1;
         public GLoader m_loaLockIcon;
+        public Transition m_t0;
         public const string URL = "ui://tw70qm9du2u314";
         public const string PACKAGE_NAME = "League";
         public const string RES_NAME = "ButtonModle6";
@@ -60,15 +62,19 @@ namespace UI.League
         {
             m_holder = (GGraph)comp.GetChild("holder");
             m_holder1 = (GGraph)comp.GetChild("holder1");
+            m_effect = (GGraph)comp.GetChild("effect");
             m_icon1 = (GLoader)comp.GetChild("icon1");
             m_loaLockIcon = (GLoader)comp.GetChild("loaLockIcon");
+            m_t0 = comp.GetTransition("t0");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_holder = null;
             m_holder1 = null;
+            m_effect = null;
             m_icon1 = null;
             m_loaLockIcon = null;
+            m_t0 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

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

@@ -9,8 +9,10 @@ namespace UI.League
         public GButton target;
         public GGraph m_holder;
         public GGraph m_holder1;
+        public GGraph m_Effect;
         public GLoader m_icon1;
         public GLoader m_loaLockIcon;
+        public Transition m_t0;
         public const string URL = "ui://tw70qm9du2u316";
         public const string PACKAGE_NAME = "League";
         public const string RES_NAME = "ButtonModle7";
@@ -60,15 +62,19 @@ namespace UI.League
         {
             m_holder = (GGraph)comp.GetChild("holder");
             m_holder1 = (GGraph)comp.GetChild("holder1");
+            m_Effect = (GGraph)comp.GetChild("Effect");
             m_icon1 = (GLoader)comp.GetChild("icon1");
             m_loaLockIcon = (GLoader)comp.GetChild("loaLockIcon");
+            m_t0 = comp.GetTransition("t0");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_holder = null;
             m_holder1 = null;
+            m_Effect = null;
             m_icon1 = null;
             m_loaLockIcon = null;
+            m_t0 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_CompStoryLevelItem.cs

@@ -20,6 +20,7 @@ namespace UI.Main
         public UI_CompFlower2 m_flower;
         public GGraph m_holder;
         public Transition m_t0;
+        public Transition m_t1;
         public const string URL = "ui://mfvz4q8ko4m7fqd";
         public const string PACKAGE_NAME = "Main";
         public const string RES_NAME = "CompStoryLevelItem";
@@ -80,6 +81,7 @@ namespace UI.Main
             m_flower = (UI_CompFlower2)UI_CompFlower2.Create(comp.GetChild("flower"));
             m_holder = (GGraph)comp.GetChild("holder");
             m_t0 = comp.GetTransition("t0");
+            m_t1 = comp.GetTransition("t1");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -98,6 +100,7 @@ namespace UI.Main
             m_flower = null;
             m_holder = null;
             m_t0 = null;
+            m_t1 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_MainUI.cs

@@ -7,6 +7,8 @@ namespace UI.Main
     public partial class UI_MainUI
     {
         public GComponent target;
+        public Controller m_type;
+        public GLoader m_loaBg;
         public GComponent m_valueBar;
         public GTextField m_grpLeaguetext;
         public GGroup m_grpLeagueTips;
@@ -83,6 +85,8 @@ namespace UI.Main
 
         private void Init(GComponent comp)
         {
+            m_type = comp.GetController("type");
+            m_loaBg = (GLoader)comp.GetChild("loaBg");
             m_valueBar = (GComponent)comp.GetChild("valueBar");
             m_grpLeaguetext = (GTextField)comp.GetChild("grpLeaguetext");
             m_grpLeagueTips = (GGroup)comp.GetChild("grpLeagueTips");
@@ -115,6 +119,8 @@ namespace UI.Main
         }
         public void Dispose(bool disposeTarget = false)
         {
+            m_type = null;
+            m_loaBg = null;
             m_valueBar = null;
             m_grpLeaguetext = null;
             m_grpLeagueTips = null;

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_StoryChapterUI.cs

@@ -25,6 +25,7 @@ namespace UI.Main
         public UI_CompBonusBox m_bonusBox1;
         public GTextField m_txtStarCount;
         public GLoader m_switchChapter;
+        public Transition m_t0;
         public const string URL = "ui://mfvz4q8km7n51u";
         public const string PACKAGE_NAME = "Main";
         public const string RES_NAME = "StoryChapterUI";
@@ -90,6 +91,7 @@ namespace UI.Main
             m_bonusBox1 = (UI_CompBonusBox)UI_CompBonusBox.Create(comp.GetChild("bonusBox1"));
             m_txtStarCount = (GTextField)comp.GetChild("txtStarCount");
             m_switchChapter = (GLoader)comp.GetChild("switchChapter");
+            m_t0 = comp.GetTransition("t0");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -115,6 +117,7 @@ namespace UI.Main
             m_bonusBox1 = null;
             m_txtStarCount = null;
             m_switchChapter = null;
+            m_t0 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 86 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_Button2.cs

@@ -0,0 +1,86 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.RoleInfo
+{
+    public partial class UI_Button2
+    {
+        public GButton target;
+        public Controller m_type;
+        public GLoader m_bg;
+        public GLoader m_progressBg;
+        public GLoader m_progressBar;
+        public GTextField m_rate;
+        public GTextField m_name;
+        public const string URL = "ui://374k3dwvr9ri1j";
+        public const string PACKAGE_NAME = "RoleInfo";
+        public const string RES_NAME = "Button2";
+        private static UI_Button2 _proxy;
+
+        public static UI_Button2 Create(GObject gObject = null)
+        {
+            var ui = new UI_Button2();
+            if(gObject == null)
+            	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GButton)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_Button2 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_Button2();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GButton)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_type = comp.GetController("type");
+            m_bg = (GLoader)comp.GetChild("bg");
+            m_progressBg = (GLoader)comp.GetChild("progressBg");
+            m_progressBar = (GLoader)comp.GetChild("progressBar");
+            m_rate = (GTextField)comp.GetChild("rate");
+            m_name = (GTextField)comp.GetChild("name");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_type = null;
+            m_bg = null;
+            m_progressBg = null;
+            m_progressBar = null;
+            m_rate = null;
+            m_name = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_Button2.cs.meta

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

+ 71 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_ButtonBadge.cs

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

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_ButtonBadge.cs.meta

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

+ 3 - 6
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_ListPhotoItem.cs

@@ -7,10 +7,9 @@ namespace UI.RoleInfo
     public partial class UI_ListPhotoItem
     {
         public GComponent target;
-        public GImage m_imgNone;
+        public Controller m_type;
         public UI_ComPhoto m_comPhoto;
         public GTextField m_txtLock;
-        public GGroup m_grpLock;
         public const string URL = "ui://374k3dwvr9ri1m";
         public const string PACKAGE_NAME = "RoleInfo";
         public const string RES_NAME = "ListPhotoItem";
@@ -58,18 +57,16 @@ namespace UI.RoleInfo
 
         private void Init(GComponent comp)
         {
-            m_imgNone = (GImage)comp.GetChild("imgNone");
+            m_type = comp.GetController("type");
             m_comPhoto = (UI_ComPhoto)UI_ComPhoto.Create(comp.GetChild("comPhoto"));
             m_txtLock = (GTextField)comp.GetChild("txtLock");
-            m_grpLock = (GGroup)comp.GetChild("grpLock");
         }
         public void Dispose(bool disposeTarget = false)
         {
-            m_imgNone = null;
+            m_type = null;
             m_comPhoto.Dispose();
             m_comPhoto = null;
             m_txtLock = null;
-            m_grpLock = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 86 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_MainBgChooseUI.cs

@@ -0,0 +1,86 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.RoleInfo
+{
+    public partial class UI_MainBgChooseUI
+    {
+        public GComponent target;
+        public GLoader m_loaBg;
+        public GComponent m_mainUIShow;
+        public GButton m_btnBack;
+        public GList m_bgList;
+        public GButton m_btnChange;
+        public Transition m_openViewAction;
+        public const string URL = "ui://374k3dwvc4t79fvz";
+        public const string PACKAGE_NAME = "RoleInfo";
+        public const string RES_NAME = "MainBgChooseUI";
+        private static UI_MainBgChooseUI _proxy;
+
+        public static UI_MainBgChooseUI Create(GObject gObject = null)
+        {
+            var ui = new UI_MainBgChooseUI();
+            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_MainBgChooseUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_MainBgChooseUI();
+            }
+            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_loaBg = (GLoader)comp.GetChild("loaBg");
+            m_mainUIShow = (GComponent)comp.GetChild("mainUIShow");
+            m_btnBack = (GButton)comp.GetChild("btnBack");
+            m_bgList = (GList)comp.GetChild("bgList");
+            m_btnChange = (GButton)comp.GetChild("btnChange");
+            m_openViewAction = comp.GetTransition("openViewAction");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_loaBg = null;
+            m_mainUIShow = null;
+            m_btnBack = null;
+            m_bgList = null;
+            m_btnChange = null;
+            m_openViewAction = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_MainBgChooseUI.cs.meta

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

+ 3 - 2
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_OtherRoleInfoUI.cs

@@ -14,7 +14,7 @@ namespace UI.RoleInfo
         public GTextField m_txtRoleName;
         public GTextField m_txtSlogan;
         public GGroup m_grpHead;
-        public GButton m_btnFieldGuide;
+        public UI_Button2 m_btnFieldGuide;
         public GList m_list;
         public const string URL = "ui://374k3dwvv95qg2";
         public const string PACKAGE_NAME = "RoleInfo";
@@ -70,7 +70,7 @@ namespace UI.RoleInfo
             m_txtRoleName = (GTextField)comp.GetChild("txtRoleName");
             m_txtSlogan = (GTextField)comp.GetChild("txtSlogan");
             m_grpHead = (GGroup)comp.GetChild("grpHead");
-            m_btnFieldGuide = (GButton)comp.GetChild("btnFieldGuide");
+            m_btnFieldGuide = (UI_Button2)UI_Button2.Create(comp.GetChild("btnFieldGuide"));
             m_list = (GList)comp.GetChild("list");
         }
         public void Dispose(bool disposeTarget = false)
@@ -82,6 +82,7 @@ namespace UI.RoleInfo
             m_txtRoleName = null;
             m_txtSlogan = null;
             m_grpHead = null;
+            m_btnFieldGuide.Dispose();
             m_btnFieldGuide = null;
             m_list = null;
             if(disposeTarget && target != null)

+ 33 - 9
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_RoleInfoUI.cs

@@ -11,16 +11,23 @@ namespace UI.RoleInfo
         public GTextField m_txtVersion;
         public GButton m_btnHelp;
         public GButton m_btnBack;
+        public GTextField m_leagueName;
         public GComponent m_comHead;
-        public GTextField m_txtLvl;
         public GTextField m_txtExp;
+        public GTextField m_txtLvl;
         public GTextField m_txtRoleName;
         public GLoader m_loaChangeName;
         public GTextInput m_txtSlogan;
         public GGroup m_grpHead;
-        public GButton m_btnFieldGuide;
-        public GList m_list;
+        public UI_Button2 m_btnSuitGuide;
+        public UI_Button2 m_btnCardGuide;
+        public UI_Button2 m_btnTaskArchieveGuide;
+        public GList m_badgeList;
+        public GGroup m_center;
+        public GList m_photoList;
         public GButton m_btnSkill;
+        public GTextField m_txtRoleID;
+        public GButton m_btnCopy;
         public GButton m_btnSetting;
         public const string URL = "ui://374k3dwvd4iw6k";
         public const string PACKAGE_NAME = "RoleInfo";
@@ -73,16 +80,23 @@ namespace UI.RoleInfo
             m_txtVersion = (GTextField)comp.GetChild("txtVersion");
             m_btnHelp = (GButton)comp.GetChild("btnHelp");
             m_btnBack = (GButton)comp.GetChild("btnBack");
+            m_leagueName = (GTextField)comp.GetChild("leagueName");
             m_comHead = (GComponent)comp.GetChild("comHead");
-            m_txtLvl = (GTextField)comp.GetChild("txtLvl");
             m_txtExp = (GTextField)comp.GetChild("txtExp");
+            m_txtLvl = (GTextField)comp.GetChild("txtLvl");
             m_txtRoleName = (GTextField)comp.GetChild("txtRoleName");
             m_loaChangeName = (GLoader)comp.GetChild("loaChangeName");
             m_txtSlogan = (GTextInput)comp.GetChild("txtSlogan");
             m_grpHead = (GGroup)comp.GetChild("grpHead");
-            m_btnFieldGuide = (GButton)comp.GetChild("btnFieldGuide");
-            m_list = (GList)comp.GetChild("list");
+            m_btnSuitGuide = (UI_Button2)UI_Button2.Create(comp.GetChild("btnSuitGuide"));
+            m_btnCardGuide = (UI_Button2)UI_Button2.Create(comp.GetChild("btnCardGuide"));
+            m_btnTaskArchieveGuide = (UI_Button2)UI_Button2.Create(comp.GetChild("btnTaskArchieveGuide"));
+            m_badgeList = (GList)comp.GetChild("badgeList");
+            m_center = (GGroup)comp.GetChild("center");
+            m_photoList = (GList)comp.GetChild("photoList");
             m_btnSkill = (GButton)comp.GetChild("btnSkill");
+            m_txtRoleID = (GTextField)comp.GetChild("txtRoleID");
+            m_btnCopy = (GButton)comp.GetChild("btnCopy");
             m_btnSetting = (GButton)comp.GetChild("btnSetting");
         }
         public void Dispose(bool disposeTarget = false)
@@ -91,16 +105,26 @@ namespace UI.RoleInfo
             m_txtVersion = null;
             m_btnHelp = null;
             m_btnBack = null;
+            m_leagueName = null;
             m_comHead = null;
-            m_txtLvl = null;
             m_txtExp = null;
+            m_txtLvl = null;
             m_txtRoleName = null;
             m_loaChangeName = null;
             m_txtSlogan = null;
             m_grpHead = null;
-            m_btnFieldGuide = null;
-            m_list = null;
+            m_btnSuitGuide.Dispose();
+            m_btnSuitGuide = null;
+            m_btnCardGuide.Dispose();
+            m_btnCardGuide = null;
+            m_btnTaskArchieveGuide.Dispose();
+            m_btnTaskArchieveGuide = null;
+            m_badgeList = null;
+            m_center = null;
+            m_photoList = null;
             m_btnSkill = null;
+            m_txtRoleID = null;
+            m_btnCopy = null;
             m_btnSetting = null;
             if(disposeTarget && target != null)
             {

+ 114 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_RoleInfoUI_old.cs

@@ -0,0 +1,114 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.RoleInfo
+{
+    public partial class UI_RoleInfoUI_old
+    {
+        public GComponent target;
+        public GLoader m_loaBg;
+        public GTextField m_txtVersion;
+        public GButton m_btnHelp;
+        public GButton m_btnBack;
+        public GComponent m_comHead;
+        public GTextField m_txtLvl;
+        public GTextField m_txtExp;
+        public GTextField m_txtRoleName;
+        public GLoader m_loaChangeName;
+        public GTextInput m_txtSlogan;
+        public GGroup m_grpHead;
+        public UI_Button2 m_btnFieldGuide;
+        public GList m_list;
+        public GButton m_btnSkill;
+        public GButton m_btnSetting;
+        public const string URL = "ui://374k3dwvp4yn9fw1";
+        public const string PACKAGE_NAME = "RoleInfo";
+        public const string RES_NAME = "RoleInfoUI_old";
+        private static UI_RoleInfoUI_old _proxy;
+
+        public static UI_RoleInfoUI_old Create(GObject gObject = null)
+        {
+            var ui = new UI_RoleInfoUI_old();
+            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_RoleInfoUI_old Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_RoleInfoUI_old();
+            }
+            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_loaBg = (GLoader)comp.GetChild("loaBg");
+            m_txtVersion = (GTextField)comp.GetChild("txtVersion");
+            m_btnHelp = (GButton)comp.GetChild("btnHelp");
+            m_btnBack = (GButton)comp.GetChild("btnBack");
+            m_comHead = (GComponent)comp.GetChild("comHead");
+            m_txtLvl = (GTextField)comp.GetChild("txtLvl");
+            m_txtExp = (GTextField)comp.GetChild("txtExp");
+            m_txtRoleName = (GTextField)comp.GetChild("txtRoleName");
+            m_loaChangeName = (GLoader)comp.GetChild("loaChangeName");
+            m_txtSlogan = (GTextInput)comp.GetChild("txtSlogan");
+            m_grpHead = (GGroup)comp.GetChild("grpHead");
+            m_btnFieldGuide = (UI_Button2)UI_Button2.Create(comp.GetChild("btnFieldGuide"));
+            m_list = (GList)comp.GetChild("list");
+            m_btnSkill = (GButton)comp.GetChild("btnSkill");
+            m_btnSetting = (GButton)comp.GetChild("btnSetting");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_loaBg = null;
+            m_txtVersion = null;
+            m_btnHelp = null;
+            m_btnBack = null;
+            m_comHead = null;
+            m_txtLvl = null;
+            m_txtExp = null;
+            m_txtRoleName = null;
+            m_loaChangeName = null;
+            m_txtSlogan = null;
+            m_grpHead = null;
+            m_btnFieldGuide.Dispose();
+            m_btnFieldGuide = null;
+            m_list = null;
+            m_btnSkill = null;
+            m_btnSetting = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_RoleInfoUI_old.cs.meta

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

+ 18 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_SettingUI.cs

@@ -12,8 +12,14 @@ namespace UI.RoleInfo
         public GGraph m_holderRightDowm;
         public GButton m_btnLogout;
         public GButton m_btnExit;
+        public GSlider m_musicSlider;
         public GButton m_btnMusic;
         public GButton m_btnSound;
+        public GSlider m_soundSlider;
+        public GSlider m_voiceSlider;
+        public GButton m_btnVoice;
+        public GButton m_btnChooseMainBg;
+        public Transition m_t0;
         public const string URL = "ui://374k3dwvr9ri1";
         public const string PACKAGE_NAME = "RoleInfo";
         public const string RES_NAME = "SettingUI";
@@ -66,8 +72,14 @@ namespace UI.RoleInfo
             m_holderRightDowm = (GGraph)comp.GetChild("holderRightDowm");
             m_btnLogout = (GButton)comp.GetChild("btnLogout");
             m_btnExit = (GButton)comp.GetChild("btnExit");
+            m_musicSlider = (GSlider)comp.GetChild("musicSlider");
             m_btnMusic = (GButton)comp.GetChild("btnMusic");
             m_btnSound = (GButton)comp.GetChild("btnSound");
+            m_soundSlider = (GSlider)comp.GetChild("soundSlider");
+            m_voiceSlider = (GSlider)comp.GetChild("voiceSlider");
+            m_btnVoice = (GButton)comp.GetChild("btnVoice");
+            m_btnChooseMainBg = (GButton)comp.GetChild("btnChooseMainBg");
+            m_t0 = comp.GetTransition("t0");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -76,8 +88,14 @@ namespace UI.RoleInfo
             m_holderRightDowm = null;
             m_btnLogout = null;
             m_btnExit = null;
+            m_musicSlider = null;
             m_btnMusic = null;
             m_btnSound = null;
+            m_soundSlider = null;
+            m_voiceSlider = null;
+            m_btnVoice = null;
+            m_btnChooseMainBg = null;
+            m_t0 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 89 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_SettingUI_old.cs

@@ -0,0 +1,89 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.RoleInfo
+{
+    public partial class UI_SettingUI_old
+    {
+        public GComponent target;
+        public GImage m_bg;
+        public GGraph m_holderLeftTop;
+        public GGraph m_holderRightDowm;
+        public GButton m_btnLogout;
+        public GButton m_btnExit;
+        public GButton m_btnMusic;
+        public GButton m_btnSound;
+        public const string URL = "ui://374k3dwvc4t7gr";
+        public const string PACKAGE_NAME = "RoleInfo";
+        public const string RES_NAME = "SettingUI_old";
+        private static UI_SettingUI_old _proxy;
+
+        public static UI_SettingUI_old Create(GObject gObject = null)
+        {
+            var ui = new UI_SettingUI_old();
+            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_SettingUI_old Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_SettingUI_old();
+            }
+            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_bg = (GImage)comp.GetChild("bg");
+            m_holderLeftTop = (GGraph)comp.GetChild("holderLeftTop");
+            m_holderRightDowm = (GGraph)comp.GetChild("holderRightDowm");
+            m_btnLogout = (GButton)comp.GetChild("btnLogout");
+            m_btnExit = (GButton)comp.GetChild("btnExit");
+            m_btnMusic = (GButton)comp.GetChild("btnMusic");
+            m_btnSound = (GButton)comp.GetChild("btnSound");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_bg = null;
+            m_holderLeftTop = null;
+            m_holderRightDowm = null;
+            m_btnLogout = null;
+            m_btnExit = null;
+            m_btnMusic = null;
+            m_btnSound = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_SettingUI_old.cs.meta

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

+ 74 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_bgItem.cs

@@ -0,0 +1,74 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.RoleInfo
+{
+    public partial class UI_bgItem
+    {
+        public GButton target;
+        public GLoader m_bgImg;
+        public GGraph m_mask;
+        public const string URL = "ui://374k3dwvc4t7gv";
+        public const string PACKAGE_NAME = "RoleInfo";
+        public const string RES_NAME = "bgItem";
+        private static UI_bgItem _proxy;
+
+        public static UI_bgItem Create(GObject gObject = null)
+        {
+            var ui = new UI_bgItem();
+            if(gObject == null)
+            	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GButton)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_bgItem Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_bgItem();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GButton)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_bgImg = (GLoader)comp.GetChild("bgImg");
+            m_mask = (GGraph)comp.GetChild("mask");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_bgImg = null;
+            m_mask = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_bgItem.cs.meta

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

+ 74 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreGiftBagAddRebateUI.cs

@@ -0,0 +1,74 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Store
+{
+    public partial class UI_StoreGiftBagAddRebateUI
+    {
+        public GComponent target;
+        public GList m_rebateList;
+        public GComponent m_valueBar;
+        public const string URL = "ui://p9mtgheomxaite2";
+        public const string PACKAGE_NAME = "Store";
+        public const string RES_NAME = "StoreGiftBagAddRebateUI";
+        private static UI_StoreGiftBagAddRebateUI _proxy;
+
+        public static UI_StoreGiftBagAddRebateUI Create(GObject gObject = null)
+        {
+            var ui = new UI_StoreGiftBagAddRebateUI();
+            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_StoreGiftBagAddRebateUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_StoreGiftBagAddRebateUI();
+            }
+            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_rebateList = (GList)comp.GetChild("rebateList");
+            m_valueBar = (GComponent)comp.GetChild("valueBar");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_rebateList = null;
+            m_valueBar = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreGiftBagAddRebateUI.cs.meta

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

+ 98 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Studio/UI_StudioActivityUI.cs

@@ -0,0 +1,98 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Studio
+{
+    public partial class UI_StudioActivityUI
+    {
+        public GComponent target;
+        public GLoader m_Bg;
+        public GComponent m_comValueBar;
+        public GButton m_btnBack;
+        public GLoader m_btnChageLine;
+        public GLoader m_loaBg;
+        public GTextField m_activityTitle;
+        public GList m_list;
+        public GButton m_btnReward;
+        public GTextField m_activityTipText;
+        public GTextField m_txtNum;
+        public const string URL = "ui://xz8kxrecp4yn5h";
+        public const string PACKAGE_NAME = "Studio";
+        public const string RES_NAME = "StudioActivityUI";
+        private static UI_StudioActivityUI _proxy;
+
+        public static UI_StudioActivityUI Create(GObject gObject = null)
+        {
+            var ui = new UI_StudioActivityUI();
+            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_StudioActivityUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_StudioActivityUI();
+            }
+            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_Bg = (GLoader)comp.GetChild("Bg");
+            m_comValueBar = (GComponent)comp.GetChild("comValueBar");
+            m_btnBack = (GButton)comp.GetChild("btnBack");
+            m_btnChageLine = (GLoader)comp.GetChild("btnChageLine");
+            m_loaBg = (GLoader)comp.GetChild("loaBg");
+            m_activityTitle = (GTextField)comp.GetChild("activityTitle");
+            m_list = (GList)comp.GetChild("list");
+            m_btnReward = (GButton)comp.GetChild("btnReward");
+            m_activityTipText = (GTextField)comp.GetChild("activityTipText");
+            m_txtNum = (GTextField)comp.GetChild("txtNum");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_Bg = null;
+            m_comValueBar = null;
+            m_btnBack = null;
+            m_btnChageLine = null;
+            m_loaBg = null;
+            m_activityTitle = null;
+            m_list = null;
+            m_btnReward = null;
+            m_activityTipText = null;
+            m_txtNum = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Studio/UI_StudioActivityUI.cs.meta

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

+ 0 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Studio/UI_StudioFilingUI.cs

@@ -14,7 +14,6 @@ namespace UI.Studio
         public GButton m_btnChange;
         public GLoader m_btnChageLine;
         public GLoader m_loaBg;
-        public GTextField m_activityTitle;
         public GList m_list;
         public GButton m_btnReward;
         public GButton m_btnSuit;
@@ -78,7 +77,6 @@ namespace UI.Studio
             m_btnChange = (GButton)comp.GetChild("btnChange");
             m_btnChageLine = (GLoader)comp.GetChild("btnChageLine");
             m_loaBg = (GLoader)comp.GetChild("loaBg");
-            m_activityTitle = (GTextField)comp.GetChild("activityTitle");
             m_list = (GList)comp.GetChild("list");
             m_btnReward = (GButton)comp.GetChild("btnReward");
             m_btnSuit = (GButton)comp.GetChild("btnSuit");
@@ -98,7 +96,6 @@ namespace UI.Studio
             m_btnChange = null;
             m_btnChageLine = null;
             m_loaBg = null;
-            m_activityTitle = null;
             m_list = null;
             m_btnReward = null;
             m_btnSuit = null;

+ 2 - 1
GameClient/Assets/Game/HotUpdate/Game.HotUpdate.asmdef

@@ -5,7 +5,8 @@
         "GUID:065d51621aad9d6498c45bc251a1d8e4",
         "GUID:7a41fac89c3ce014e99efb3723e6a98e",
         "GUID:e34a5702dd353724aa315fb8011f08c3",
-        "GUID:b0a84d582f6a6fa4185f67ce934d99c2"
+        "GUID:b0a84d582f6a6fa4185f67ce934d99c2",
+        "GUID:6e5063adab271564ba0098a06a8cebda"
     ],
     "includePlatforms": [],
     "excludePlatforms": [],

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Views/ActivityThemeLuckyBox/ActivityThemeLuckyBoxView.cs

@@ -98,7 +98,7 @@ namespace GFGGame
         }
         private void OnBtnChapterClick()
         {
-            ViewManager.Show<StudioFilingView>(StudioDataManager.Instance.GetLuckyBoxActivityID());
+            ViewManager.Show<StudioActivityView>();
         }
         private void OnBtnLuckyBoxClick()
         {
@@ -110,7 +110,7 @@ namespace GFGGame
 
         private void OnBtnShopClick()
         {
-            ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_GIFT_BAG, ConstStoreSubId.STORE_GIFT_BAG_ACTIVITY });
+            ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_EXCHANGE, ConstStoreSubId.STORE_ACTIVITY_EXCHANGE });
         }
 
         private void UpdateTime(object param = null)

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

@@ -238,7 +238,7 @@ namespace GFGGame
 
         private void ChangeModelAlpha(int index, float value)
         {
-            if (modelInfos[index].cubismModels == null)
+            if (modelInfos[index] == null || modelInfos[index].cubismModels == null)
             {
                 return;
             }

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

@@ -228,7 +228,7 @@ namespace GFGGame
                             StudioDataManager.Instance.npcFilingChapterId = studioCfg.id;
                             if (StudioDataManager.Instance.IsluckyBoxFilingChapter())
                             {
-                                ViewManager.Show<StudioFilingView>(studioCfg.id);
+                                ViewManager.Show<StudioActivityView>();
                             }
                             else
                             {

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

@@ -50,7 +50,7 @@ namespace GFGGame
         {
             ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(GlobalCfgArray.globalCfg.costIdBuyFightTimes);
 
-            _ui.m_txtMessage.text = string.Format("是否使用{0}{1}增加1次飞花令挑战次数? \n\u3000\u3000\u3000\u3000(开通璇玑卡可储存次数)", GlobalCfgArray.globalCfg.costNumBuyFightTimes, itemCfg.name);
+            _ui.m_txtMessage.text = string.Format("是否使用{0}{1}增加1次飞花令挑战次数? \n\u3000\u3000\u3000\u3000(开通阿福卡可储存次数)", GlobalCfgArray.globalCfg.costNumBuyFightTimes, itemCfg.name);
             _ui.m_txtTips.text = string.Format("(今天已购买{0}/{1}次)", GlobalCfgArray.globalCfg.limitDailyBuyFightTimes - RoleDataManager.ArenaBuyFightTimes, GlobalCfgArray.globalCfg.limitDailyBuyFightTimes);
         }
         private void OnClickBtnSure()

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

@@ -436,6 +436,7 @@ namespace GFGGame
 
         private void OnClickBtnSave()
         {
+            //SceneController.bgTempRes = ResPathUtil.GetSceneBgPath(ItemCfgArray.Instance.GetCfg(MyDressUpHelper.dressUpObj.bgId).res);
             CustomSuitDataManager.SaveCurrentSuit(_ui.m_comboBox.selectedIndex);
         }
 

+ 98 - 37
GameClient/Assets/Game/HotUpdate/Views/DressUp/PhotographSaveView.cs

@@ -1,8 +1,4 @@
-using System;
-using System.Collections;
 using System.Collections.Generic;
-using System.IO;
-using System.Threading.Tasks;
 using ET;
 using FairyGUI;
 using UI.DressUp;
@@ -65,50 +61,115 @@ namespace GFGGame
 
         private void OnClickBtnSave()
         {
-            //检查用户是否已授予对需要授权的设备资源或信息的访问权。
-            if (!Permission.HasUserAuthorizedPermission(Permission.ExternalStorageWrite))
+#if UNITY_EDITOR
+            PromptController.Instance.ShowFloatTextPrompt("此功能只能在移动端使用!");
+#else
+            CheckSaveLocal();
+#endif
+        }
+
+        private async void CheckSaveLocal()
+        {
+            string permissionName = "存储";
+#if UNITY_IOS
+                string permissionName = "相册";
+#endif
+            NativeGallery.Permission permission = NativeGallery.CheckPermission(NativeGallery.PermissionType.Write, NativeGallery.MediaType.Image);
+            Debug.Log("Permission result: " + permission);
+
+            if(permission.Equals(NativeGallery.Permission.Denied))
             {
-                if (LocalCache.GetBool(GameConst.WRITE_EXTERNAL_STORAGE_FORBIDDEN, false))
+                string tips = $"保存至本地需要使用{permissionName}权限,您已经禁止!请前往手机系统设置开启应用的{permissionName}权限。";
+                if (NativeGallery.CanOpenSettings())
                 {
-                    AlertSystem.Show("保存至本地需要使用存储权限,您已经禁止!请前往手机系统设置开启应用存储权限。")
-                            .SetLeftButton(true, "知道了");
-                    return;
+                    AlertSystem.Show(tips)
+                                .SetLeftButton(true, "前往", (data) => { NativeGallery.OpenSettings(); })
+                                .SetRightButton(true, "拒绝");
                 }
-                PromptController.Instance.ShowFloatTextPrompt("保存至本地需要使用存储权限,请同意!");
-                //请求用户授权访问需要授权的设备资源或信息.
-                PermissionCallbacks permissionCallbacks = new PermissionCallbacks();
-                permissionCallbacks.PermissionGranted += (string a) =>
-                {
-                    TrySavePicturoToLocal();
-                };
-                permissionCallbacks.PermissionDenied += (string a) =>
-                {
-                    PromptController.Instance.ShowFloatTextPrompt("由于被禁止存储权限,保存失败!");
-                };
-                permissionCallbacks.PermissionDeniedAndDontAskAgain += (string a) =>
+                else
                 {
-                    LocalCache.SetBool(GameConst.WRITE_EXTERNAL_STORAGE_FORBIDDEN, true);
-                    PromptController.Instance.ShowFloatTextPrompt("由于被禁止存储权限,保存失败!");
-                };
-                Permission.RequestUserPermission(Permission.ExternalStorageWrite, permissionCallbacks);
+                    AlertSystem.Show(tips)
+                            .SetLeftButton(true, "知道了");
+                }
             }
             else
             {
-                LocalCache.SetBool(GameConst.WRITE_EXTERNAL_STORAGE_FORBIDDEN, false);
-                TrySavePicturoToLocal();
-            }
-        }
-
-        private void TrySavePicturoToLocal()
-        {
-            if (Permission.HasUserAuthorizedPermission(Permission.ExternalStorageWrite))
-            {
+                if (permission.Equals(NativeGallery.Permission.ShouldAsk))
+                {
+                    string tips = $"保存至本地需要使用{permissionName}权限,请同意!";
+                    PromptController.Instance.ShowFloatTextPrompt(tips);
+                    permission = await NativeGallery.RequestPermissionAsync(NativeGallery.PermissionType.Write, NativeGallery.MediaType.Image);
+                    //Debug.Log("Permission result: " + permission);
+                    if(!permission.Equals(NativeGallery.Permission.Granted))
+                    {
+                        PromptController.Instance.ShowFloatTextPrompt($"由于被禁止{permissionName}权限,保存失败!");
+                        return;
+                    }
+                }
                 string fileName = "wsj" + TimeHelper.ServerNowSecs + ".jpg";
-                PhotographUtil.Instance.SavePicturoToLocal(bytes, fileName);
-                _ui.m_btnSave.enabled = false;
+                permission = NativeGallery.SaveImageToGallery(bytes, "Wanshijing", fileName, (success, path) => 
+                {
+                    if(success)
+                    {
+                        PromptController.Instance.ShowFloatTextPrompt("已保存至本地!");
+                        _ui.m_btnSave.enabled = false;
+                    }
+                    else
+                    {
+                        PromptController.Instance.ShowFloatTextPrompt("保存失败!");
+                    }
+                });
+
+                //Debug.Log("Permission result: " + permission);
             }
         }
 
+        //private void OnClickBtnSaveBackup()
+        //{
+        //    //检查用户是否已授予对需要授权的设备资源或信息的访问权。
+        //    if (!Permission.HasUserAuthorizedPermission(Permission.ExternalStorageWrite))
+        //    {
+        //        if (LocalCache.GetBool(GameConst.WRITE_EXTERNAL_STORAGE_FORBIDDEN, false))
+        //        {
+        //            AlertSystem.Show("保存至本地需要使用存储权限,您已经禁止!请前往手机系统设置开启应用存储权限。")
+        //                    .SetLeftButton(true, "知道了");
+        //            return;
+        //        }
+        //        PromptController.Instance.ShowFloatTextPrompt("保存至本地需要使用存储权限,请同意!");
+        //        //请求用户授权访问需要授权的设备资源或信息.
+        //        PermissionCallbacks permissionCallbacks = new PermissionCallbacks();
+        //        permissionCallbacks.PermissionGranted += (string a) =>
+        //        {
+        //            TrySavePicturoToLocal();
+        //        };
+        //        permissionCallbacks.PermissionDenied += (string a) =>
+        //        {
+        //            PromptController.Instance.ShowFloatTextPrompt("由于被禁止存储权限,保存失败!");
+        //        };
+        //        permissionCallbacks.PermissionDeniedAndDontAskAgain += (string a) =>
+        //        {
+        //            LocalCache.SetBool(GameConst.WRITE_EXTERNAL_STORAGE_FORBIDDEN, true);
+        //            PromptController.Instance.ShowFloatTextPrompt("由于被禁止存储权限,保存失败!");
+        //        };
+        //        Permission.RequestUserPermission(Permission.ExternalStorageWrite, permissionCallbacks);
+        //    }
+        //    else
+        //    {
+        //        LocalCache.SetBool(GameConst.WRITE_EXTERNAL_STORAGE_FORBIDDEN, false);
+        //        TrySavePicturoToLocal();
+        //    }
+        //}
+
+        //private void TrySavePicturoToLocal()
+        //{
+        //    if (Permission.HasUserAuthorizedPermission(Permission.ExternalStorageWrite))
+        //    {
+        //        string fileName = "wsj" + TimeHelper.ServerNowSecs + ".jpg";
+        //        PhotographUtil.Instance.SavePicturoToLocal(bytes, fileName);
+        //        _ui.m_btnSave.enabled = false;
+        //    }
+        //}
+
         private async void OnClickBtnSavePhoto()
         {
 

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

@@ -449,6 +449,7 @@ namespace GFGGame
                 _equipDistance.Add(memoryHitGameObj, distance);
             }
         }
+
         private void OnTouchBtnSizeMove(EventContext context)
         {
             if (memoryHitGameObj == null) return;

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

@@ -332,6 +332,7 @@ namespace GFGGame
             item.m_list.itemRenderer = ChildListItemRender;
             //item.m_list.onClickItem.Add(OnListSelectorItemClick);
             item.m_list.numItems = numItems;
+            UI_ComCurSupplyItem.ProxyEnd();
         }
 
         //领取按钮点击事件

+ 0 - 2
GameClient/Assets/Game/HotUpdate/Views/EnduringGiftBox/SpecialOfferGiftBoxView.cs

@@ -5,8 +5,6 @@ using ET;
 using FairyGUI;
 using UI.CommonGame;
 using UI.EnduringGiftBox;
-using UnityEngine;
-
 
 namespace GFGGame
 {

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Views/FieldGuide/FieldGuideView.cs

@@ -57,7 +57,7 @@ namespace GFGGame
                 _ui.m_listGuide.scrollPane.ScrollTop();
                 _ui.m_In.Play();
             }
-            Timers.inst.StartCoroutine(UpdatePrgress());
+            Timers.inst.StartCoroutine(UpdateProgress());
         }
 
         protected override void OnHide()
@@ -187,7 +187,7 @@ namespace GFGGame
             if (totalCount == 0) totalCount = 1;
         }
 
-        private IEnumerator UpdatePrgress()
+        private IEnumerator UpdateProgress()
         {
             int num = _ui.m_listGuide.numChildren;
             bool playAnim = _startInAnim;

+ 47 - 2
GameClient/Assets/Game/HotUpdate/Views/League/LeagueView.cs

@@ -11,12 +11,28 @@ namespace GFGGame
     {
         private UI_LeagueUI _ui;
         private EffectUI _effectUI1;
-
+        private EffectUI _effectUI2;
+        private EffectUI _effectUI3;
+        private EffectUI _effectUI4;
+        private EffectUI _effectUI5;
+        private EffectUI _effectUI6;
+        private EffectUI _effectUI7;
         public override void Dispose()
         {
             EffectUIPool.Recycle(_effectUI1);
             _effectUI1 = null;
-
+            EffectUIPool.Recycle(_effectUI2);
+            _effectUI2 = null;
+            EffectUIPool.Recycle(_effectUI3);
+            _effectUI3 = null;
+            EffectUIPool.Recycle(_effectUI4);
+            _effectUI4 = null;
+            EffectUIPool.Recycle(_effectUI5);
+            _effectUI5 = null;
+            EffectUIPool.Recycle(_effectUI6);
+            _effectUI6 = null;
+            EffectUIPool.Recycle(_effectUI7);
+            _effectUI7 = null;
             if (_ui != null)
             {
                 _ui.Dispose();
@@ -52,6 +68,12 @@ namespace GFGGame
             _ui.m_btnRule.data = 300015;
 
             _effectUI1 = EffectUIPool.CreateEffectUI(_ui.m_holderfBgEff, "ui_Small_parts", "YaJi_Ui");
+            _effectUI2 = EffectUIPool.CreateEffectUI(_ui.m_btnPray.m_effect, "ui_Small_parts", "YaJi_TuBiao");
+            _effectUI3 = EffectUIPool.CreateEffectUI(_ui.m_btnSkill.m_Effect, "ui_Small_parts", "YaJi_TuBiao");
+            _effectUI4 = EffectUIPool.CreateEffectUI(_ui.m_btnAnswer.m_Effect, "ui_Small_parts", "YaJi_TuBiao");
+            _effectUI5 = EffectUIPool.CreateEffectUI(_ui.m_btnParty.m_Effect, "ui_Small_parts", "YaJi_TuBiao");
+            _effectUI6 = EffectUIPool.CreateEffectUI(_ui.m_btnGift.m_Effect, "ui_Small_parts", "YaJi_TuBiao");
+            _effectUI7 = EffectUIPool.CreateEffectUI(_ui.m_btnShop.m_Effect, "ui_Small_parts", "YaJi_TuBiao");
         }
 
         protected override void AddEventListener()
@@ -149,6 +171,7 @@ namespace GFGGame
             UpdateValue();
             UpdateButton();
             UpdateRedDot();
+            UpdateEffect();
         }
         private void UpdateInfo()
         {
@@ -227,6 +250,28 @@ namespace GFGGame
             RedDotController.Instance.SetComRedDot(_ui.m_btnParty.target, RedDotDataManager.Instance.GetLeagueTeaPartyRed(), "", -440, 60);
         }
 
+        private void UpdateEffect()
+        {
+            _ui.m_btnPray.m_effect.scale = new Vector2(0.8f, 0.8f);
+            _ui.m_btnGift.m_Effect.scale = new Vector2(0.8f, 0.8f);
+            _ui.m_btnParty.m_Effect.scale = new Vector2(0.8f, 0.8f);
+            _ui.m_btnAnswer.m_Effect.scale = new Vector2(0.8f, 0.8f);
+            _ui.m_btnSkill.m_Effect.scale = new Vector2(0.8f, 0.8f);
+            _ui.m_btnShop.m_Effect.scale = new Vector2(0.8f, 0.8f);
+            _ui.m_btnPray.m_t0.Play();
+            _ui.m_btnGift.m_t0.Play();
+            _ui.m_btnParty.m_t0.Play();
+            _ui.m_btnAnswer.m_t0.Play();
+            _ui.m_btnSkill.m_t0.Play();
+            _ui.m_btnShop.m_t0.Play();
+            _ui.m_btnPray.m_icon1.visible = false;
+            _ui.m_btnGift.m_icon1.visible = false;
+            _ui.m_btnParty.m_icon1.visible = false;
+            _ui.m_btnAnswer.m_icon1.visible = false;
+            _ui.m_btnSkill.m_icon1.visible = false;
+            _ui.m_btnShop.m_icon1.visible = false;
+        }
+
         private async void GetTeapartyMatchingInfos()
         {
             bool result = await LeagueSproxy.GetTeapartyMatchingInfos(RoleDataManager.roleId);

+ 116 - 173
GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxView.cs

@@ -21,14 +21,15 @@ namespace GFGGame
 
         private DressUpObjUI _dressUpObjUIChangXi;
 
-        private bool isActiveBoxOpen = false;
+        Dictionary<int,GObject> _listActivityBtnObj = new Dictionary<int, GObject>();
+
         private int _activeBoxId = 0;
         private int _curIndex = 0;
         private int _activityId = 0;
+        private bool scrollTouch = true;  //左右箭头点击等滑动完成后才可以再次点击
 
         public override void Dispose()
         {
-
             // Clear Effect
             foreach (var v in _effectUIDic)
             {
@@ -76,19 +77,15 @@ namespace GFGGame
 
             _dressUpObjUIXiHe = new DressUpObjUI("SceneDressUp");
             _dressUpObjUIChangXi = new DressUpObjUI("SceneDressUp");
-            // _ui.m_txtRemainTimes.visible = false;
             _valueBarController = new ValueBarController(_ui.m_valueBar);
             _ui.m_btnBack.onClick.Add(OnClickBtnBack);
-            // _ui.m_btnHome.onClick.Add(OnClickBtnHome);
 
             _ui.m_btnLeft.onClick.Add(OnBtnLeftClick);
             _ui.m_btnRight.onClick.Add(OnBtnRightClick);
 
-            // _ui.m_listBg.SetVirtual();
             _ui.m_listBg.itemRenderer = RenderListBgItem;
-            // _ui.m_listBg.itemProvider = GetListItemResource;
+            _ui.m_listBg.SetVirtualAndLoop();
             _ui.m_listBg.scrollPane.onScrollEnd.Add(OnScrollEnd);
-
             _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("zx_bg");
         }
         protected override void AddEventListener()
@@ -141,154 +138,63 @@ namespace GFGGame
 
             LuckyBoxDataManager.Instance.currentBoxId = boxId;
 
-            bool actLimitTsyOpen = LuckyBoxDataManager.Instance.GetActLimitTsyOpen();
-            if (_activeBoxId > 0)
-                Timers.inst.Add(1, 0, CheckTime);
-            if (actLimitTsyOpen)// && LuckyBoxDataManager.Instance.currentBoxId == LuckyBoxDataManager.BOX_ID_2
-                Timers.inst.Add(1, 0, UpdateTime);
-
             _curIndex = LuckyBoxDataManager.Instance.luckyBoxIds.IndexOf(boxId);
+            LuckyBoxDataManager.Instance.luckyBoxIndex = _curIndex;
+            _listActivityBtnObj.Clear();
+            foreach (var v in _effectUIDic)
+            {
+                EffectUIPool.Recycle(v.Value);
+            }
+            _effectUIDic.Clear();
             _ui.m_listBg.numItems = LuckyBoxDataManager.Instance.luckyBoxIds.Count;
             _ui.m_listBg.ScrollToView(_curIndex);
             _ui.m_listBg.scrollPane.decelerationRate = 0.8f;
-            LuckyBoxDataManager.Instance.luckyBoxIndex = _curIndex;
 
             OnListBgScroll();
-            updateBoxEffect();
 
-            Timers.inst.AddUpdate(CheckGuide);
-            Timers.inst.Add(1f, 0, OnTimerUpdate, 1);
-        }
-
-        private async void GetWishingPoolInfo(int activityId)
-        {
-            bool result = await LuckyBoxSProxy.ReqGetWishingPoolInfo();
-            if (result)
-            {
-                int index = LuckyBoxDataManager.Instance.KsActivityId.IndexOf(activityId);
-                if (index < 0 || !LuckyBoxDataManager.Instance.VsStatus[index])
-                    ViewManager.Show<LuckyBoxWishView>(ConstLimitTimeActivityType.ActLimitTsy);
-            }
-        }
-
-        private void OnTimerUpdate(object param)
-        {
-            int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[_curIndex];
-            long freeTime = LuckyBoxDataManager.Instance.GetFreeTime(boxId);
-            GObject obj = _ui.m_listBg.GetChildAt(_curIndex);
-            UI_ComBox1 comBox = UI_ComBox1.Proxy(obj);
-            if (freeTime > 0)
-            {
-                long timeDifference = freeTime - TimeHelper.ServerNow();
-                if (timeDifference > 0)
-                {
-                    comBox.m_comLuckBoxBtn.m_comCostOne.m_c1.selectedIndex = 0;
-                    comBox.m_comLuckBoxBtn.m_txtFreeTime.visible = true;
-                    string strFreeTime = TimeUtil.FormattingTimeTo_DDHHmm(timeDifference);
-                    comBox.m_comLuckBoxBtn.m_txtFreeTime.text = string.Format("{0}后免费", strFreeTime);
-                }
-                else
-                {
-                    comBox.m_comLuckBoxBtn.m_comCostOne.m_c1.selectedIndex = 1;
-                    comBox.m_comLuckBoxBtn.m_txtFreeTime.visible = false;
-                }
-                RedDotController.Instance.SetComRedDot(comBox.m_comLuckBoxBtn.m_btnBuyOne, comBox.m_comLuckBoxBtn.m_comCostOne.m_c1.selectedIndex == 1, "", -29, 9);
-            }
+            bool actLimitTsyOpen = LuckyBoxDataManager.Instance.GetActLimitTsyOpen();
+            //时间倒计时
+            if (_activeBoxId > 0)
+                Timers.inst.Add(1, 0, CheckTime);
+            //第二个活动的倒计时
+            if (actLimitTsyOpen)// && LuckyBoxDataManager.Instance.currentBoxId == LuckyBoxDataManager.BOX_ID_2
+                Timers.inst.Add(1, 0, UpdateTime);
 
-            RedDotController.Instance.SetComRedDot(_ui.m_btnLeft, LuckyBoxDataManager.Instance.RedBtnLeft(_curIndex));
-            RedDotController.Instance.SetComRedDot(_ui.m_btnRight, LuckyBoxDataManager.Instance.RedBtnRight(_curIndex),"",-60,70);
-            UI_ComBox1.ProxyEnd();
+            Timers.inst.AddUpdate(CheckGuide);
         }
 
         private void RenderListBgItem(int index, GObject obj)
         {
+            UI_ComBox1 comBox = UI_ComBox1.Proxy(obj);
             int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[index];
-
-        }
-
-        private void OnBtnLeftClick()
-        {
-            int index = _curIndex - 1;
-            if (index < 0) return;
-            _ui.m_listBg.ScrollToView(index, true);
-
-            if (_activityId > 0 && index + 1 == LuckyBoxDataManager.BOX_ID_2)
-                GetWishingPoolInfo(_activityId);
-        }
-
-        private void OnBtnRightClick()
-        {
-            int index = _curIndex + 1;
-            // if (index >= LuckyBoxDataManager.Instance.luckyBoxIds.Count) return;
-            index = Mathf.Min(_ui.m_listBg.numItems - 1, index);
-            _ui.m_listBg.ScrollToView(index, true);
-
-            if (_activityId > 0 && index + 1 == LuckyBoxDataManager.BOX_ID_2)
-                GetWishingPoolInfo(_activityId);
-        }
-
-        private void OnScrollEnd()
-        {
-            // 未更新滚动位置的时候,不更新,防止不停的播放渐入动画
-            int index = _ui.m_listBg.GetFirstChildInView();
-            if(index == _curIndex)
-            {
-                return;
-            }
-            OnListBgScroll();
-        }
-
-        private void OnListBgScroll()
-        {
-            if (_luckyBoxCtrl.ContainsKey(LuckyBoxDataManager.Instance.currentBoxId)) _luckyBoxCtrl[LuckyBoxDataManager.Instance.currentBoxId].OnHide();
-            _curIndex = _ui.m_listBg.GetFirstChildInView();
-            LuckyBoxDataManager.Instance.currentBoxId = LuckyBoxDataManager.Instance.luckyBoxIds[_curIndex];
-            if (LuckyBoxDataManager.Instance.currentBoxId == LuckyBoxDataManager.BOX_ID_3)
-            {
-                _valueBarController.Controller(3);
-            }
-            else
-            {
-                _valueBarController.Controller(4);
-            }
-            _valueBarController.UpdateCJ();
-
-
-            UpdateListItem();
-            _ui.m_btnLeft.grayed = _curIndex <= 0;
-            _ui.m_btnRight.grayed = _curIndex >= _ui.m_listBg.numItems - 1;
-            LuckyBoxDataManager.Instance.luckyBoxIndex = _curIndex;
-        }
-
-        List<GObject> _listActivityBtnObj = new List<GObject>();
-        private void UpdateListItem()
-        {
-            int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[_curIndex];
             LuckyBoxCfg cfg = LuckyBoxCfgArray.Instance.GetCfg(boxId);
             LuckyBoxDataManager.Instance.InitData(boxId);
+            if(!_listActivityBtnObj.ContainsKey(boxId))
+                _listActivityBtnObj.Add(boxId,obj);
+            else
+                _listActivityBtnObj[boxId] = obj;
 
-            GObject obj = _ui.m_listBg.GetChildAt(_curIndex);
-            UI_ComBox1 comBox = UI_ComBox1.Proxy(obj);
-            _listActivityBtnObj.Add(obj);
             int activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitTsy);
             if (activityId > 0 && boxId == LuckyBoxDataManager.BOX_ID_2)
             {
                 comBox.m_showActivityType.selectedIndex = 1;
                 UpGiftBox(comBox);
             }
-            else 
+            else
                 comBox.m_showActivityType.selectedIndex = 0;
 
-            if (!_luckyBoxCtrl.ContainsKey(boxId))
+            if (_luckyBoxCtrl.ContainsKey(boxId))
             {
-                _luckyBoxCtrl.Add(boxId, new LuckyBoxController(comBox.m_comModel.target));
+                _luckyBoxCtrl[boxId].OnHide();
+                _luckyBoxCtrl[boxId].Dispose();
+                _luckyBoxCtrl.Remove(boxId);
             }
 
-            _luckyBoxCtrl[LuckyBoxDataManager.Instance.currentBoxId].OnShown(LuckyBoxDataManager.Instance.currentBoxId);
-
-            if(boxId != LuckyBoxDataManager.BOX_ID_3)
+            _luckyBoxCtrl.Add(boxId, new LuckyBoxController(comBox.m_comModel.target));
+            
+            if (boxId != LuckyBoxDataManager.BOX_ID_3)
             {
-                if(!_effectUIDic.ContainsKey("Button_Text_DianCang" + boxId))
+                if (!_effectUIDic.ContainsKey("Button_Text_DianCang" + boxId))
                 {
                     _effectUIDic.Add("Button_Text_DianCang" + boxId, EffectUIPool.CreateEffectUI(comBox.m_comLuckBoxBtn.m_Special_eff, "ui_LuckyBox", "Button_Text_DianCang"));
                 }
@@ -300,17 +206,9 @@ namespace GFGGame
                     EffectUIPool.Recycle(_effectUIDic["Button_Text_DianCang" + boxId]);
                     _effectUIDic.Remove("Button_Text_DianCang" + boxId);
                 }
-
             }
-            //comBox.m_comLuckBoxBtn.m_imgSpecial.visible = boxId != LuckyBoxDataManager.BOX_ID_3;
 
-            //GGraph holder = comBox.m_comLuckBoxBtn.m_btnBuyTen.GetChild("holder").asGraph;
-            //holder.visible = boxId != LuckyBoxDataManager.BOX_ID_3;
             comBox.m_comLuckBoxBtn.m_holder.visible = boxId != LuckyBoxDataManager.BOX_ID_3;
-
-
-            //_effectUI1 = EffectUIPool.CreateEffectUI(holder, "ui_LuckyBox", "Button_Glow");
-
             comBox.m_comLuckBoxBtn.m_comCostOne.m_txtCost.text = cfg.costNum.ToString();
             comBox.m_comLuckBoxBtn.m_comCostOne.m_loaCost.url = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(cfg.costID).res);
 
@@ -324,8 +222,13 @@ namespace GFGGame
 
             if (comBox.m_comLuckBoxBtn.m_btnBuyTen.data == null)
             {
+                string strKey = "Button_public" + boxId;
+                if (_effectUIDic.ContainsKey(strKey)) {
+                    EffectUIPool.Recycle(_effectUIDic[strKey]);
+                    _effectUIDic.Remove(strKey);
+                }
                 comBox.m_comLuckBoxBtn.m_btnBuyTen.onClick.Add(OnClickBtnBuyTen);
-                _effectUIDic.Add("Button_public" + boxId, EffectUIPool.CreateEffectUI(comBox.m_comLuckBoxBtn.m_btnBuyTen_eff, "ui_LuckyBox", "Button_public"));
+                _effectUIDic.Add(strKey, EffectUIPool.CreateEffectUI(comBox.m_comLuckBoxBtn.m_btnBuyTen_eff, "ui_LuckyBox", "Button_public"));
             }
             comBox.m_comLuckBoxBtn.m_btnBuyTen.data = boxId;
 
@@ -350,19 +253,78 @@ namespace GFGGame
             {
                 long endTime = LuckyBoxDataManager.Instance.endTime;
                 long curTime = TimeHelper.ServerNow();
-                // TimeUtil.FormattingTime(curTime, endTime, out int num, out string str);
                 long time = endTime - curTime;
                 string strTime = time > TimeUtil.SECOND_PER_DAY * 100 ? TimeUtil.FormattingTimeTo_DDHHmm(time) : TimeUtil.FormattingTimeTo_HHmmss(time);
                 comBox.m_txtTime.text = string.Format("轮换倒计时:{0}", strTime);
-                //comBox.m_loaTitle.url = "ui://LuckyBox/zx_title_1";
             }
-            else
+            
+            UI_ComBox1.ProxyEnd();
+        }
+
+        private async void GetWishingPoolInfo(int activityId)
+        {
+            bool result = await LuckyBoxSProxy.ReqGetWishingPoolInfo();
+            if (result)
             {
-                //comBox.m_loaTitle.url = string.Format("ui://LuckyBox/zx_title_{0}", boxId);
+                int index = LuckyBoxDataManager.Instance.KsActivityId.IndexOf(activityId);
+                if (index < 0 || !LuckyBoxDataManager.Instance.VsStatus[index])
+                    ViewManager.Show<LuckyBoxWishView>(ConstLimitTimeActivityType.ActLimitTsy);
             }
-            UI_ComBox1.ProxyEnd();
-            UpdateListItemData();
+        }
+
+        private void OnBtnLeftClick()
+        {
+            if (!scrollTouch) return;
+            scrollTouch = false;
+            int index = _curIndex - 1;
+            _ui.m_listBg.ScrollToView(index, true);
+            if (_activityId > 0 && index + 1 == LuckyBoxDataManager.BOX_ID_2)
+                GetWishingPoolInfo(_activityId);
+        }
+
+        private void OnBtnRightClick()
+        {
+            if (!scrollTouch) return;
+            scrollTouch = false;
+            int index = _curIndex + 1;
+            _ui.m_listBg.ScrollToView(index, true);
+            if (_activityId > 0 && index + 1 == LuckyBoxDataManager.BOX_ID_2)
+                GetWishingPoolInfo(_activityId);
+        }
+
+        private void OnScrollEnd()
+        {
+            scrollTouch = true;
+            // 未更新滚动位置的时候,不更新,防止不停的播放渐入动画
+            int index = _ui.m_listBg.GetFirstChildInView();
+            if (index == _curIndex)
+            {
+                return;
+            }
+            OnListBgScroll();
+        }
+
+        private void OnListBgScroll()
+        {
+            LuckyBoxController valueBox;
+            _luckyBoxCtrl.TryGetValue(LuckyBoxDataManager.Instance.currentBoxId, out valueBox);
+            if (valueBox != null)
+                _luckyBoxCtrl[LuckyBoxDataManager.Instance.currentBoxId].OnHide();
+
+            _curIndex = _ui.m_listBg.GetFirstChildInView();
+
+            LuckyBoxDataManager.Instance.currentBoxId = LuckyBoxDataManager.Instance.luckyBoxIds[_curIndex];
+            if (LuckyBoxDataManager.Instance.currentBoxId == LuckyBoxDataManager.BOX_ID_3)
+                _valueBarController.Controller(3);
+            else
+                _valueBarController.Controller(4);
+
+            _valueBarController.UpdateCJ();
+
+            _luckyBoxCtrl[LuckyBoxDataManager.Instance.currentBoxId].OnShown(LuckyBoxDataManager.Instance.currentBoxId);
+            LuckyBoxDataManager.Instance.luckyBoxIndex = _curIndex;
             UpdateFreeInfo();
+            UpdateListItemData();
         }
 
         private void UpdateBtnReward()
@@ -383,7 +345,7 @@ namespace GFGGame
 
         private void OnClikcBtnShop()
         {
-            ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_GIFT_BAG, ConstStoreSubId.STORE_GIFT_BAG_TSY });
+            //ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_GIFT_BAG, ConstStoreSubId.STORE_GIFT_BAG_TSY });
         }
 
         //刷新摘星活动期间的数据
@@ -446,20 +408,16 @@ namespace GFGGame
             var list = activityInfoByTypeList
                 .Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
             if (list.Count == 0)
-            {
                 PromptController.Instance.ShowFloatTextPrompt("活动已结束");
-            }
             else
-            {
                 ViewManager.Show<RushSaleGiftBoxView>(new object[] { ActivityType.XSLB3, this.viewData });
-            }
         }
 
         private void UpdateListItemData()
         {
             int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[_curIndex];
             LuckyBoxCfg cfg = LuckyBoxCfgArray.Instance.GetCfg(boxId);
-            GObject obj = _ui.m_listBg.GetChildAt(_curIndex);
+            GObject obj = _listActivityBtnObj[boxId];
             UI_ComBox1 comBox = UI_ComBox1.Proxy(obj);
             LuckyBoxDataManager.Instance.GetOwnedCount(boxId, out int count, out int totalCount);
             comBox.m_txtOwned.SetVar("v1", "" + count).FlushVars();
@@ -503,7 +461,6 @@ namespace GFGGame
                 PromptController.Instance.ShowFloatTextPrompt("活动已结束");
                 Timers.inst.Remove(UpdateTime);
                 endTime = curTime;
-                //OnClickBtnBack();
             }
             TimeUtil.FormattingTime(curTime, endTime, out int num, out string str);
             textField.asTextField.text = "概率提升剩余: " + TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime);
@@ -514,20 +471,13 @@ namespace GFGGame
             //=====限时礼包倒计时END
         }
 
-        private void updateBoxEffect()
-        {
-            if (isActiveBoxOpen)
-            {
-
-            }
-        }
-
         private void OnClickBtnPreview(EventContext context)
         {
             GObject obj = context.sender as GObject;
             int boxId = (int)obj.data;
             ViewManager.Show<LuckyBoxPreShowView>(boxId);
         }
+
         private void OnClickBtnBuyOne(EventContext context)
         {
             GetSuitItemController.showSingle = true;
@@ -606,10 +556,8 @@ namespace GFGGame
                 _luckyBoxCtrl[key].OnHide();
             }
 
-            Timers.inst.Remove(OnTimerUpdate);
             Timers.inst.Remove(CheckTime);
             Timers.inst.Remove(UpdateTime);
-            // Timers.inst.Remove(UpdateBg);
             Timers.inst.Remove(CheckGuide);
             Debug.Log("OnHide:  LuckyBoxView");
         }
@@ -627,30 +575,20 @@ namespace GFGGame
         private void OnClickBtnBack()
         {
             Reset();
-            //this.Hide();
             ViewManager.GoBackFrom(typeof(LuckyBoxView).FullName);
         }
 
-        private void OnClickBtnHome()
-        {
-            GameController.GoBackToMainView();
-        }
-
         private void Reset()
         {
             LuckyBoxDataManager.Instance.currentBoxId = LuckyBoxDataManager.Instance.luckyBoxIds[0];
-
         }
+
         private void CheckGuide(object param)
         {
             if (GuideDataManager.IsGuideFinish(ConstGuideId.LUCKY_BOX) <= 0)
-            {
                 UpdateToCheckGuide(null);
-            }
             else
-            {
                 Timers.inst.Remove(CheckGuide);
-            }
         }
 
         protected override void UpdateToCheckGuide(object param)
@@ -675,16 +613,19 @@ namespace GFGGame
         private void UpdateFreeInfo()
         {
             int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[_curIndex];
-            LuckyBoxCfg cfg = LuckyBoxCfgArray.Instance.GetCfg(boxId);
             long freeTime = LuckyBoxDataManager.Instance.GetFreeTime(boxId);
-            GObject obj = _ui.m_listBg.GetChildAt(_curIndex);
+            GObject obj = _listActivityBtnObj[boxId];
             UI_ComBox1 comBox = UI_ComBox1.Proxy(obj);
             if (freeTime > 0)
             {
+                long timeDifference = freeTime - TimeHelper.ServerNow();
+
                 if (freeTime > TimeHelper.ServerNow())
                 {
                     comBox.m_comLuckBoxBtn.m_comCostOne.m_c1.selectedIndex = 0;
                     comBox.m_comLuckBoxBtn.m_txtFreeTime.visible = true;
+                    string strFreeTime = TimeUtil.FormattingTimeTo_DDHHmm(timeDifference);
+                    comBox.m_comLuckBoxBtn.m_txtFreeTime.text = string.Format("{0}后免费", strFreeTime);
                 }
                 else
                 {
@@ -697,8 +638,10 @@ namespace GFGGame
                 comBox.m_comLuckBoxBtn.m_comCostOne.m_c1.selectedIndex = 0;
                 comBox.m_comLuckBoxBtn.m_txtFreeTime.visible = false;
             }
-            RedDotController.Instance.SetComRedDot(comBox.m_comLuckBoxBtn.m_btnBuyOne, comBox.m_comLuckBoxBtn.m_comCostOne.m_c1.selectedIndex == 1, "", -29, 9);
 
+            RedDotController.Instance.SetComRedDot(comBox.m_comLuckBoxBtn.m_btnBuyOne, comBox.m_comLuckBoxBtn.m_comCostOne.m_c1.selectedIndex == 1, "", -29, 9);
+            RedDotController.Instance.SetComRedDot(_ui.m_btnLeft, LuckyBoxDataManager.Instance.RedBtnLeft(_curIndex));
+            RedDotController.Instance.SetComRedDot(_ui.m_btnRight, LuckyBoxDataManager.Instance.RedBtnRight(_curIndex), "", -60, 70);
             UI_ComBox1.ProxyEnd();
         }
     }

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

@@ -71,7 +71,7 @@ namespace GFGGame
             DoSpecialEffect();//初始化调用
             Timers.inst.AddUpdate(CheckGuide);
             _ui.m_openViewAction.Play();
-
+            
 
         }
 

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

@@ -115,6 +115,7 @@ namespace GFGGame
         {
             base.OnShown();
             _ui.target.touchable = false;
+            GRoot.inst.touchable = false;
             SuitFosterProxy.SendGetSuitInfos().Coroutine();
             MusicManager.Instance.PlayCroutine(ResPathUtil.GetMusicPath(ConstMusicName.DEFAULT));
             if ((this.viewData as object[]) != null)
@@ -150,7 +151,12 @@ namespace GFGGame
 
             _valueBarController.OnShown();
 
-            _ui.target.touchable = true;
+            _ui.m_t0.Play(() =>
+            {
+                _ui.target.touchable = true;
+                GRoot.inst.touchable = true;
+            });
+            
 
             Timers.inst.AddUpdate(CheckGuide);
 
@@ -162,6 +168,7 @@ namespace GFGGame
             _unPasslevelItem = null;
             _endLevelItem = null;
             // _ui.m_chapter.RemoveChildren(0, 0, true);
+            GRoot.inst.touchable = true;
             _valueBarController.OnHide();
             Timers.inst.Remove(SetContainerY);
             Timers.inst.Remove(CheckGuide);

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

@@ -113,7 +113,6 @@ namespace GFGGame
 
             // 初始化
             MusicManager.Instance.Stop();
-            MusicManager.Instance.SetNormalVolumn(0.6f);
             MusicManager.Instance.SetVolume(0);
             _ui.m_hideAnimMask.Play();
 
@@ -210,7 +209,6 @@ namespace GFGGame
             StoryDialogDataManager.Instance.Clear();
 
             GuideController.TryCompleteGuide(ConstGuideId.ENTER_CHAPTER_5, 3);
-            MusicManager.Instance.SetNormalVolumn(1);
             DestroyHeadImg();
         }
 

+ 10 - 6
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightSingleScoreView.cs

@@ -27,6 +27,8 @@ namespace GFGGame
         private int _prefectCount = 0;//卓越点击数量
         private bool _isAllPerfect = false;//登峰造极中
         private bool tryGuide = false;
+        //战斗表现修改,得分和星星偏移
+        private float offsetX = 150.0f;
 
         private EffectUI _effectUI1;
         private EffectUI _effectUI2;
@@ -172,10 +174,10 @@ namespace GFGGame
             StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
             _ui.m_proScore.target.max = fightCfg.score3;
             _ui.m_proScore.m_comBar.target.width = 0;
-            _ui.m_proScore.m_comFirstScore.target.x = (((float)fightCfg.score1 / (float)fightCfg.score3)) * _ui.m_proScore.target.width;
-            _ui.m_proScore.m_comSecondScore.target.x = (((float)fightCfg.score2 / (float)fightCfg.score3)) * _ui.m_proScore.target.width;
-            _ui.m_proScore.m_comThirdScore.target.x = (((float)fightCfg.score3 / (float)fightCfg.score3)) * _ui.m_proScore.target.width;
-
+            _ui.m_proScore.m_comFirstScore.target.x = (((float)fightCfg.score1 / (float)fightCfg.score3)) * (_ui.m_proScore.target.width - offsetX);
+            _ui.m_proScore.m_comSecondScore.target.x = (((float)fightCfg.score2 / (float)fightCfg.score3)) * (_ui.m_proScore.target.width - offsetX);
+            _ui.m_proScore.m_comThirdScore.target.x = (((float)fightCfg.score3 / (float)fightCfg.score3)) * (_ui.m_proScore.target.width - offsetX);
+            _ui.m_proScore.m_holder.visible = false;
             _ui.m_proScore.m_txtCount.text = "总分 0";
             _ui.m_comClick.target.touchable = false;
             _ui.m_comClick.m_comAllPerfect.target.visible = false;
@@ -368,8 +370,9 @@ namespace GFGGame
         private void UpdateProgress(object param = null)
         {
             double proportion = _score / _ui.m_proScore.target.max;
-            float width = (float)(proportion * _ui.m_proScore.target.width);
+            float width = (float)(proportion * (_ui.m_proScore.target.width - offsetX));
             width = width > _ui.m_proScore.m_comBar.target.initWidth ? _ui.m_proScore.m_comBar.target.initWidth : width;
+            _ui.m_proScore.m_holder.visible = true;
             GTween.To(_ui.m_proScore.m_comBar.target.width, width, 0.3f).SetTarget(_ui.m_proScore.m_comBar).OnUpdate((GTweener t) =>
                 {
                     _ui.m_proScore.m_comBar.target.width = t.value.x;
@@ -390,8 +393,9 @@ namespace GFGGame
         private void UpdateProgressA(object param = null)
         {
             double proportion = _score / _ui.m_proScore.target.max;
-            float width = (float)(proportion * _ui.m_proScore.target.width);
+            float width = (float)(proportion * (_ui.m_proScore.target.width - offsetX));
             width = width > _ui.m_proScore.m_comBar.target.initWidth ? _ui.m_proScore.m_comBar.target.initWidth : width;
+            _ui.m_proScore.m_holder.visible = true;
             GTween.To(_ui.m_proScore.m_comBar.target.width, width, 0.3f).SetTarget(_ui.m_proScore.m_comBar).OnUpdate((GTweener t) =>
             {
                 _ui.m_proScore.m_comBar.target.width = t.value.x;

+ 5 - 4
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightSingleView.cs

@@ -49,13 +49,14 @@ namespace GFGGame
             MyDressUpHelper.dressUpObj.setSceneObj(_sceneObject);
             StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
             StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
-            if (!string.IsNullOrEmpty(fightCfg.music))
-            {
-                MusicManager.Instance.PlayCroutine(ResPathUtil.GetMusicPath(fightCfg.music, "mp3"));
-            }
+
             _ui.m_roleName.m_txtName.text = RoleDataManager.roleName;
             Timers.inst.Add(0.9f, 1, (object param) =>
             {
+                if (!string.IsNullOrEmpty(fightCfg.music))
+                {
+                    MusicManager.Instance.PlayCroutine(ResPathUtil.GetMusicPath(fightCfg.music, "mp3"));
+                }
                 ViewManager.Show<StoryFightSingleScoreView>();
                 this.Hide();
             });

+ 15 - 7
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetView.cs

@@ -95,7 +95,7 @@ namespace GFGGame
 
                     _targetDressUpObj.PutOnItemList(targetFightData.itemList);
                 }
-                MusicManager.Instance.PlayCroutine(ResPathUtil.GetMusicPath("fight", "mp3"));
+                
 
             }
             else
@@ -110,18 +110,26 @@ namespace GFGGame
                 _ui.m_targetName.m_txtName.text = targetFightData.name;
                 SceneController.UpdateFightTarget(targetFightData.res, _sceneObject);
 
-                StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
-                StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
-                if (!string.IsNullOrEmpty(fightCfg.music))
-                {
-                    MusicManager.Instance.PlayCroutine(ResPathUtil.GetMusicPath(fightCfg.music, "mp3"));
-                }
+
             }
 
             _ui.m_roleName.m_txtName.text = roleFightData.name;
 
             Timers.inst.Add(1.1f, 1, (object param) =>
             {
+                if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena)
+                {
+                    MusicManager.Instance.PlayCroutine(ResPathUtil.GetMusicPath("fight", "mp3"));
+                }
+                else
+                {
+                    StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
+                    StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
+                    if (!string.IsNullOrEmpty(fightCfg.music))
+                    {
+                        MusicManager.Instance.PlayCroutine(ResPathUtil.GetMusicPath(fightCfg.music, "mp3"));
+                    }
+                }
                 ViewManager.Show<StoryFightTargetScoreView>(new object[] { roleFightData, targetFightData });
                 this.Hide();
             });

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

@@ -179,7 +179,7 @@ namespace GFGGame
                 item.data = new ItemView(listItem.m_comItem as GComponent);
             }
             (item.data as ItemView).SetData(itemData);
-            (item.data as ItemView).ShowTxtCount = false;
+            //(item.data as ItemView).ShowTxtCount = false;
             List<ItemData> bonusOnceData = StoryBonusDataCache.GetBonusData(_levelID).bonusOnce;
             (item.data as ItemView).ImgShouTongVisable = !InstanceZonesDataManager.CheckLevelPass(_levelID) && index < bonusOnceData.Count;
             UI_ListRewardItem.ProxyEnd();

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

@@ -29,9 +29,6 @@ namespace GFGGame
         private GButton _btnHaoYou;
         private GButton _btnYouJian;
         private GButton _btnRenWu;
-        private GButton _btnPengYouQuan;
-        private GButton _btnJInShu;
-        private GButton _btnTianGong;
         private GButton _btnLeague;
         private GButton _btnStore;
         private GButton _btnTuJian;
@@ -92,18 +89,12 @@ namespace GFGGame
             _btnGongGao = _ui.m_btnGongGao;
             _btnHaoYou = _ui.m_list.GetChild("btnHaoYou").asButton;
             _btnRenWu = _ui.m_list.GetChild("btnRenWu").asButton;
-            _btnPengYouQuan = _ui.m_list.GetChild("btnPengYouQuan").asButton;
             _btnLeague = _ui.m_list.GetChild("btnLeague").asButton;
             _btnStore = _ui.m_list.GetChild("btnStore").asButton;
-            _btnTianGong = _ui.m_list.GetChild("btnTianGong").asButton;
             _btnTuJian = _ui.m_list.GetChild("btnTuJian").asButton;
-            _btnJInShu = _ui.m_list.GetChild("btnJInShu").asButton;
             _btnBag = _ui.m_list.GetChild("btnBag").asButton;
 
             _btnActivityDay7 = _ui.m_btnActivityDay7.target;
-            _btnPengYouQuan.visible = false;
-            _btnJInShu.visible = false;
-            _btnTianGong.visible = false;
 
             _btns = new UI_ButtonModle1[] { _ui.m_btnHuanZhuang, _ui.m_btnZhaiXing, _ui.m_btnXiuFang, _ui.m_btnCiPai };
             _ui.m_btnMain.target.onClick.Add(OnClickBtnMain);

+ 134 - 0
GameClient/Assets/Game/HotUpdate/Views/RoleInfo/MainBgChooseView.cs

@@ -0,0 +1,134 @@
+using System.Collections;
+using UnityEngine;
+using UI.RoleInfo;
+using UI.Main;
+using ET;
+using FairyGUI;
+
+namespace GFGGame
+{
+    public class MainBgChooseView : BaseWindow
+    {
+        private UI_MainBgChooseUI _ui;
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_MainBgChooseUI.PACKAGE_NAME;
+            _ui = UI_MainBgChooseUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+            isReturnView = true;
+            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("tjbg");
+
+            _ui.m_bgList.itemRenderer = BgListItemRenderer;
+            _ui.m_bgList.onClickItem.Add(OnClickBgListItem);
+            _ui.m_btnBack.onClick.Add(OnClickBtnBack);
+            _ui.m_btnChange.onClick.Add(OnClickBtnChange);
+
+            _ui.m_bgList.numItems = tempRes.Length;
+        }
+
+        protected override void OnShown()
+        {
+            base.OnShown();
+            InitMainUIPreview();
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+            ReleaseMainUIPreview();
+        }
+
+
+        private ValueBarController _valueBarController;
+        /// <summary>
+        /// 同步主界面信息
+        /// </summary>
+        private void InitMainUIPreview()
+        {
+            UI_MainUI mainUI = UI_MainUI.Proxy(_ui.m_mainUIShow);
+
+            _valueBarController = new ValueBarController(mainUI.m_valueBar);
+            _valueBarController.OnShown();
+
+            mainUI.m_type.SetSelectedIndex(1);
+            mainUI.m_headBar.m_txtLvl.text = "" + GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl);
+            RoleInfoManager.Instance.UpdateHead(mainUI.m_headBar.m_comHead, RoleDataManager.headId,
+    RoleDataManager.headBorderId);
+            mainUI.m_headBar.m_txtName.text = RoleDataManager.roleName;
+            mainUI.m_btnXiuFang.m_loaLockIcons.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(XiuFangView).Name, false);
+            mainUI.m_btnHuanZhuang.m_loaLockIcons.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(DressUpView).Name, false);
+            mainUI.m_btnCiPai.m_loaLockIcons.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(CardDetailView).Name, false);
+            mainUI.m_btnZhaiXing.m_loaLockIcons.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(LuckyBoxView).Name, false);
+            mainUI.m_btnMain.m_loaLockIcons.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(StoryChapterListView).Name, false);
+            
+            mainUI.m_btnGongGao.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(NoticeView).Name, false);
+            mainUI.m_btnYouJian.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(MailView).Name, false);
+
+            mainUI.m_list.GetChild("btnHaoYou").visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(FriendView).Name, false);
+            mainUI.m_list.GetChild("btnLeague").visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(LeagueView).Name, false);
+            mainUI.m_list.GetChild("btnStore").visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(StoreView).Name, false);
+            mainUI.m_list.GetChild("btnTuJian").visible =
+                FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(FieldGuideView).Name, false);
+
+
+            mainUI.m_list.ResizeToFit();
+
+            UI_MainUI.ProxyEnd();
+        }
+
+        private void ReleaseMainUIPreview()
+        {
+            _valueBarController.OnHide();
+            _valueBarController.Dispose();
+        }
+
+        private void OnClickBtnBack()
+        {
+            Hide();
+        }
+
+        // 背景资源名列表,需要从配置表读
+        string[] tempRes = { "zjm_1", "zjm_2", "tc_bjbj" };
+        private void BgListItemRenderer(int index, GObject item)
+        {
+            UI_bgItem bgItem = UI_bgItem.Proxy(item);
+            bgItem.m_bgImg.url = ResPathUtil.GetBgImgPath(tempRes[index]);
+            UI_bgItem.ProxyEnd();
+
+            item.data = tempRes[index];
+        }
+
+        private void OnClickBgListItem(EventContext context)
+        {
+            GObject listItem = context.data as GObject;
+            string res = (string)listItem.data;
+
+            ChangeBg(res);
+        }
+
+        private void OnClickBtnChange()
+        {
+            SceneController.bgTempRes = (string)_ui.m_bgList.GetChildAt(_ui.m_bgList.selectedIndex).data;
+            Hide();
+        }
+
+        private void ChangeBg(string res)
+        {
+            UI_MainUI mainUI = UI_MainUI.Proxy(_ui.m_mainUIShow);
+            mainUI.m_loaBg.url = ResPathUtil.GetBgImgPath(res);
+            UI_MainUI.ProxyEnd();
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/RoleInfo/MainBgChooseView.cs.meta

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

+ 12 - 4
GameClient/Assets/Game/HotUpdate/Views/RoleInfo/OtherRoleInfoView.cs

@@ -53,6 +53,7 @@ namespace GFGGame
             RoleInfoManager.Instance.UpdateHead(_ui.m_comHead, _roleInfo.headId, _roleInfo.headBorderId);
 
             _roleDetailInfo = await RoleInfoSProxy.ReqOtherRoleDetailInfo(_roleInfo.roleId);
+            
             if (_roleDetailInfo != null)
             {
                 Timers.inst.StartCoroutine(PictureStorageHelper.Download(_roleDetailInfo.showPhotoList));
@@ -86,7 +87,7 @@ namespace GFGGame
             // }
 
             _ui.m_txtSlogan.text = _roleDetailInfo.slogan;
-            _ui.m_btnFieldGuide.title = string.Format("套装收集度:{0}", _roleDetailInfo.SuitCollectPer);
+            //_ui.m_btnFieldGuide.title = string.Format("套装收集度:{0}", _roleDetailInfo.SuitCollectPer);
             _ui.m_list.numItems = _roleDetailInfo.showPhotoList.Count;
         }
 
@@ -97,13 +98,20 @@ namespace GFGGame
             UI_ListPhotoItem item = UI_ListPhotoItem.Proxy(obj);
             item.target.data = index;
 
-            item.m_imgNone.visible = poemPhotoData == null;
-            item.m_grpLock.visible = false;
+            if (poemPhotoData != null)
+            {
+                item.m_type.SetSelectedIndex(0);
+            }
+            else
+            {
+                item.m_type.SetSelectedIndex(1);
+            }
+
+
             if (RoleInfoManager.GetPosType(index) == MonthCardType.Gold && !RoleDataManager.CheckIsMonthCardOpenByType(MonthCardType.Gold)
             || RoleInfoManager.GetPosType(index) == MonthCardType.BlackGold && !RoleDataManager.CheckIsMonthCardOpenByType(MonthCardType.BlackGold))
             {
                 item.m_comPhoto.m_loaPhoto.texture = null;
-                item.m_imgNone.visible = true;
                 return;
             }
 

+ 73 - 14
GameClient/Assets/Game/HotUpdate/Views/RoleInfo/RoleInfoView.cs

@@ -3,6 +3,7 @@ using FairyGUI;
 using UI.CommonGame;
 using UI.RoleInfo;
 using UnityEngine;
+using UI_Button2 = UI.RoleInfo.UI_Button2;
 
 namespace GFGGame
 {
@@ -37,14 +38,18 @@ namespace GFGGame
             _ui.m_loaChangeName.onClick.Add(OnClickLoaChangeName);
 
             _ui.m_btnBack.onClick.Add(OnBtnBackClick);
-            _ui.m_btnFieldGuide.onClick.Add(OnBtnFieldGuideClick);
+            _ui.m_btnSuitGuide.target.onClick.Add(OnBtnFieldGuideClick);
+            _ui.m_btnCardGuide.target.onClick.Add(OnBtnFieldGuideClick);
+            _ui.m_btnTaskArchieveGuide.target.onClick.Add(OnBtnTaskArchieveClick);
+
             _ui.m_btnSkill.onClick.Add(OnBtnSkillClick);
             _ui.m_btnSetting.onClick.Add(OnBtnSettingClick);
-            _ui.m_comHead.GetChild("comHead").asCom.onClick.Add(OnComHeadClick);
+            _ui.m_btnCopy.onClick.Add(OnBtnCopyClick);
+            _ui.m_comHead.onClick.Add(OnComHeadClick);
 
-            _ui.m_list.itemRenderer = RenderListItem;
-            _ui.m_list.onClickItem.Add(OnListItemClick);
-            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("xc_bjbj");
+            _ui.m_photoList.itemRenderer = RenderListItem;
+            _ui.m_photoList.onClickItem.Add(OnListItemClick);
+            //_ui.m_loaBg.url = ResPathUtil.GetBgImgPath("xc_bjbj");
 
         }
 
@@ -72,10 +77,12 @@ namespace GFGGame
             }
 
             _ui.m_txtSlogan.text = RoleDataManager.slogan;
-            _ui.m_btnFieldGuide.title = string.Format("套装收集度:{0}%", RoleInfoManager.Instance.GetGuideProgress());
+            //_ui.m_btnFieldGuide.title = string.Format("套装收集度:{0}%", RoleInfoManager.Instance.GetSuitGuideProgress());
             UpdateHead();
             UpdateList();
             UpdateRedDot();
+            UpdateCollectProgress();
+            UpdateInfo();
         }
 
         protected override void OnHide()
@@ -94,6 +101,7 @@ namespace GFGGame
             EventAgent.RemoveEventListener(ConstMessage.RED_CHANGE, UpdateRedDot);
             EventAgent.RemoveEventListener(ConstMessage.DOWNLOAD_FINISH, UpdateList);
         }
+
         private void UpdateRoleName()
         {
             _ui.m_txtRoleName.text = RoleDataManager.roleName;
@@ -103,10 +111,12 @@ namespace GFGGame
         {
             RoleInfoManager.Instance.UpdateHead(_ui.m_comHead, RoleDataManager.headId, RoleDataManager.headBorderId);
         }
+
         private void UpdateList()
         {
-            _ui.m_list.numItems = RoleDataManager.photoDatas.Count;
+            _ui.m_photoList.numItems = RoleDataManager.photoDatas.Count;
         }
+
         private void RenderListItem(int index, GObject obj)
         {
             long pictureId = RoleDataManager.photoDatas[index];
@@ -114,18 +124,25 @@ namespace GFGGame
             UI_ListPhotoItem item = UI_ListPhotoItem.Proxy(obj);
             item.target.data = index;
 
-            item.m_imgNone.visible = poemPhotoData == null;
-            item.m_grpLock.visible = false;
+            if(poemPhotoData == null)
+            {
+                item.m_type.SetSelectedIndex(0);
+            }
+            else
+            {
+                item.m_type.SetSelectedIndex(1);
+            }
+
             if (RoleInfoManager.GetPosType(index) == MonthCardType.Gold && !RoleDataManager.CheckIsMonthCardOpenByType(MonthCardType.Gold)
             || RoleInfoManager.GetPosType(index) == MonthCardType.BlackGold && !RoleDataManager.CheckIsMonthCardOpenByType(MonthCardType.BlackGold))
             {
+                item.m_type.SetSelectedIndex(2);
                 item.m_txtLock.text = RoleInfoManager.GetSuitPosItems()[index];
-                item.m_grpLock.visible = true;
                 item.m_comPhoto.m_loaPhoto.texture = null;
-                item.m_imgNone.visible = false;
                 RoleDataManager.photoDatas[index] = 0;
                 return;
             }
+
             item.m_comPhoto.m_loaPhoto.texture = poemPhotoData == null ? null : poemPhotoData.Ntexture;
             UI_ListPhotoItem.ProxyEnd();
         }
@@ -136,13 +153,13 @@ namespace GFGGame
             int index = (int)obj.data;
             if (RoleInfoManager.GetPosType(index) == MonthCardType.Gold && !RoleDataManager.CheckIsMonthCardOpenByType(MonthCardType.Gold))
             {
-                // PromptController.Instance.ShowFloatTextPrompt("灵犀卡开启");
+                // PromptController.Instance.ShowFloatTextPrompt("豆包卡开启");
                 ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_MONTH_CARD, ConstStoreSubId.STORE_MONTH_GOLD_CARD });
                 return;
             }
             if (RoleInfoManager.GetPosType(index) == MonthCardType.BlackGold && !RoleDataManager.CheckIsMonthCardOpenByType(MonthCardType.BlackGold))
             {
-                // PromptController.Instance.ShowFloatTextPrompt("璇玑卡开启");
+                // PromptController.Instance.ShowFloatTextPrompt("阿福卡开启");
                 ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_MONTH_CARD, ConstStoreSubId.STORE_MONTH_BLACK_CARD });
                 return;
             }
@@ -164,17 +181,30 @@ namespace GFGGame
         {
             ViewManager.Show<FieldGuideView>();
         }
+
+        private void OnBtnTaskArchieveClick()
+        {
+            ViewManager.Show<TaskAchieveView>();
+        }
+
         private void OnBtnSkillClick()
         {
             ViewManager.Show<PersonalSkillView>();
         }
+
         private void OnBtnSettingClick()
         {
             ViewManager.Show<SettingView>();
         }
+
+        private void OnBtnCopyClick()
+        {
+            GUIUtility.systemCopyBuffer = _ui.m_txtRoleID.text;
+            PromptController.Instance.ShowFloatTextPrompt("已复制ID");
+        }
+
         private void OnComHeadClick()
         {
-            GUIUtility.systemCopyBuffer = RoleDataManager.roleName;
             ViewManager.Show<ChangeHeadView>();
         }
 
@@ -182,5 +212,34 @@ namespace GFGGame
         {
             RedDotController.Instance.SetComRedDot(_ui.m_comHead, RedDotDataManager.Instance.GetHeadRed() || RedDotDataManager.Instance.GetHeadBorderRed(), "", -30, 40);
         }
+
+        private void UpdateCollectProgress()
+        {
+            UI_Button2 button2 = UI_Button2.Proxy(_ui.m_btnSuitGuide.target);
+            // 套装
+            float progress = RoleInfoManager.Instance.GetSuitGuideProgress();
+            button2.m_rate.text = progress.ToString();
+            button2.m_progressBar.fillAmount = progress / 100;
+
+            // 词牌
+            button2 = UI_Button2.Proxy(_ui.m_btnCardGuide.target);
+            progress = RoleInfoManager.Instance.GetCardGuideProgress();
+            button2.m_rate.text = progress.ToString();
+            button2.m_progressBar.fillAmount = progress / 100;
+
+            // 成就
+            button2 = UI_Button2.Proxy(_ui.m_btnTaskArchieveGuide.target);
+            progress = RoleInfoManager.Instance.GetTaskAchieveProgress();
+            button2.m_rate.text = progress.ToString();
+            button2.m_progressBar.fillAmount = progress / 100;
+
+            UI_Button2.ProxyEnd();
+        }
+
+        private void UpdateInfo()
+        {
+            _ui.m_leagueName.text = RoleInfoManager.Instance.GetLeagueName();
+            _ui.m_txtRoleID.text = RoleInfoManager.Instance.GetRoleID().ToString();
+        }
     }
 }

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

@@ -109,7 +109,7 @@ namespace GFGGame
 
             if (GameGlobal.myNumericComponent.GetAsLong(NumericType.MonthCardBlackGoldEndTime) < TimeHelper.ServerNow())
             {
-                PromptController.Instance.ShowFloatTextPrompt("开通璇玑卡可领");
+                PromptController.Instance.ShowFloatTextPrompt("开通阿福卡可领");
                 return;
             }
             ShopSProxy.ReqGetMonthCardItem(month).Coroutine();

+ 351 - 0
GameClient/Assets/Game/HotUpdate/Views/Store/StoreGiftBagAddRebateView.cs

@@ -0,0 +1,351 @@
+using UI.Store;
+using UI.CommonGame;
+using FairyGUI;
+using System.Collections.Generic;
+using ET;
+
+namespace GFGGame
+{
+    public class StoreGiftBagAddRebateView : BaseWindow
+    {
+        private UI_StoreGiftBagAddRebateUI _ui;
+        private ValueBarController _valueBarController;
+        private List<ShopCfg> _shopCfgs;
+        private int menu2;
+        private int _itemId; //道具id,该页面目前只给:体力,金币使用
+
+        public override void Dispose()
+        {
+            if (_valueBarController != null)
+            {
+                _valueBarController.Dispose();
+                _valueBarController = null;
+            }
+            if (_ui != null)
+            {
+                _ui.Dispose();
+            }
+            _ui = null;
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_StoreGiftBagUI.PACKAGE_NAME;
+            _ui = UI_StoreGiftBagAddRebateUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+            this.clickBlankToClose = false;
+            this.bringToFontOnClick = false;
+
+            _ui.m_rebateList.itemRenderer = ListItemRenderer;
+            _valueBarController = new ValueBarController(_ui.m_valueBar);
+        }
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+            EventAgent.AddEventListener(ConstMessage.SHOP_BUY, UpdateView);
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            menu2 = (int)this.viewData;
+            _shopCfgs = ShopCfgArray.Instance.GetCfgsBymenu1Andmenu2(ConstStoreTabId.STORE_GIFT_BAG, menu2);
+            _shopCfgs = ShopDataManager.Instance.RemoveNotOpenCfg(_shopCfgs);
+            _valueBarController.OnShown();
+            _valueBarController.UpdateList(ShopDataManager.Instance.GetShopCostIds(_shopCfgs));
+            _ui.m_rebateList.scrollPane.ScrollTop();
+            UpdateView();
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+            ShopViewManager.Instance.ClearItemEff();
+            _valueBarController.OnHide();
+        }
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+            EventAgent.RemoveEventListener(ConstMessage.SHOP_BUY, UpdateView);
+        }
+
+        private void UpdateView()
+        {
+            _shopCfgs = ShopDataManager.Instance.SortShopGoodsCfgs(_shopCfgs);
+            _ui.m_rebateList.numItems = _shopCfgs.Count;
+        }
+
+        private void ListItemRenderer(int index, GObject obj)
+        {
+            ShopCfg shopCfg = _shopCfgs[index];
+            UI_ComCurSupplyItem item = UI_ComCurSupplyItem.Proxy(obj);
+
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(shopCfg.itemId);
+
+            item.target.data = shopCfg;
+
+            //返利包
+            item.m_txtTitle.text = itemCfg.name;
+            item.m_txtWeekPrompt.visible = false;
+            item.m_btnIcoWeekPromptTag.visible = false;
+            if (itemCfg.param2Arr.Length != 0)
+            {
+                item.m_txtWeekPrompt.visible = true;
+                item.m_btnIcoWeekPromptTag.visible = true;
+                item.m_txtWeekPrompt.text = string.Format("连续{0}天每日获得", itemCfg.param2Arr[0]);
+            }
+
+            int numItems;
+            var childItemCfg = ItemCfgArray.Instance.GetCfg(shopCfg.itemId);
+            var remainBuyNum = shopCfg.maxBuyNum - ShopDataManager.Instance.GetGoodsBuyNumById(shopCfg.id);
+            item.m_comLeftGiftBox.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg);
+
+            item.m_btnBuy.m_txtOldPrice.text = $"{shopCfg.originalPrice}";
+            item.m_btnBuy.m_loaIcon.visible = false;
+            string mTxtOldPrice = string.Empty;
+            if (shopCfg.costType == CostType.ITEM)
+            {
+                //货币  
+                ItemCfg costCfg = ItemCfgArray.Instance.GetCfg(shopCfg.costId);
+                item.m_btnBuy.m_loaIcon.visible = true;
+                item.m_btnBuy.m_loaIcon.url = ResPathUtil.GetIconPath(costCfg);
+            }
+            else if (shopCfg.costType == CostType.RMB)
+            {
+                //人民币
+                mTxtOldPrice = "元";
+            }
+            else
+            {
+                //免费
+                mTxtOldPrice = $"免费";
+                item.m_btnBuy.m_txtOldPrice.text = "";
+                item.m_btnBuy.m_txtNewPrice.align = AlignType.Left;
+                item.m_btnBuy.m_txtNewPrice.x = 90;
+            }
+
+            item.m_btnBuy.m_txtNewPrice.text = $"{shopCfg.price + mTxtOldPrice}";
+            item.m_comLeftGiftBox.target.data = itemCfg;
+            item.m_comLeftGiftBox.target.onClick.Add(OnListSelectorItemClick);
+
+            if (shopCfg.originalPrice != shopCfg.price)
+            {
+                var roundedNumStr = NumberUtil.CalculateDiscount(shopCfg.originalPrice, shopCfg.price);
+                item.m_comLeftGiftBox.m_comDiscount.target.visible = true;
+                item.m_comLeftGiftBox.m_comDiscount.m_txtDiscountNum.text = $"{roundedNumStr}折"; //之后再计算赋值
+            }
+            else
+            {
+                item.m_comLeftGiftBox.m_comDiscount.target.visible = false;
+            }
+
+            if (shopCfg.refreshType == RefreshType.DAY) //也可以换成人民币来做条件
+            {
+                //日刷
+                item.m_comLeftGiftBox.m_comGouMaiGetText.target.visible = false;
+                item.m_txtUrc.text = string.Format("今日剩余{0}/{1}", remainBuyNum, shopCfg.maxBuyNum);
+                item.m_txtLrc.text = string.Format("可获得{0}会员积分", shopCfg.price * 10);
+                item.m_txtWeekPrompt.visible = false;
+                item.m_btnIcoWeekPromptTag.visible = false;
+                numItems = childItemCfg.itemsArr.Length;
+
+                if (remainBuyNum == 0)
+                {
+                    //已售完
+                    item.m_btnBuy.target.visible = true;
+                    item.m_btnCurReceive.target.visible = false;
+                    item.m_btnBuy.m_bagYellow.visible = false;
+                    item.m_btnBuy.m_bagGrey.visible = true;
+                }
+                else
+                {
+                    //未售完
+                    item.m_btnBuy.target.visible = true;
+                    item.m_btnCurReceive.target.visible = false;
+                    item.m_btnBuy.m_bagYellow.visible = true;
+                    item.m_btnBuy.m_bagGrey.visible = false;
+                }
+            }
+            else
+            {
+                //周刷
+                var weekGiftBoxState = EnduringGiftBoxDataManager.Instance.DayIsRebateGiftBox(shopCfg.itemId);
+                item.m_comLeftGiftBox.m_comGouMaiGetText.target.visible = true;
+                var itemArr = itemCfg.itemsArr[0];
+                ItemCfg getItemCfg = ItemCfgArray.Instance.GetCfg(itemArr[0]); //及时获得的物品,读取第一个显示ICON
+                item.m_comLeftGiftBox.m_comGouMaiGetText.m_loaIcon.url = ResPathUtil.GetIconPath(getItemCfg);
+                item.m_comLeftGiftBox.m_comGouMaiGetText.m_txtGetGold.text = itemArr[1].ToString();
+                item.m_txtUrc.text = string.Format("每周限购{0}/{1}", remainBuyNum, shopCfg.maxBuyNum);
+                int rebateDay = EnduringGiftBoxDataManager.Instance.GetItemRebateDay(itemCfg.id);
+                string mTxtLrc = string.Empty;
+                if (rebateDay != 0)
+                {
+                    mTxtLrc = string.Format("剩余{0}天", rebateDay);
+                }
+
+                item.m_txtLrc.text = mTxtLrc;
+                item.m_txtWeekPrompt.visible = true;
+                item.m_txtWeekPrompt.text =
+                    string.Format("连续{0}天每日获得",
+                        itemCfg.param2Arr[0] + 1); //NumberUtil.GetChiniseNumberText(itemCfg.param2Arr[0])
+                item.m_btnIcoWeekPromptTag.visible = true;
+
+                numItems = childItemCfg.param1Arr.Length;
+
+                //领取加红点
+                RedDotController.Instance.SetComRedDot(item.m_btnCurReceive.target, weekGiftBoxState);
+                //是否需要领取
+                if (weekGiftBoxState)
+                {
+                    item.m_btnBuy.target.visible = false;
+                    item.m_btnCurReceive.target.visible = true;
+                    item.m_btnCurReceive.m_receive.visible = true;
+                    item.m_btnCurReceive.m_received.visible = false;
+                    item.m_btnCurReceive.m_txtRec.text = "领取";
+                }
+                else
+                {
+                    //是否能购买
+                    if (remainBuyNum == 0)
+                    {
+                        //已经领取
+                        if (EnduringGiftBoxDataManager.Instance.DayRebateItemIds.Contains(shopCfg.itemId))
+                        {
+                            item.m_btnBuy.target.visible = false;
+                            item.m_btnCurReceive.target.visible = true;
+                            item.m_btnCurReceive.m_receive.visible = false;
+                            item.m_btnCurReceive.m_received.visible = true;
+                            item.m_btnCurReceive.m_txtRec.text = "已领取";
+                        }
+                        else
+                        {
+                            item.m_btnCurReceive.target.visible = false;
+                            item.m_btnBuy.target.visible = true;
+                            item.m_btnBuy.m_bagGrey.visible = true;
+                            item.m_btnBuy.m_bagYellow.visible = false;
+                        }
+                    }
+                    else
+                    {
+                        //未售完
+                        item.m_btnBuy.target.visible = true;
+                        item.m_btnBuy.m_bagGrey.visible = false;
+                        item.m_btnBuy.m_bagYellow.visible = true;
+                        item.m_btnCurReceive.target.visible = false;
+                    }
+                }
+            }
+
+            item.m_btnIcoWeekPromptTag.onClick.Add(RuleController.ShowRuleView);
+            item.m_btnIcoWeekPromptTag.data = 300013;
+            //领取按钮点击事件
+            item.m_btnCurReceive.target.onClick.Add(OnBtnCurReceiveClick);
+            //购买按钮点击事件
+            item.m_btnBuy.target.onClick.Add(OnBtnBuyClick);
+
+            item.m_list.data = shopCfg;
+            item.m_list.itemRenderer = ChildListItemRender;
+            //item.m_list.onClickItem.Add(OnListSelectorItemClick);
+            item.m_list.numItems = numItems;
+            UI_ComCurSupplyItem.ProxyEnd();
+
+            RedDotController.Instance.SetComRedDot(obj.asCom, menu2 == ConstStoreSubId.STORE_GIFT_BAG_ACTIVITY && shopCfg.price == 0 && ShopDataManager.Instance.GetGoodsBuyNumById(shopCfg.id) < shopCfg.maxBuyNum, "", 5, 76);
+        }
+
+        // ReSharper disable Unity.PerformanceAnalysis
+        private void ChildListItemRender(int index, GObject obj)
+        {
+            UI_ComItem uiItemChild = UI_ComItem.Proxy(obj);
+            var shopCfg = uiItemChild.target.parent.data as ShopCfg;
+            var itemCfg = ItemCfgArray.Instance.GetCfg(shopCfg.itemId);
+            int[][] result;
+            if (shopCfg.refreshType == RefreshType.DAY)
+            {
+                result = itemCfg.itemsArr;
+            }
+            else
+            {
+                //周刷
+                result = itemCfg.param1Arr;
+            }
+           
+            var itemArr = result[index];
+            var itemCfgChild = ItemCfgArray.Instance.GetCfg(itemArr[0]);
+            uiItemChild.target.data = itemCfgChild;
+            uiItemChild.target.onClick.Add(OnListSelectorItemClick);
+            uiItemChild.m_txtCount.text = itemArr[1].ToString();
+            uiItemChild.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfgChild);
+            uiItemChild.m_QualityType.selectedIndex = itemCfgChild.rarity - 1;
+
+            UI_ComItem.ProxyEnd();
+        }
+
+        //弹出物品详细描述框
+        private void OnListSelectorItemClick(EventContext context)
+        {
+            GObject item = context.sender as GObject;
+            ItemCfg itemCfg = item.data as ItemCfg;
+            GoodsItemTipsController.ShowItemTips(itemCfg.id);
+        }
+
+        //领取按钮点击事件
+        // ReSharper disable Unity.PerformanceAnalysis
+        private void OnBtnCurReceiveClick(EventContext context)
+        {
+            GObject sender = context.sender as GObject;
+            GObject obj = sender.parent;
+            ShopCfg cfg = obj.data as ShopCfg;
+            bool isSellOut = EnduringGiftBoxDataManager.Instance.DayIsRebateGiftBox(cfg.itemId);
+
+            if (isSellOut)
+            {
+                EnduringGiftBoxSProxy.ReqGetGiftBagRebate(cfg.id).Coroutine();
+            }
+            else
+            {
+                PromptController.Instance.ShowFloatTextPrompt("无法领取");
+            }
+        }
+
+        //购买按钮点击事件
+        // ReSharper disable Unity.PerformanceAnalysis
+        private void OnBtnBuyClick(EventContext context)
+        {
+            //if (_itemId == ConstItemID.POWER && GuideDataManager.IsGuideFinish(ConstGuideId.BUY_POWER) <= 0)
+            //{
+            //    GuideController.TryCompleteGuideIndex(ConstGuideId.BUY_POWER, 1);
+            //    GuideController.TryCompleteGuide(ConstGuideId.BUY_POWER, 1);
+            //}
+
+            GObject sender = context.sender as GObject;
+            GObject obj = sender.parent;
+            ShopCfg cfg = obj.data as ShopCfg;
+            bool isSellOut = cfg.maxBuyNum > 0 &&
+                             cfg.maxBuyNum - ShopDataManager.Instance.GetGoodsBuyNumById(cfg.id) <= 0;
+
+            if (isSellOut)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("已售罄");
+                return;
+            }
+
+            if (!ShopDataManager.Instance.GetShopGoodsStateById(cfg.id))
+            {
+                PromptController.Instance.ShowFloatTextPrompt(ShopDataManager.Instance.GetShopGoodsStateTips(cfg.id));
+                return;
+            }
+
+            if (cfg.costType == CostType.FREE)
+            {
+                ShopSProxy.ReqShopBuy(cfg.id, 1).Coroutine();
+                LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.SHANG_CHENG, 2);
+            }
+            else
+            {
+                ViewManager.Show<ItemExchangeView>(cfg.id);
+            }
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/Store/StoreGiftBagAddRebateView.cs.meta

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

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

@@ -102,7 +102,7 @@ namespace GFGGame
             switch (menu2)
             {
                 case ConstStoreSubId.STORE_MONTH_GOLD_CARD:
-                    iconUrl = "ui://Store/card_lingxicard_icon";
+                    iconUrl = "ui://Store/hongbao_card_icon";
                     monthCfg = MonthlyCardCfgArray.Instance.GetCfg(MonthCardType.Gold);
                     endTime = GameGlobal.myNumericComponent.GetAsLong(NumericType.MonthCardGoldEndTime);
                     isGot = GameGlobal.myNumericComponent.GetAsInt(NumericType.MonthCardGoldReward) > 0;
@@ -113,14 +113,14 @@ namespace GFGGame
                             privilegeCount++;
                         }
                     }
-                    _ui.m_txtDesc.SetVar("value", "灵犀卡").FlushVars();
+                    _ui.m_txtDesc.SetVar("value", "豆包卡").FlushVars();
                     _ui.m_txtMoneyCount.text = privilegeCfg.value1Arr[0].ToString();
                     _ui.m_txtDailyMoneyCount.text = privilegeCfg.value1Arr[1].ToString();
                     _ui.m_btnBlackReward.visible = false;
                     _ui.m_btnRule.data = 300010;
                     break;
                 case ConstStoreSubId.STORE_MONTH_BLACK_CARD:
-                    iconUrl = "ui://Store/card_xuanjicard_icon";
+                    iconUrl = "ui://Store/fuqi_card_icon";
                     monthCfg = MonthlyCardCfgArray.Instance.GetCfg(MonthCardType.BlackGold);
                     endTime = GameGlobal.myNumericComponent.GetAsLong(NumericType.MonthCardBlackGoldEndTime);
                     isGot = GameGlobal.myNumericComponent.GetAsInt(NumericType.MonthCardBlackGoldReward) > 0;
@@ -131,7 +131,7 @@ namespace GFGGame
                             privilegeCount++;
                         }
                     }
-                    _ui.m_txtDesc.SetVar("value", "璇玑卡").FlushVars();
+                    _ui.m_txtDesc.SetVar("value", "阿福卡").FlushVars();
                     _ui.m_txtMoneyCount.text = privilegeCfg.value2Arr[0].ToString();
                     _ui.m_txtDailyMoneyCount.text = privilegeCfg.value2Arr[1].ToString();
                     _ui.m_btnBlackReward.visible = true;

+ 3 - 5
GameClient/Assets/Game/HotUpdate/Views/Store/StoreView.cs

@@ -97,8 +97,7 @@ namespace GFGGame
             base.OnHide();
             _ui.m_comTab.m_c1.selectedIndex = 0;
             _ui.m_listSubTab.selectedIndex = 0;
-
-            ViewManager.Hide<StoreBrocadeWeavView>();
+            ViewManager.Hide(_curViewName);
         }
         protected override void RemoveEventListener()
         {
@@ -111,7 +110,6 @@ namespace GFGGame
 
         private void OnClickBtnBack()
         {
-            ViewManager.Hide(_curViewName);
             this.Hide();
             //ViewManager.GoBackFrom(typeof(StoreView).FullName);
         }
@@ -137,7 +135,7 @@ namespace GFGGame
                     for (int i = 0; i < tabCfg.subTabArr.Length; i++)
                     {
                         int menu2 = int.Parse(tabCfg.subTabArr[i][1]);
-                        if (menu2 == ConstStoreSubId.STORE_GIFT_BAG_ACTIVITY || menu2 == ConstStoreSubId.STORE_GIFT_BAG_TSY)
+                        if (menu2 == ConstStoreSubId.STORE_GIFT_BAG_ACTIVITY)
                         {
                             if (!ShopDataManager.Instance.GetShopActivityIsShow(menu2)) continue;
                         }
@@ -228,7 +226,7 @@ namespace GFGGame
 
             UpdateStoreMonthRedDot();
 
-            RedDotController.Instance.SetComRedDot(_ui.m_comTab.m_btn2.target, RedDotDataManager.Instance.GetGiftBagRewardRed());
+            RedDotController.Instance.SetComRedDot(_ui.m_comTab.m_btn2.target, (RedDotDataManager.Instance.GetGiftBagRewardRed() || RedDotDataManager.Instance.GetGiftBagRebateRed()));
             if (_ui.m_comTab.m_c1.selectedIndex == ConstStoreTabId.STORE_GIFT_BAG)
             {
                 RedDotController.Instance.SetComRedDot(_ui.m_listSubTab.GetChildAt(ConstStoreSubId.STORE_GIFT_BAG_ACTIVITY).asCom, RedDotDataManager.Instance.GetGiftBagRewardRed());

+ 214 - 0
GameClient/Assets/Game/HotUpdate/Views/Studio/StudioActivityView.cs

@@ -0,0 +1,214 @@
+using System.Collections.Generic;
+using ET;
+using FairyGUI;
+using UI.Studio;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class StudioActivityView : BaseWindow
+    {
+        private UI_StudioActivityUI _ui;
+        private ValueBarController _valueBarController;
+        private StudioCfg _studioCfg;
+        private List<StoryLevelCfg> _storyLevelCfgs;
+        private int _itemIndex = 0;
+
+        public override void Dispose()
+        {
+            if (_valueBarController != null)
+            {
+                _valueBarController.Dispose();
+                _valueBarController = null;
+            }
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_StudioActivityUI.PACKAGE_NAME;
+            _ui = UI_StudioActivityUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+            isReturnView = true;
+            _valueBarController = new ValueBarController(_ui.m_comValueBar);
+
+            _ui.m_Bg.url = ResPathUtil.GetBgImgPath("bg_fhl");
+            _ui.m_btnChageLine.url = ResPathUtil.GetCommonGameResPath("zsx_fl");
+
+            _ui.m_list.itemRenderer = RenderListItem;
+
+            _ui.m_btnBack.onClick.Add(OnBtnBackClick);
+            _ui.m_btnReward.onClick.Add(OnBtnRewardClick);
+
+        }
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+            EventAgent.AddEventListener(ConstMessage.STORY_LEVEL_CHANGE, UpdateView);
+            EventAgent.AddEventListener(ConstMessage.FILLING_CHANGE_CHAPTER, UpdateView);
+            EventAgent.AddEventListener(ConstMessage.NOTICE_LIMIT_CHANGED, OnLimitChanged);
+            //EventAgent.AddEventListener(ConstMessage.RED_CHANGE, UpdateRedDot);
+
+        }
+
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+            EventAgent.RemoveEventListener(ConstMessage.STORY_LEVEL_CHANGE, UpdateView);
+            EventAgent.RemoveEventListener(ConstMessage.FILLING_CHANGE_CHAPTER, UpdateView);
+            EventAgent.RemoveEventListener(ConstMessage.NOTICE_LIMIT_CHANGED, OnLimitChanged);
+            //EventAgent.RemoveEventListener(ConstMessage.RED_CHANGE, UpdateRedDot);
+            //EventAgent.RemoveEventListener(ConstMessage.STUDIO_FILING_UPDATE, UpdateView);
+
+        }
+
+        protected override void OnShown()
+        {
+            base.OnShown();
+            _valueBarController.OnShown();
+
+            StudioDataManager.Instance.filingChapterId = StudioDataManager.Instance.GetLuckyBoxActivityID();
+
+            UpdateView();
+            UpdateItem();
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+            _valueBarController.OnHide();
+        }
+
+        private void RenderListItem(int index, GObject obj)
+        {
+            UI_ListLevelItem item = UI_ListLevelItem.Proxy(obj);
+            item.m_txtName.text = _storyLevelCfgs[index].name;
+            bool isFight = string.IsNullOrEmpty(_storyLevelCfgs[index].storyStartID);
+            string resBg = isFight ? "cyjd_di_1" : "cyjd_di_2";
+
+            if (isFight)
+            {
+                item.m_loaIcon.visible = false;
+                item.m_loaItem.visible = true;
+                StoryFightCfg storyFightCfg = StoryFightCfgArray.Instance.GetCfg(_storyLevelCfgs[index].fightID);
+                int itemId = DropOutCfgArray.Instance.GetCfgsByid(storyFightCfg.bonusRandomArr[0])[0].item;
+                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+                item.m_loaItem.url = ResPathUtil.GetIconPath(itemCfg);
+                if (item.m_loaItem.data == null)
+                {
+                    item.m_loaItem.onClick.Add(OnLoaItemClick);
+                }
+                item.m_loaItem.data = index;
+            }
+            else
+            {
+                item.m_loaItem.visible = false;
+                item.m_loaIcon.visible = true;
+                item.m_loaIcon.url = string.Format("ui://Studio/{0}", _studioCfg.res);
+            }
+            item.m_grpLock.visible = index > 0 && !InstanceZonesDataManager.CheckLevelPass(_storyLevelCfgs[index - 1].id);
+            item.m_comFlower.m_c1.selectedIndex = InstanceZonesDataManager.GetStarCountHistory(_storyLevelCfgs[index].id);
+            if (item.m_loaBg.data == null)
+            {
+                item.m_loaBg.onClick.Add(OnListItemClick);
+            }
+            item.m_loaBg.data = index;
+            UI_ListLevelItem.ProxyEnd();
+        }
+
+        private void OnLoaItemClick(EventContext context)
+        {
+            GObject obj = context.sender as GObject;
+            int index = (int)obj.data;
+            StoryFightCfg storyFightCfg = StoryFightCfgArray.Instance.GetCfg(_storyLevelCfgs[index].fightID);
+            int itemId = DropOutCfgArray.Instance.GetCfgsByid(storyFightCfg.bonusRandomArr[0])[0].item;
+            GoodsItemTipsController.ShowItemTips(itemId);
+        }
+
+        private void OnListItemClick(EventContext context)
+        {
+            GObject obj = context.sender as GObject;
+            int index = (int)obj.data;
+            StoryLevelCfg storyLevelCfg = _storyLevelCfgs[index];
+            if (index > 0 && !InstanceZonesDataManager.CheckLevelPass(_storyLevelCfgs[index - 1].id))
+            {
+                PromptController.Instance.ShowFloatTextPrompt("需通关前置关卡");
+                return;
+            }
+
+            MainStoryDataManager.currentLevelCfgId = storyLevelCfg.id;
+            InstanceZonesController.ShowLevelView(storyLevelCfg.id, OnFinishFilingStoryLevel);
+        }
+
+        private void OnFinishFilingStoryLevel(int levelCfgId, bool firstPass, bool success)
+        {
+            //StudioDataManager.Instance.SetLuckyBoxActivityID(MainStoryDataManager.currentChapterCfgId);
+            ViewManager.Show<StudioActivityView>();
+        }
+
+        private void UpdateView()
+        {
+            _studioCfg = StudioCfgArray.Instance.GetCfg(StudioDataManager.Instance.filingChapterId);
+            RoleLimitData limitData = RoleLimitDataManager.GetLimitData(this._studioCfg.limit);
+            var limitCfg = LimitCfgArray.Instance.GetCfg(this._studioCfg.limit);
+            _ui.m_loaBg.url = ResPathUtil.GetStudioFilingPicPath(_studioCfg.res); //ResPathUtil.GetBgImgPath(_studioCfg.res);
+            _ui.m_txtNum.text = string.Format("剩余次数:{0}/{1}", limitData.TotalPlayMax - limitData.PlayTimes, limitData.MaxStorageCount);
+
+            _ui.m_activityTipText.SetVar("name", _studioCfg.name).FlushVars();
+            _ui.m_activityTitle.text = _studioCfg.name;
+
+
+            _storyLevelCfgs = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(_studioCfg.type, _studioCfg.subType, StudioDataManager.Instance.filingChapterId);
+            _ui.m_list.numItems = _storyLevelCfgs.Count;
+
+            //UpdateRedDot();
+        }
+
+        private void UpdateItem()
+        {
+            for (int i = 0; i < _ui.m_list.numChildren; i++)
+            {
+                _ui.m_list.GetChildAt(i).visible = false;
+            }
+            _itemIndex = 0;
+            Timers.inst.Add(0.05f, _ui.m_list.numChildren, AddItemUpdate, 1);
+        }
+
+        private void AddItemUpdate(object param)
+        {
+            _ui.m_list.GetChildAt(_itemIndex).visible = true;
+            UI_ListLevelItem item = UI_ListLevelItem.Proxy(_ui.m_list.GetChildAt(_itemIndex));
+            item.m_Left.Play();
+            _itemIndex++;
+            UI_ListLevelItem.ProxyEnd();
+        }
+
+        protected void OnBtnBackClick()
+        {
+            Hide();
+        }
+
+        private void OnBtnRewardClick()
+        {
+            ViewManager.Show<StudioFilingRewardView>();
+        }
+
+        private void OnLimitChanged(EventContext context)
+        {
+            int limitId = (int)context.data;
+            if (this._studioCfg.limit != limitId)
+            {
+                return;
+            }
+            UpdateView();
+        }
+
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/Studio/StudioActivityView.cs.meta

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

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Views/Studio/StudioBuyNumView.cs

@@ -80,8 +80,8 @@ namespace GFGGame
                 if (privilegeCfgs[i].paramsArr[0] == _limitId)
                 {
                     _ui.m_txtNum1.visible = true;
-                    string str0 = privilegeCfgs[i].value1Arr[0] > 0 ? string.Format("灵犀卡+{0}次", privilegeCfgs[i].value1Arr[0]) : "";
-                    string str1 = privilegeCfgs[i].value2Arr[0] > 0 ? string.Format("璇玑卡+{0}次", privilegeCfgs[i].value2Arr[0]) : "";
+                    string str0 = privilegeCfgs[i].value1Arr[0] > 0 ? string.Format("豆包卡+{0}次", privilegeCfgs[i].value1Arr[0]) : "";
+                    string str1 = privilegeCfgs[i].value2Arr[0] > 0 ? string.Format("阿福卡+{0}次", privilegeCfgs[i].value2Arr[0]) : "";
                     _ui.m_txtNum0.text = string.Format("1.{0}{1}{2}", str0, !string.IsNullOrEmpty(str0) && !string.IsNullOrEmpty(str1) ? "," : "", str1);
                     _ui.m_txtNum1.text = string.Format("2.道具兑换(今天已兑换{0}/{1}次)", _limitData.BuyTimes, _limitCfg.buyNum);
                     break;

+ 6 - 16
GameClient/Assets/Game/HotUpdate/Views/Studio/StudioFilingView.cs

@@ -119,24 +119,14 @@ namespace GFGGame
             _ui.m_btnChange.title = _studioCfg.name;
             _ui.m_txtNum.text = string.Format("剩余次数:{0}/{1}", limitData.TotalPlayMax - limitData.PlayTimes, limitData.MaxStorageCount);
 
-            // 如果是活动界面,不显示套装获取进度
-            if (StudioDataManager.Instance.IsluckyBoxFilingChapter())
-            {
-                _ui.m_type.SetSelectedIndex(1);
-                _ui.m_activityTipText.SetVar("name", _studioCfg.name).FlushVars();
-                _ui.m_activityTitle.text = _studioCfg.name;
-            }
-            else
-            {
-                _ui.m_type.SetSelectedIndex(0);
-                SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(_studioCfg.suitId);
-                _ui.m_txtSuitName.text = suitCfg.name;
+            _ui.m_type.SetSelectedIndex(0);
+            SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(_studioCfg.suitId);
+            _ui.m_txtSuitName.text = suitCfg.name;
 
-                DressUpMenuSuitDataManager.GetSuitProgressBySuitId(_studioCfg.suitId, out int count, out int totalCount);
-                _ui.m_txtSuitProgress.text = string.Format("({0}/{1})", count, totalCount);
+            DressUpMenuSuitDataManager.GetSuitProgressBySuitId(_studioCfg.suitId, out int count, out int totalCount);
+            _ui.m_txtSuitProgress.text = string.Format("({0}/{1})", count, totalCount);
 
-                _ui.m_suitIcon.url = ResPathUtil.GetIconPath(suitCfg.res, "png");
-            }
+            _ui.m_suitIcon.url = ResPathUtil.GetIconPath(suitCfg.res, "png");
 
             _storyLevelCfgs = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(_studioCfg.type, _studioCfg.subType, StudioDataManager.Instance.filingChapterId);
             _ui.m_list.numItems = _storyLevelCfgs.Count;

+ 6 - 0
GameClient/Assets/Game/Launcher/LauncherConfig.cs

@@ -15,6 +15,12 @@ namespace GFGGame
         public const int HTTP_POST_TIME_OUT = 15;
         public static string SOUND_KEY = "sound";
         public static string MUSIC_KEY = "music";
+        public static string VOICE_KEY = "voice";
+
+        public static string SOUND_VOLUMN_KEY = "sound_volumn";
+        public static string MUSIC_VOLUMN_KEY = "music_volumn";
+        public static string VOICE_VOLUMN_KEY = "voice_volumn";
+
         public const string SQL_FILE_NAME = "excelConfig.sqlite.bytes";
 
         public const string LAST_LOGIN_IS_AGREE_KEY = "LAST_LOGIN_IS_AGREE_KEY_6";//上次登录是否同意隐私政策

+ 12 - 2
GameClient/Assets/Game/Launcher/LocalCache/LocalCache.cs

@@ -6,17 +6,27 @@ namespace GFGGame
     {
         public static void SetBool(string key, bool isOn)
         {
-            int value = isOn?1:0;
+            int value = isOn ? 1 : 0;
             PlayerPrefs.SetInt(key, value);
             PlayerPrefs.Save();
         }
 
         public static bool GetBool(string key, bool defaultValue)
         {
-            int defaultInt = defaultValue?1:0;
+            int defaultInt = defaultValue ? 1 : 0;
             int value = PlayerPrefs.GetInt(key, defaultInt);
             return value > 0;
         }
 
+        public static void SetFloat(string key, float value)
+        {
+            PlayerPrefs.SetFloat(key, value);
+            PlayerPrefs.Save();
+        }
+
+        public static float GetFloat(string key, float defaultValue)
+        {
+            return PlayerPrefs.GetFloat(key, defaultValue);
+        }
     }
 }

+ 1 - 1
GameClient/Assets/Plugins/Android/AndroidManifest.xml

@@ -18,7 +18,7 @@
     <application
         android:allowBackup="true"
 		android:icon="@drawable/ic_launcher"
-		android:label="万世镜内网">
+		android:label="test">
 		<activity android:name="com.unity3d.player.UnityPlayerActivity"
             android:configChanges="mnc|keyboardHidden|screenSize|orientation|keyboard"
             android:screenOrientation="portrait"

BIN
GameClient/Assets/Plugins/Android/gfglibrary-debug.aar


+ 0 - 32
GameClient/Assets/Plugins/Android/gfglibrary-debug.aar.meta

@@ -1,32 +0,0 @@
-fileFormatVersion: 2
-guid: 6b87e2a5baa5acd48a211faa07bf310a
-PluginImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  iconMap: {}
-  executionOrder: {}
-  defineConstraints: []
-  isPreloaded: 0
-  isOverridable: 0
-  isExplicitlyReferenced: 0
-  validateReferences: 1
-  platformData:
-  - first:
-      Android: Android
-    second:
-      enabled: 1
-      settings: {}
-  - first:
-      Any: 
-    second:
-      enabled: 0
-      settings: {}
-  - first:
-      Editor: Editor
-    second:
-      enabled: 0
-      settings:
-        DefaultValueInitialized: true
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 9 - 0
GameClient/Assets/Plugins/NativeGallery.meta

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 5e05ed2bddbccb94e9650efb5742e452
+folderAsset: yes
+timeCreated: 1518877529
+licenseType: Store
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 9 - 0
GameClient/Assets/Plugins/NativeGallery/Android.meta

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 0a607dcda26e7614f86300c6ca717295
+folderAsset: yes
+timeCreated: 1498722617
+licenseType: Store
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 38 - 0
GameClient/Assets/Plugins/NativeGallery/Android/NGCallbackHelper.cs

@@ -0,0 +1,38 @@
+#if UNITY_EDITOR || UNITY_ANDROID
+using UnityEngine;
+
+namespace NativeGalleryNamespace
+{
+	public class NGCallbackHelper : MonoBehaviour
+	{
+		private System.Action mainThreadAction = null;
+
+		private void Awake()
+		{
+			DontDestroyOnLoad( gameObject );
+		}
+
+		private void Update()
+		{
+			if( mainThreadAction != null )
+			{
+				try
+				{
+					System.Action temp = mainThreadAction;
+					mainThreadAction = null;
+					temp();
+				}
+				finally
+				{
+					Destroy( gameObject );
+				}
+			}
+		}
+
+		public void CallOnMainThread( System.Action function )
+		{
+			mainThreadAction = function;
+		}
+	}
+}
+#endif

+ 12 - 0
GameClient/Assets/Plugins/NativeGallery/Android/NGCallbackHelper.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 2d517fd0f2f85f24698df2775bee58e9
+timeCreated: 1544889149
+licenseType: Store
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 60 - 0
GameClient/Assets/Plugins/NativeGallery/Android/NGMediaReceiveCallbackAndroid.cs

@@ -0,0 +1,60 @@
+#if UNITY_EDITOR || UNITY_ANDROID
+using UnityEngine;
+
+namespace NativeGalleryNamespace
+{
+	public class NGMediaReceiveCallbackAndroid : AndroidJavaProxy
+	{
+		private readonly NativeGallery.MediaPickCallback callback;
+		private readonly NativeGallery.MediaPickMultipleCallback callbackMultiple;
+
+		private readonly NGCallbackHelper callbackHelper;
+
+		public NGMediaReceiveCallbackAndroid( NativeGallery.MediaPickCallback callback, NativeGallery.MediaPickMultipleCallback callbackMultiple ) : base( "com.yasirkula.unity.NativeGalleryMediaReceiver" )
+		{
+			this.callback = callback;
+			this.callbackMultiple = callbackMultiple;
+			callbackHelper = new GameObject( "NGCallbackHelper" ).AddComponent<NGCallbackHelper>();
+		}
+
+		public void OnMediaReceived( string path )
+		{
+			callbackHelper.CallOnMainThread( () => callback( !string.IsNullOrEmpty( path ) ? path : null ) );
+		}
+
+		public void OnMultipleMediaReceived( string paths )
+		{
+			string[] result = null;
+			if( !string.IsNullOrEmpty( paths ) )
+			{
+				string[] pathsSplit = paths.Split( '>' );
+
+				int validPathCount = 0;
+				for( int i = 0; i < pathsSplit.Length; i++ )
+				{
+					if( !string.IsNullOrEmpty( pathsSplit[i] ) )
+						validPathCount++;
+				}
+
+				if( validPathCount == 0 )
+					pathsSplit = new string[0];
+				else if( validPathCount != pathsSplit.Length )
+				{
+					string[] validPaths = new string[validPathCount];
+					for( int i = 0, j = 0; i < pathsSplit.Length; i++ )
+					{
+						if( !string.IsNullOrEmpty( pathsSplit[i] ) )
+							validPaths[j++] = pathsSplit[i];
+					}
+
+					pathsSplit = validPaths;
+				}
+
+				result = pathsSplit;
+			}
+
+			callbackHelper.CallOnMainThread( () => callbackMultiple( ( result != null && result.Length > 0 ) ? result : null ) );
+		}
+	}
+}
+#endif

Некоторые файлы не были показаны из-за большого количества измененных файлов