Explorar o código

第四周需求提交

zhangyuqian hai 1 ano
pai
achega
946322902b
Modificáronse 61 ficheiros con 1784 adicións e 97 borrados
  1. 3 0
      GameClient/Assets/Game/HotUpdate/Constant/ConstMessage.cs
  2. 2 0
      GameClient/Assets/Game/HotUpdate/Controller/GameController.cs
  3. 142 0
      GameClient/Assets/Game/HotUpdate/Data/CollectPartDataManager.cs
  4. 11 0
      GameClient/Assets/Game/HotUpdate/Data/CollectPartDataManager.cs.meta
  5. 29 0
      GameClient/Assets/Game/HotUpdate/Data/ScoreSystemData.cs
  6. 12 0
      GameClient/Assets/Game/HotUpdate/Data/VO/CollectPartData.cs
  7. 11 0
      GameClient/Assets/Game/HotUpdate/Data/VO/CollectPartData.cs.meta
  8. 2 1
      GameClient/Assets/Game/HotUpdate/Data/VO/ItemData.cs
  9. 23 0
      GameClient/Assets/Game/HotUpdate/DressUp/SceneController.cs
  10. 80 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_Button12.cs
  11. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_Button12.cs.meta
  12. 80 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_Button13.cs
  13. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_Button13.cs.meta
  14. 0 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_ZCJBBuyTips.cs
  15. 71 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingUpgrade/UI_Button123.cs
  16. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingUpgrade/UI_Button123.cs.meta
  17. 83 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingUpgrade/UI_ClothingAnsweringUI.cs
  18. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingUpgrade/UI_ClothingAnsweringUI.cs.meta
  19. 15 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingUpgrade/UI_ClothingSelectUI.cs
  20. 23 14
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingUpgrade/UI_ClothingUpgradeUI.cs
  21. 12 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingUpgrade/UI_clothingSelectItem.cs
  22. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_LuckyBoxUI.cs
  23. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_StoryDialogUI.cs
  24. 4 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/XiuFang/UI_Component.cs
  25. 66 0
      GameClient/Assets/Game/HotUpdate/ServerProxy/CollegeSproxy.cs
  26. 11 0
      GameClient/Assets/Game/HotUpdate/ServerProxy/CollegeSproxy.cs.meta
  27. 1 1
      GameClient/Assets/Game/HotUpdate/ServerProxy/TimeTracingSProxy.cs
  28. 2 2
      GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/ZCJBBuyTipsView.cs
  29. 140 0
      GameClient/Assets/Game/HotUpdate/Views/ClothingUpgarde/ClothingAnsweringView.cs
  30. 11 0
      GameClient/Assets/Game/HotUpdate/Views/ClothingUpgarde/ClothingAnsweringView.cs.meta
  31. 143 11
      GameClient/Assets/Game/HotUpdate/Views/ClothingUpgarde/ClothingSelectView.cs
  32. 141 5
      GameClient/Assets/Game/HotUpdate/Views/ClothingUpgarde/ClothingUpgradeView.cs
  33. 1 0
      GameClient/Assets/Game/HotUpdate/Views/Common/Controller/LuckyBoxController.cs
  34. 48 17
      GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxView.cs
  35. 4 0
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightFailView.cs
  36. 1 0
      GameClient/Assets/Game/HotUpdate/Views/Poem/PoemPhotoView.cs
  37. 25 9
      GameClient/Assets/Game/HotUpdate/Views/Store/StoreGrowthFundView.cs
  38. 6 2
      GameClient/Assets/Game/HotUpdate/Views/Store/StoreView.cs
  39. 13 1
      GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingShowView.cs
  40. 29 27
      GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingSuitRankView.cs
  41. 6 1
      GameClient/Assets/Game/HotUpdate/Views/XiuFang/XiuFangView.cs
  42. BIN=BIN
      GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_fui.bytes
  43. BIN=BIN
      GameClient/Assets/ResIn/UI/ClothingUpgrade/ClothingUpgrade_atlas0!a.png
  44. BIN=BIN
      GameClient/Assets/ResIn/UI/ClothingUpgrade/ClothingUpgrade_atlas0.png
  45. BIN=BIN
      GameClient/Assets/ResIn/UI/ClothingUpgrade/ClothingUpgrade_atlas0_1!a.png
  46. 120 0
      GameClient/Assets/ResIn/UI/ClothingUpgrade/ClothingUpgrade_atlas0_1!a.png.meta
  47. BIN=BIN
      GameClient/Assets/ResIn/UI/ClothingUpgrade/ClothingUpgrade_atlas0_1.png
  48. 120 0
      GameClient/Assets/ResIn/UI/ClothingUpgrade/ClothingUpgrade_atlas0_1.png.meta
  49. BIN=BIN
      GameClient/Assets/ResIn/UI/ClothingUpgrade/ClothingUpgrade_atlas0_2!a.png
  50. 120 0
      GameClient/Assets/ResIn/UI/ClothingUpgrade/ClothingUpgrade_atlas0_2!a.png.meta
  51. BIN=BIN
      GameClient/Assets/ResIn/UI/ClothingUpgrade/ClothingUpgrade_atlas0_2.png
  52. 120 0
      GameClient/Assets/ResIn/UI/ClothingUpgrade/ClothingUpgrade_atlas0_2.png.meta
  53. BIN=BIN
      GameClient/Assets/ResIn/UI/ClothingUpgrade/ClothingUpgrade_fui.bytes
  54. BIN=BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_fui.bytes
  55. BIN=BIN
      GameClient/Assets/ResIn/UI/Main/Main_fui.bytes
  56. BIN=BIN
      GameClient/Assets/ResIn/UI/Store/Store_fui.bytes
  57. BIN=BIN
      GameClient/Assets/ResIn/UI/XiuFang/XiuFang_atlas0!a.png
  58. BIN=BIN
      GameClient/Assets/ResIn/UI/XiuFang/XiuFang_atlas0.png
  59. BIN=BIN
      GameClient/Assets/ResIn/UI/XiuFang/XiuFang_atlas0_1!a.png
  60. BIN=BIN
      GameClient/Assets/ResIn/UI/XiuFang/XiuFang_atlas0_1.png
  61. BIN=BIN
      GameClient/Assets/ResIn/UI/XiuFang/XiuFang_fui.bytes

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

@@ -130,6 +130,7 @@ namespace GFGGame
         public const string CONTINUOUS_REBATE_GIFT = "CONTINUOUS_REBATE_GIFT"; //领取连续返利礼包
         public const string CONTINUOUS_REBATE_GIFT_SHOP_BUY = "CONTINUOUS_REBATE_GIFT_SHOP_BUY";
         public const string ACTIVITY_LUCKY_BOX = "ACTIVITY_LUCKY_BOX"; //通知限时抽奖活动剩余次数
+        public const string LUCKY_EFFECT_UPDATE = "LUCKY_EFFECT_UPDATE";
 
         //通知活动移除
         public const string ACTIVITY_REMOVE = "ACTIVITY_REMOVE";
@@ -250,5 +251,7 @@ namespace GFGGame
         public const string STORYCHAPREDUPDATE = "STORYCHAP_RED_UPDATE";
         //新手领取套装
         public const string NEWROLEGETSUIT = "NEWROLE_GETSUIT";
+        //搭配学院升级成功
+        public const string COLLEGE_UPGRADE = "COLLEGE_UPGRADE";
     }
 }

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

@@ -140,6 +140,8 @@ namespace GFGGame
             await InstanceZonesSProxy.GetInstanceZonesInfos();
             await StorageSProxy.ReqGetClientValues();
             await RoleInfoSProxy.ReqPersonalInfo();
+
+            await CollegeSProxy.ReqCollectUpgradeInfo();
             //功能协议数据不要放这里获取,放在AfterEnterGame函数中
 
             GameGlobal.lastLoginTime = StorageDataManager.Instance.GetStorageValue(ConstStorageId.LAST_LOGIN_TIME);

+ 142 - 0
GameClient/Assets/Game/HotUpdate/Data/CollectPartDataManager.cs

@@ -0,0 +1,142 @@
+using ET;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class CollectPartDataManager : SingletonBase<CollectPartDataManager>
+    {
+        //部位数量
+        public const int Count = 8;
+        //普通最高段位
+        public int MaxNormalRank = 5;
+        //特殊最高段位
+        public int MaxSpecialRank = 3;
+        //最高等级
+        public int MaxLevel = 9;
+        //加成比值
+        public int AddtitionRatio = 100;
+        //搭配部位分类
+        public Dictionary<int, List<float>> partScoreListDic = new Dictionary<int, List<float>>();
+        //部位名
+        public Dictionary<int, string> partNameDic = new Dictionary<int, string>() 
+        {    [1] = "连衣裙或上下装及内搭",
+             [2] = "发型",
+             [3] = "外套",
+             [4] = "袜子",
+             [5] = "鞋子",
+             [6] = "饰品",
+             [7] = "手持物",
+             [99] = "所有",
+              };
+        //部位图片
+        public Dictionary<int, string> partImage = new Dictionary<int, string>
+        {
+            [1] = "part1",
+            [2] = "hz_fenleitu_1",
+            [3] = "hz_fenleitu_12",
+            [4] = "hz_fenleitu_7",
+            [5] = "hz_fenleitu_8",
+            [6] = "hz_fenleitu_9",
+            [7] = "hz_fenleitu_10",
+            [99] = "part99",
+        };
+        //数据
+        public Dictionary<int, List<int>> CollectPartDataDic = new Dictionary<int, List<int>>();
+
+        //临时数据,后续通过服务器获取
+        public void UpdateDic()
+        {
+            CollectPartDataDic.Clear();
+            CollegeBoostCfg collectcfg;
+            for (int i = 1; i <= Count; i++)
+            {
+                List<int> item = new List<int>() { 3, 9 };
+                if (i == Count)
+                {
+                    collectcfg = CollegeBoostCfgArray.Instance.GetCfgBytypePartsAndtypePhaseAndlayer(99, item[0], item[1]);
+                    if (collectcfg == null)
+                    {
+                        item.Add(0);
+                    }
+                    else
+                    {
+                        item.Add(collectcfg.value);
+                    }
+                    if (CollectPartDataDic.ContainsKey(99))
+                    {
+                        CollectPartDataDic[99] = item;
+                    }
+                    else
+                    {
+                        CollectPartDataDic.Add(99, item);
+                    }
+                }
+                else
+                {
+                    collectcfg = CollegeBoostCfgArray.Instance.GetCfgBytypePartsAndtypePhaseAndlayer(i, item[0], item[1]);
+                    if (collectcfg == null)
+                    {
+                        item.Add(0);
+                    }
+                    else
+                    {
+                        item.Add(collectcfg.value);
+                    }
+                    if (CollectPartDataDic.ContainsKey(i))
+                    {
+                        CollectPartDataDic[i] = item;
+                    }
+                    else
+                    {
+                        CollectPartDataDic.Add(i, item);
+                    }
+                }
+            }
+        }
+
+        /// <summary>
+        /// 穿戴部件的搭配加成
+        /// </summary>
+        public float GetEquipScoresWithPartId(int itemID)
+        {
+            CollegeSubTypesCfg[] typeCfgs = CollegeSubTypesCfgArray.Instance.dataArray;
+            float addNum = 0;
+            for (int j = 0; j < typeCfgs.Length; j++)
+            {
+                CollegeSubTypesCfg cfg = typeCfgs[j];
+                for (int k = 0; k < cfg.subTypesArr.Length; k++)
+                {
+                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemID);
+                    if (itemCfg.subType == cfg.subTypesArr[k])
+                    {
+                        int partIndex = cfg.AdditionSite;
+                        int partIndexCommon = 0;
+                        if (partIndex != 99)
+                        {
+                            //0表示所有部位,1~7表示各个部位
+                            partIndexCommon = 0;
+                        }
+                        else
+                        {
+                            partIndexCommon = partIndex;
+                        }
+                        int level = CollectPartDataDic[partIndex][0];
+                        int levelNum = CollectPartDataDic[partIndex][1];
+                        if(levelNum == 0)
+                        {
+                            addNum += 0;
+                            break;
+                        }
+                        CollegeBoostCfg collegeCfg = CollegeBoostCfgArray.Instance.GetCfgBytypePartsAndtypePhaseAndlayer(partIndexCommon, level, levelNum);
+                        addNum += (float)collegeCfg.value / 10000;
+                        break;
+                    }
+                }
+            }
+            return addNum + 1;
+        }
+    }
+}

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

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

+ 29 - 0
GameClient/Assets/Game/HotUpdate/Data/ScoreSystemData.cs

@@ -144,7 +144,36 @@ namespace GFGGame
             int score = (int)Math.Ceiling(partScore + clickScore );
             return Math.Max(0, score);
         }
+        /// <summary>
+        /// 根据搭配学院获得服装分类基础分加成
+        /// CollectPartDataManager.partIndex: 1.连衣裙或者上衣、下装及内搭 2.发型 3.外套4.袜子 5.鞋子6.饰品7.手持物
+        /// </summary>
+        public float CollegeAddition(int roundId)
+        {
+            int additionNum = 1;
 
+            switch (roundId)
+            {
+                case 1:
+                    additionNum += CollectPartDataManager.Instance.CollectPartDataDic[2][2]/10000;
+                    break;
+                case 2:
+                    break;
+                case 3:
+                    additionNum += CollectPartDataManager.Instance.CollectPartDataDic[6][2] / 10000;
+                    break;
+                case 4:
+                    additionNum += CollectPartDataManager.Instance.CollectPartDataDic[7][2] / 10000;
+                    break;
+                case 5:
+                    additionNum += CollectPartDataManager.Instance.CollectPartDataDic[4][2] / 10000 + CollectPartDataManager.Instance.CollectPartDataDic[5][2] / 10000;
+                    break;
+                case 6:
+                    additionNum += CollectPartDataManager.Instance.CollectPartDataDic[1][2] / 10000 + CollectPartDataManager.Instance.CollectPartDataDic[3][2] / 10000;
+                    break;
+            }
+            return additionNum;
+        }
         public int GetRobotRoundScore(FightData robotData, int roundId, int clickType, double skillScore)
         {
             //部件评分=部件基础分*部件系数

+ 12 - 0
GameClient/Assets/Game/HotUpdate/Data/VO/CollectPartData.cs

@@ -0,0 +1,12 @@
+using System.Collections.Generic;
+
+namespace GFGGame
+{
+    public class CollectPartData
+    {
+        public int PartID;
+        public int LevelID;
+        public int LevelNum;
+        public float AddNum;
+    }
+}

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

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

+ 2 - 1
GameClient/Assets/Game/HotUpdate/Data/VO/ItemData.cs

@@ -77,7 +77,8 @@ namespace GFGGame
             }
             AttributesDic.TryGetValue(CalculateHelper.GetItemScoreKey(scoreType, (int)ConstItemAttributeActionType.ADD_VALUE), out var valueAdd);
             AttributesDic.TryGetValue(CalculateHelper.GetItemScoreKey(scoreType, (int)ConstItemAttributeActionType.ADD_PERCENT), out var percentAdd);
-            return CalculateHelper.GetItemAttribute(valueBase, percentAdd, valueAdd);
+            float count = (float)CalculateHelper.GetItemAttribute(valueBase, percentAdd, valueAdd) * CollectPartDataManager.Instance.GetEquipScoresWithPartId(id);
+            return (int)count;
         }
     }
 }

+ 23 - 0
GameClient/Assets/Game/HotUpdate/DressUp/SceneController.cs

@@ -180,6 +180,29 @@ namespace GFGGame
                 //StoryDialogDataManager.Instance.dialogShowDelay = 0.4f;
             }
         }
+        //更新人物表情
+        public static void UpdateEmojiAni(string value, ref GameObject animObj)
+        {
+            if (value == "0")
+            {
+                if (animObj != null)
+                {
+                    PrefabManager.Instance.Restore(animObj);
+                    animObj = null;
+                }
+            }
+            else
+            {
+                PrefabManager.Instance.Restore(animObj);
+                animObj = null;
+                value = string.Format("DressUp/{0}", value);
+                string res = value.Split('/')[1];
+                animObj = PrefabManager.Instance.InstantiateSync(ResPathUtil.GetStoryDialogCGPath(value, res));
+                animObj.transform.position = new Vector3(0, -8, 0);
+                animObj.transform.localScale = new Vector3(2.5f, 2.5f, 2.5f);
+                //StoryDialogDataManager.Instance.dialogShowDelay = 0.4f;
+            }
+        }
 
 
         public static void ControlBgVisible(GameObject sceneObj, bool isShow)

+ 80 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_Button12.cs

@@ -0,0 +1,80 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.ActivityMain
+{
+    public partial class UI_Button12
+    {
+        public GButton target;
+        public GTextField m_txtIcon;
+        public GTextField m_txtOriginalPrice;
+        public GGroup m_grpOriginalPrice;
+        public GTextField m_txtPrice;
+        public const string URL = "ui://4ht5s77uuje12c";
+        public const string PACKAGE_NAME = "ActivityMain";
+        public const string RES_NAME = "Button12";
+        private static UI_Button12 _proxy;
+
+        public static UI_Button12 Create(GObject gObject = null)
+        {
+            var ui = new UI_Button12();
+            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_Button12 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_Button12();
+            }
+            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_txtIcon = (GTextField)comp.GetChild("txtIcon");
+            m_txtOriginalPrice = (GTextField)comp.GetChild("txtOriginalPrice");
+            m_grpOriginalPrice = (GGroup)comp.GetChild("grpOriginalPrice");
+            m_txtPrice = (GTextField)comp.GetChild("txtPrice");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_txtIcon = null;
+            m_txtOriginalPrice = null;
+            m_grpOriginalPrice = null;
+            m_txtPrice = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_Button12.cs.meta

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

+ 80 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_Button13.cs

@@ -0,0 +1,80 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.ActivityMain
+{
+    public partial class UI_Button13
+    {
+        public GButton target;
+        public GTextField m_txtIcon;
+        public GTextField m_txtOriginalPrice;
+        public GGroup m_grpOriginalPrice;
+        public GTextField m_txtPrice;
+        public const string URL = "ui://4ht5s77uuje12w";
+        public const string PACKAGE_NAME = "ActivityMain";
+        public const string RES_NAME = "Button13";
+        private static UI_Button13 _proxy;
+
+        public static UI_Button13 Create(GObject gObject = null)
+        {
+            var ui = new UI_Button13();
+            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_Button13 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_Button13();
+            }
+            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_txtIcon = (GTextField)comp.GetChild("txtIcon");
+            m_txtOriginalPrice = (GTextField)comp.GetChild("txtOriginalPrice");
+            m_grpOriginalPrice = (GGroup)comp.GetChild("grpOriginalPrice");
+            m_txtPrice = (GTextField)comp.GetChild("txtPrice");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_txtIcon = null;
+            m_txtOriginalPrice = null;
+            m_grpOriginalPrice = null;
+            m_txtPrice = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_Button13.cs.meta

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

+ 0 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_ZCJBBuyTips.cs

@@ -7,7 +7,6 @@ namespace UI.ActivityMain
     public partial class UI_ZCJBBuyTips
     {
         public GComponent target;
-        public GGraph m_graph;
         public GTextField m_txtContent;
         public GTextField m_txtTips;
         public GTextField m_txtNumTips;
@@ -60,7 +59,6 @@ namespace UI.ActivityMain
 
         private void Init(GComponent comp)
         {
-            m_graph = (GGraph)comp.GetChild("graph");
             m_txtContent = (GTextField)comp.GetChild("txtContent");
             m_txtTips = (GTextField)comp.GetChild("txtTips");
             m_txtNumTips = (GTextField)comp.GetChild("txtNumTips");
@@ -69,7 +67,6 @@ namespace UI.ActivityMain
         }
         public void Dispose(bool disposeTarget = false)
         {
-            m_graph = null;
             m_txtContent = null;
             m_txtTips = null;
             m_txtNumTips = null;

+ 71 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingUpgrade/UI_Button123.cs

@@ -0,0 +1,71 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.ClothingUpgrade
+{
+    public partial class UI_Button123
+    {
+        public GButton target;
+        public Controller m_c1;
+        public const string URL = "ui://n7cyoafqxfkim";
+        public const string PACKAGE_NAME = "ClothingUpgrade";
+        public const string RES_NAME = "Button123";
+        private static UI_Button123 _proxy;
+
+        public static UI_Button123 Create(GObject gObject = null)
+        {
+            var ui = new UI_Button123();
+            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_Button123 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_Button123();
+            }
+            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_c1 = comp.GetController("c1");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingUpgrade/UI_Button123.cs.meta

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

+ 83 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingUpgrade/UI_ClothingAnsweringUI.cs

@@ -0,0 +1,83 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.ClothingUpgrade
+{
+    public partial class UI_ClothingAnsweringUI
+    {
+        public GComponent target;
+        public GLoader m_bg;
+        public GTextField m_txtAnswerNum;
+        public GTextField m_txtContent;
+        public GList m_listResult;
+        public GButton m_btnBack;
+        public const string URL = "ui://n7cyoafqxfkih";
+        public const string PACKAGE_NAME = "ClothingUpgrade";
+        public const string RES_NAME = "ClothingAnsweringUI";
+        private static UI_ClothingAnsweringUI _proxy;
+
+        public static UI_ClothingAnsweringUI Create(GObject gObject = null)
+        {
+            var ui = new UI_ClothingAnsweringUI();
+            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_ClothingAnsweringUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ClothingAnsweringUI();
+            }
+            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_txtAnswerNum = (GTextField)comp.GetChild("txtAnswerNum");
+            m_txtContent = (GTextField)comp.GetChild("txtContent");
+            m_listResult = (GList)comp.GetChild("listResult");
+            m_btnBack = (GButton)comp.GetChild("btnBack");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_bg = null;
+            m_txtAnswerNum = null;
+            m_txtContent = null;
+            m_listResult = null;
+            m_btnBack = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingUpgrade/UI_ClothingAnsweringUI.cs.meta

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

+ 15 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingUpgrade/UI_ClothingSelectUI.cs

@@ -8,7 +8,12 @@ namespace UI.ClothingUpgrade
     {
         public GComponent target;
         public GLoader m_bg;
+        public GGraph m_bgEffect;
+        public GLoader m_roleIcon;
+        public GLoader m_afuIcon;
         public GList m_selectList;
+        public GTextField m_descText;
+        public GGraph m_birdEffect;
         public GButton m_btnBack;
         public const string URL = "ui://n7cyoafqckqp0";
         public const string PACKAGE_NAME = "ClothingUpgrade";
@@ -58,13 +63,23 @@ namespace UI.ClothingUpgrade
         private void Init(GComponent comp)
         {
             m_bg = (GLoader)comp.GetChild("bg");
+            m_bgEffect = (GGraph)comp.GetChild("bgEffect");
+            m_roleIcon = (GLoader)comp.GetChild("roleIcon");
+            m_afuIcon = (GLoader)comp.GetChild("afuIcon");
             m_selectList = (GList)comp.GetChild("selectList");
+            m_descText = (GTextField)comp.GetChild("descText");
+            m_birdEffect = (GGraph)comp.GetChild("birdEffect");
             m_btnBack = (GButton)comp.GetChild("btnBack");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_bg = null;
+            m_bgEffect = null;
+            m_roleIcon = null;
+            m_afuIcon = null;
             m_selectList = null;
+            m_descText = null;
+            m_birdEffect = null;
             m_btnBack = null;
             if(disposeTarget && target != null)
             {

+ 23 - 14
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingUpgrade/UI_ClothingUpgradeUI.cs

@@ -8,16 +8,19 @@ namespace UI.ClothingUpgrade
     {
         public GComponent target;
         public Controller m_c1;
-        public GButton m_btnBack;
-        public GTextField m_desc1Text;
-        public GTextField m_desc2Text;
-        public GTextField m_desc3Text;
+        public Controller m_c2;
+        public GLoader m_bg;
         public GComponent m_item0;
         public GComponent m_item1;
         public GComponent m_item2;
-        public GLoader m_upgradeBtn;
+        public GTextField m_desc1Text;
+        public GTextField m_desc2Text;
+        public GTextField m_desc3Text;
+        public GButton m_upgradeBtn;
+        public GButton m_levelUpBtn;
         public GTextField m_finish;
         public GTextField m_unLockText;
+        public GButton m_btnBack;
         public const string URL = "ui://n7cyoafqckqp4";
         public const string PACKAGE_NAME = "ClothingUpgrade";
         public const string RES_NAME = "ClothingUpgradeUI";
@@ -66,30 +69,36 @@ namespace UI.ClothingUpgrade
         private void Init(GComponent comp)
         {
             m_c1 = comp.GetController("c1");
-            m_btnBack = (GButton)comp.GetChild("btnBack");
-            m_desc1Text = (GTextField)comp.GetChild("desc1Text");
-            m_desc2Text = (GTextField)comp.GetChild("desc2Text");
-            m_desc3Text = (GTextField)comp.GetChild("desc3Text");
+            m_c2 = comp.GetController("c2");
+            m_bg = (GLoader)comp.GetChild("bg");
             m_item0 = (GComponent)comp.GetChild("item0");
             m_item1 = (GComponent)comp.GetChild("item1");
             m_item2 = (GComponent)comp.GetChild("item2");
-            m_upgradeBtn = (GLoader)comp.GetChild("upgradeBtn");
+            m_desc1Text = (GTextField)comp.GetChild("desc1Text");
+            m_desc2Text = (GTextField)comp.GetChild("desc2Text");
+            m_desc3Text = (GTextField)comp.GetChild("desc3Text");
+            m_upgradeBtn = (GButton)comp.GetChild("upgradeBtn");
+            m_levelUpBtn = (GButton)comp.GetChild("levelUpBtn");
             m_finish = (GTextField)comp.GetChild("finish");
             m_unLockText = (GTextField)comp.GetChild("unLockText");
+            m_btnBack = (GButton)comp.GetChild("btnBack");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_c1 = null;
-            m_btnBack = null;
-            m_desc1Text = null;
-            m_desc2Text = null;
-            m_desc3Text = null;
+            m_c2 = null;
+            m_bg = null;
             m_item0 = null;
             m_item1 = null;
             m_item2 = null;
+            m_desc1Text = null;
+            m_desc2Text = null;
+            m_desc3Text = null;
             m_upgradeBtn = null;
+            m_levelUpBtn = null;
             m_finish = null;
             m_unLockText = null;
+            m_btnBack = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 12 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingUpgrade/UI_clothingSelectItem.cs

@@ -7,10 +7,13 @@ namespace UI.ClothingUpgrade
     public partial class UI_clothingSelectItem
     {
         public GComponent target;
+        public Controller m_c1;
         public GLoader m_partIcon;
         public GTextField m_levelText;
-        public GTextField m_levelDescText;
         public GTextField m_levelNumText;
+        public GTextField m_nameText;
+        public GTextField m_descText;
+        public GTextField m_levelDescText;
         public const string URL = "ui://n7cyoafqckqp1";
         public const string PACKAGE_NAME = "ClothingUpgrade";
         public const string RES_NAME = "clothingSelectItem";
@@ -58,17 +61,23 @@ namespace UI.ClothingUpgrade
 
         private void Init(GComponent comp)
         {
+            m_c1 = comp.GetController("c1");
             m_partIcon = (GLoader)comp.GetChild("partIcon");
             m_levelText = (GTextField)comp.GetChild("levelText");
-            m_levelDescText = (GTextField)comp.GetChild("levelDescText");
             m_levelNumText = (GTextField)comp.GetChild("levelNumText");
+            m_nameText = (GTextField)comp.GetChild("nameText");
+            m_descText = (GTextField)comp.GetChild("descText");
+            m_levelDescText = (GTextField)comp.GetChild("levelDescText");
         }
         public void Dispose(bool disposeTarget = false)
         {
+            m_c1 = null;
             m_partIcon = null;
             m_levelText = null;
-            m_levelDescText = null;
             m_levelNumText = null;
+            m_nameText = null;
+            m_descText = null;
+            m_levelDescText = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

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

@@ -17,6 +17,8 @@ namespace UI.LuckyBox
         public GButton m_btnRight;
         public GGraph m_effectZWH;
         public GGraph m_effectTWH;
+        public GGraph m_effectZWH2;
+        public GGraph m_effectTWH2;
         public const string URL = "ui://drx9d1uswono2q";
         public const string PACKAGE_NAME = "LuckyBox";
         public const string RES_NAME = "LuckyBoxUI";
@@ -74,6 +76,8 @@ namespace UI.LuckyBox
             m_btnRight = (GButton)comp.GetChild("btnRight");
             m_effectZWH = (GGraph)comp.GetChild("effectZWH");
             m_effectTWH = (GGraph)comp.GetChild("effectTWH");
+            m_effectZWH2 = (GGraph)comp.GetChild("effectZWH2");
+            m_effectTWH2 = (GGraph)comp.GetChild("effectTWH2");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -87,6 +91,8 @@ namespace UI.LuckyBox
             m_btnRight = null;
             m_effectZWH = null;
             m_effectTWH = null;
+            m_effectZWH2 = null;
+            m_effectTWH2 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

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

@@ -25,6 +25,7 @@ namespace UI.Main
         public GTextField m_txtPlayName;
         public GGroup m_comPlayName;
         public GGraph m_mask;
+        public GGraph m_effect;
         public Transition m_t0;
         public Transition m_showMask;
         public Transition m_hideMask;
@@ -96,6 +97,7 @@ namespace UI.Main
             m_txtPlayName = (GTextField)comp.GetChild("txtPlayName");
             m_comPlayName = (GGroup)comp.GetChild("comPlayName");
             m_mask = (GGraph)comp.GetChild("mask");
+            m_effect = (GGraph)comp.GetChild("effect");
             m_t0 = comp.GetTransition("t0");
             m_showMask = comp.GetTransition("showMask");
             m_hideMask = comp.GetTransition("hideMask");
@@ -127,6 +129,7 @@ namespace UI.Main
             m_txtPlayName = null;
             m_comPlayName = null;
             m_mask = null;
+            m_effect = null;
             m_t0 = null;
             m_showMask = null;
             m_hideMask = null;

+ 4 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/XiuFang/UI_Component.cs

@@ -11,6 +11,7 @@ namespace UI.XiuFang
         public UI_Component1 m_btnSuitSynthetic;
         public UI_Component1 m_btnClothingUpgrade;
         public UI_Component1 m_btnDecompose;
+        public UI_Component1 m_btnGYP;
         public const string URL = "ui://kv0ad4wywlc28";
         public const string PACKAGE_NAME = "XiuFang";
         public const string RES_NAME = "Component";
@@ -62,6 +63,7 @@ namespace UI.XiuFang
             m_btnSuitSynthetic = (UI_Component1)UI_Component1.Create(comp.GetChild("btnSuitSynthetic"));
             m_btnClothingUpgrade = (UI_Component1)UI_Component1.Create(comp.GetChild("btnClothingUpgrade"));
             m_btnDecompose = (UI_Component1)UI_Component1.Create(comp.GetChild("btnDecompose"));
+            m_btnGYP = (UI_Component1)UI_Component1.Create(comp.GetChild("btnGYP"));
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -73,6 +75,8 @@ namespace UI.XiuFang
             m_btnClothingUpgrade = null;
             m_btnDecompose.Dispose();
             m_btnDecompose = null;
+            m_btnGYP.Dispose();
+            m_btnGYP = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 66 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/CollegeSproxy.cs

@@ -0,0 +1,66 @@
+using ET;
+using GFGGame;
+using System;
+using System.Collections.Generic;
+
+namespace ET
+{
+    public static class CollegeSProxy
+    {
+        public static async ETTask<bool> ReqCollectUpgradeInfo()
+        {
+            var response = (M2C_GetDressUpSkillDes)await MessageHelper.SendToServer(new C2M_GetDressUpSkillDes());
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+            int Count = response.CollectPartInfos.Count;
+            CollegeBoostCfg collectcfg;
+            for (int i = 0; i < response.CollectPartInfos.Count; i++)
+            {
+                List<int> item = new List<int>() { response.CollectPartInfos[i].Stage, response.CollectPartInfos[i].Lvl };
+                    collectcfg = CollegeBoostCfgArray.Instance.GetCfgBytypePartsAndtypePhaseAndlayer(i, item[0], item[1]);
+                    if (collectcfg == null)
+                    {
+                        item.Add(0);
+                    }
+                    else
+                    {
+                        item.Add(collectcfg.value);
+                    }
+                    if (CollectPartDataManager.Instance.CollectPartDataDic.ContainsKey(response.CollectPartInfos[i].CollectPartType))
+                    {
+                        CollectPartDataManager.Instance.CollectPartDataDic[response.CollectPartInfos[i].CollectPartType] = item;
+                    }
+                    else
+                    {
+                        CollectPartDataManager.Instance.CollectPartDataDic.Add(response.CollectPartInfos[i].CollectPartType, item);
+                    }
+            }
+            return true;
+    }
+
+        public static async ETTask<bool> ReqCollectUpgrade(int partType,int stage,int lv)
+        {
+            var response = (M2C_UpDressUpSkill)await MessageHelper.SendToServer(new C2M_UpDressUpSkill(){ CollectPartType = partType, Stage = stage,Lvl = lv });
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+            List<int> item = new List<int>() { response.CollectPartInfo.Stage, response.CollectPartInfo.Lvl };
+            CollegeBoostCfg collectcfg = CollegeBoostCfgArray.Instance.GetCfgBytypePartsAndtypePhaseAndlayer(response.CollectPartInfo.CollectPartType, item[0], item[1]);
+            if (collectcfg == null)
+            {
+                item.Add(0);
+            }
+            else
+            {
+                item.Add(collectcfg.value);
+            }
+            if (CollectPartDataManager.Instance.CollectPartDataDic.ContainsKey(response.CollectPartInfo.CollectPartType))
+            {
+                CollectPartDataManager.Instance.CollectPartDataDic[response.CollectPartInfo.CollectPartType] = item;
+            }
+            else
+            {
+                CollectPartDataManager.Instance.CollectPartDataDic.Add(response.CollectPartInfo.CollectPartType, item);
+            }
+            EventAgent.DispatchEvent(ConstMessage.COLLEGE_UPGRADE);
+            return true;
+        }
+    }
+}

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

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

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

@@ -163,7 +163,7 @@ namespace GFGGame
             {
                 if(response.AllKs[i] == 6200123)
                 {
-                    TimeTracingDataManager.SuitID = (int)response.AllVs[i];
+                    TimeTracingDataManager.SuitID = (int)response.AllVs[i]; 
                     return true;
                 }
             }

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/ZCJBBuyTipsView.cs

@@ -2,7 +2,6 @@
 using System.Collections.Generic;
 using UI.ActivityMain;
 using FairyGUI;
-using UI.CommonGame;
 
 namespace GFGGame
 {
@@ -26,14 +25,15 @@ namespace GFGGame
         protected override void OnInit()
         {
             base.OnInit();
+            packageName = UI_ZCJBBuyTips.PACKAGE_NAME;
             _ui = UI_ZCJBBuyTips.Create();
             this.viewCom = _ui.target;
             this.viewCom.Center();
             this.modal = true;
+            viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
 
             _ui.m_btnRight.onClick.Add(OnClickBtnSure);
             _ui.m_btnLeft.onClick.Add(OnClickBtnCancel);
-            _ui.m_graph.onClick.Add(OnClickBtnCancel);
         }
 
         protected override void OnShown()

+ 140 - 0
GameClient/Assets/Game/HotUpdate/Views/ClothingUpgarde/ClothingAnsweringView.cs

@@ -0,0 +1,140 @@
+using System;
+using System.Collections.Generic;
+using ET;
+using FairyGUI;
+using UI.CommonGame;
+using UI.ClothingUpgrade;
+using Random = System.Random;
+
+namespace GFGGame
+{
+    class ClothingAnsweringView : BaseWindow
+    {
+        private UI_ClothingAnsweringUI _ui;
+        private int _partIndex;
+        private int partIndexCommon;
+        private int level;
+        private int levelNum;
+        private int questionNum = 5;
+        private int questIndex  = 0;
+        private int questionId;
+        private int cout;
+        public override void Dispose()
+        {
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_ClothingAnsweringUI.PACKAGE_NAME;
+            _ui = UI_ClothingAnsweringUI.Create();
+            this.viewCom = _ui.target;
+            this.viewCom.Center();
+
+            _ui.m_listResult.itemRenderer = RenderListResultItem;
+            _ui.m_btnBack.onClick.Add(OnClickBtnBack);
+        }
+
+        protected override void OnShown()
+        {
+            base.OnShown();
+            if (this.viewData != null)
+            {
+                _partIndex = (int)(this.viewData as object[])[0];
+                level = (int)(this.viewData as object[])[1];
+                levelNum = (int)(this.viewData as object[])[2];
+            }
+            if (_partIndex != 99)
+            {
+                partIndexCommon = 0;
+            }
+            else
+            {
+                partIndexCommon = 99;
+            }
+            _ui.m_bg.url = ResPathUtil.GetBgImgPath("gyp_bg");
+            questionNum = CollegeRankCfgArray.Instance.GetCfgByRankPartsIdAndSecondLevelRank(partIndexCommon, level).NumberOfAnswers;
+            cout = LeagueQuestionCfgArray.Instance.dataArray.Length + 1;
+            questIndex = 0;
+            UpdateQuestion();
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+        }
+        private void RenderListResultItem(int index, GObject obj)
+        {
+            LeagueQuestionCfg cfg = LeagueQuestionCfgArray.Instance.GetCfg(questionId); ;
+            UI_Button123 item = UI_Button123.Proxy(obj);
+            int data = index + 1;
+            item.m_c1.selectedIndex = 2;
+            item.target.title = string.Format("{0}.{1}", data, cfg.answerArr[index]);
+            if (item.target.data == null)
+            {
+                item.target.onClick.Add(OnBtnChooseClick);
+            }
+            item.target.data = data;
+            UI_Button123.ProxyEnd();
+        }
+        private async void OnBtnChooseClick(EventContext context)
+        {
+            GObject obj = context.sender as GObject;
+            int data = (int)obj.data;
+            UI_Button123 item = UI_Button123.Proxy(obj);
+            LeagueQuestionCfg cfg = LeagueQuestionCfgArray.Instance.GetCfg(questionId);
+            //测试 正确答案
+            if (data == int.Parse(cfg.answerCorrect))
+            {
+                item.m_c1.selectedIndex = 1;
+                if (questIndex >= questionNum)
+                {
+                    //发送升级
+                    var result = await CollegeSProxy.ReqCollectUpgrade(_partIndex, level, levelNum);
+                    string exitTip = "恭喜恭喜!晋升成功!";
+                    AlertUI.Show(exitTip)
+                    .SetLeftButton(false, "取消", (object data) =>
+                    {
+                    })
+                    .SetRightButton(true, "确定", (object data) =>
+                    {
+                        //退出
+                        ViewManager.GoBackFrom(typeof(ClothingAnsweringView).FullName);
+                    });
+                }
+                else
+                {
+                    UpdateQuestion();
+                }  
+            }
+            else
+            {  
+                item.m_c1.selectedIndex = 0;  
+            }
+            UI_Button123.ProxyEnd();
+        }
+        private void UpdateQuestion()
+        {
+            questIndex++;
+            Random random = new Random();
+            questionId = random.Next(1, cout); // 生成1到cout之间的随机整数
+            LeagueQuestionCfg questionCfg = LeagueQuestionCfgArray.Instance.GetCfg(questionId);
+            _ui.m_txtAnswerNum.text = string.Format("第{0}/{1}题", questIndex,questionNum);
+            _ui.m_txtContent.text = questionCfg.question;
+            _ui.m_listResult.numItems = questionCfg.answerArr.Length;
+        }
+        private void OnClickBtnBack()
+        {
+            string exitTip = "是否退出,退出后将不保存答题进度,并且下次题目将随机出现";
+            AlertUI.Show(exitTip)
+            .SetLeftButton(true, "取消", (object data) =>
+            {
+            })
+            .SetRightButton(true, "确定", (object data) =>
+            {
+                ViewManager.GoBackFrom(typeof(ClothingAnsweringView).FullName);
+            }); 
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/ClothingUpgarde/ClothingAnsweringView.cs.meta

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

+ 143 - 11
GameClient/Assets/Game/HotUpdate/Views/ClothingUpgarde/ClothingSelectView.cs

@@ -5,15 +5,29 @@ using FairyGUI;
 using UI.CommonGame;
 using UI.ClothingUpgrade;
 using UnityEngine;
+using System.Text.RegularExpressions;
 
 namespace GFGGame
 {
     public class ClothingSelectView : BaseWindow
     {
         private UI_ClothingSelectUI _ui;
+        private int partIndex1;
+        private int partIndex2;
+        private EffectUI _effectUI1;
+        private EffectUI _effectUI2;
 
         public override void Dispose()
         {
+            EffectUIPool.Recycle(_effectUI1);
+            _effectUI1 = null;
+            EffectUIPool.Recycle(_effectUI2);
+            _effectUI2 = null;
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
             base.Dispose();
         }
 
@@ -23,15 +37,20 @@ namespace GFGGame
             packageName = UI_ClothingSelectUI.PACKAGE_NAME;
             _ui = UI_ClothingSelectUI.Create();
             this.viewCom = _ui.target;
+            isReturnView = true;
             isfullScreen = true;
             modal = true;
             _ui.m_btnBack.onClick.Add(OnClickBtnBack);
             _ui.m_selectList.itemRenderer = RenderListItem;
+
+            _effectUI1 = EffectUIPool.CreateEffectUI(_ui.m_bgEffect, "ui_gyp", "GYP_ALL");
+            _effectUI2 = EffectUIPool.CreateEffectUI(_ui.m_birdEffect, "ui_gyp", "GYP_Bird");
         }
 
         protected override void OnShown()
         {
             base.OnShown();
+            _ui.m_bg.url = ResPathUtil.GetBgImgPath("gyp_bg");
             UpdateList();
         }
 
@@ -39,33 +58,146 @@ namespace GFGGame
         {
             base.OnHide();
         }
-
+        private void UpdateList()
+        {
+            _ui.m_selectList.numItems = CollectPartDataManager.Count;
+        }
         private void RenderListItem(int index, GObject obj)
         {
             UI_clothingSelectItem listItem = UI_clothingSelectItem.Proxy(obj);
-            if (listItem.target.data == null)
+            int level;
+            int levelNum;
+            int addNum;
+            if(index < CollectPartDataManager.Count - 1)
+            {
+                //0表示所有部位,1~7表示各个部位
+                partIndex1 = 0;
+                partIndex2 = index + 1;
+            }
+            else
             {
-                listItem.target.onClick.Add(OnBtnItem);
+                partIndex1 = 99;
+                partIndex2 = 99;
+            }
+            level = CollectPartDataManager.Instance.CollectPartDataDic[partIndex2][0];
+            levelNum = CollectPartDataManager.Instance.CollectPartDataDic[partIndex2][1];
+            if (IsOpenRank(partIndex2))
+            {
+                listItem.target.visible = true;
+                if (levelNum > 0)
+                {
+                    addNum = CollegeBoostCfgArray.Instance.GetCfgBytypePartsAndtypePhaseAndlayer(partIndex1, level, levelNum).value;
+                    float addNumPercentage = (float)addNum / CollectPartDataManager.Instance.AddtitionRatio;
+                    listItem.m_c1.selectedIndex = 0;
+                    listItem.m_partIcon.url = string.Format("ui://ClothingUpgrade/{0}", CollectPartDataManager.Instance.partImage[partIndex2]);
+                    CollegeRankCfg rankItemList = CollegeRankCfgArray.Instance.GetCfgByRankPartsIdAndSecondLevelRank(partIndex1, level);
+                    listItem.m_levelText.text = rankItemList.gradeName;
+                    listItem.m_levelNumText.text = string.Format("{0}级", levelNum.ToString());
+                    listItem.m_nameText.text = CollectPartDataManager.Instance.partNameDic[partIndex2];
+                    listItem.m_levelDescText.text = string.Format("{0}%", addNumPercentage);
+
+                }
+                else
+                {
+
+                    listItem.m_c1.selectedIndex = 0;
+                    listItem.m_partIcon.url = string.Format("ui://ClothingUpgrade/{0}", CollectPartDataManager.Instance.partImage[partIndex2]);
+                    CollegeRankCfg rankItemList = CollegeRankCfgArray.Instance.GetCfgByRankPartsIdAndSecondLevelRank(partIndex1, level);
+                    listItem.m_levelText.text = rankItemList.gradeName;
+                    listItem.m_levelNumText.text = string.Format("{0}级", "0");
+                    listItem.m_nameText.text = CollectPartDataManager.Instance.partNameDic[partIndex2];
+                    listItem.m_levelDescText.text = string.Format("{0}%", "0");
+                }
+                if (listItem.target.data == null)
+                {
+                    listItem.target.onClick.Add(OnBtnItem);
+                }
+                listItem.target.data = partIndex2;
+            }
+            else
+            {
+                listItem.m_c1.selectedIndex = 1;
+                listItem.target.visible = false;
             }
-            listItem.target.data = index;
             UI_clothingSelectItem.ProxyEnd();
         }
+        private bool IsOpenRank(int partIndex,int levelNum = 9)
+        {
+            List<int> openList;
+            bool isRank = false;
+            bool isLevel = false;
+            bool isPassStory = false ;
+            CollegeRankOpenCfg openitem = CollegeRankOpenCfgArray.Instance.GetCfg(partIndex);
+            openList = GetOpenList(partIndex);
+            //判断段位
+            if (openitem.OpenPreconditionArr == null || openitem.OpenPreconditionArr.Length == 0)
+            {
+                isRank = true;
+            }
+            else
+            {
+                if (CollectPartDataManager.Instance.CollectPartDataDic[openList[0]][0] >= openList[1])
+                {
+                    if (CollectPartDataManager.Instance.CollectPartDataDic[openList[0]][1] >= openList[2])
+                    {
+                        isRank = true;
+                    }
+                }
+            }
+            //判断等级
+            if(RoleDataManager.lvl >= openitem.needRoleLv)
+            {
+                isLevel = true;
+            }
+            //判断关卡
+            if(openitem.needStoryLevelId == 0 || InstanceZonesDataManager.CheckLevelPass(openitem.needStoryLevelId))
+            {
+                isPassStory = true;
+            }
+            else
+            {
+                isPassStory = false;
+            }
+
+            return isRank&&isLevel&&isPassStory;
+        }
+        private List<int> GetOpenList(int partIndex)
+        {
+            List<int> openList = new List<int>();
+            string pattern = @"\d+";
+            CollegeRankOpenCfg openitem = CollegeRankOpenCfgArray.Instance.GetCfg(partIndex);
+            for (int i = 0; i < openitem.OpenPreconditionArr.Length; i++)
+            {
+                MatchCollection matches = Regex.Matches(openitem.OpenPreconditionArr[i], pattern);
+                foreach (Match match in matches)
+                {
+                    openList.Add(int.Parse(match.Value));
+                }
+            }
+            return openList;
+        }
 
         private void OnBtnItem(EventContext context)
         {
             GObject Item = context.sender as GObject;
             int partIndex = (int)Item.data;
-            ViewManager.Show<ClothingUpgradeView>(new object[] {partIndex });
+            if(IsOpenRank(partIndex))
+            {
+                ViewManager.Show<ClothingUpgradeView>(new object[] { partIndex });
+            }
+            else
+            {
+                //string openString = "";
+                //string partName = CollectPartDataManager.Instance.partNameDic[partIndex];
+                //List<int> openList = GetOpenList(partIndex);
+                //openString = CollegeRankCfgArray.Instance.GetCfgByRankPartsIdAndSecondLevelRank(partIndex2, openList[1]).gradeName;
+                //string descString = string.Format("该部位需要达到{0}{1}{2}开启", partName, openString, openList[2]);
+                PromptController.Instance.ShowFloatTextPrompt("需要达到特定条件开启");
+            }
         }
-
         private void OnClickBtnBack()
         {
             ViewManager.GoBackFrom(typeof(ClothingSelectView).FullName);
         }
-
-        private void UpdateList()
-        {
-
-        }
     }
 }

+ 141 - 5
GameClient/Assets/Game/HotUpdate/Views/ClothingUpgarde/ClothingUpgradeView.cs

@@ -12,6 +12,16 @@ namespace GFGGame
     {
         private UI_ClothingUpgradeUI _ui;
         private int _partIndex;
+        private int partIndexCommon;
+        private int maxRank;
+        private int level;
+        private int levelNum;
+        private float AddNum;
+        private int status = 0;
+        private CollegeBoostCfg collegegBoostCfg;
+        private CollegeBoostCfg collegeBoostNextCfg;
+        private List<GObject> itemList = new List<GObject>();
+        private CollectPartData nextPartData = new CollectPartData();
         public override void Dispose()
         {
             base.Dispose();
@@ -26,6 +36,8 @@ namespace GFGGame
             isfullScreen = true;
             modal = true;
             _ui.m_btnBack.onClick.Add(OnClickBtnBack);
+            _ui.m_upgradeBtn.onClick.Add(OnClickUpgrade);
+            _ui.m_levelUpBtn.onClick.Add(OnClickLevelUp);
         }
 
         protected override void OnShown()
@@ -35,22 +47,146 @@ namespace GFGGame
             {
                 _partIndex = (int)(this.viewData as object[])[0];
             }
-            UpdateItems();
+            _ui.m_bg.url = ResPathUtil.GetBgImgPath("gyp_bg");
+            InitDate();
+
+            //更新数据
+            Update();
         }
 
         protected override void OnHide()
         {
+            itemList.Clear();
             base.OnHide();
         }
-        private void UpdateItems()
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+            EventAgent.AddEventListener(ConstMessage.COLLEGE_UPGRADE, Update);
+            EventAgent.AddEventListener(ConstMessage.COLLEGE_UPGRADE, LevelUpSuccessTip);
+        }
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+            EventAgent.RemoveEventListener(ConstMessage.COLLEGE_UPGRADE, Update);
+            EventAgent.RemoveEventListener(ConstMessage.COLLEGE_UPGRADE, LevelUpSuccessTip);
+        }
+        private void Update()
         {
-            _ui.m_c1.selectedIndex = 4;
+            UpdateData();
+            UpdateView();
+        }
+        private void UpdateData()
+        {
+            level = CollectPartDataManager.Instance.CollectPartDataDic[_partIndex][0];
+            levelNum = CollectPartDataManager.Instance.CollectPartDataDic[_partIndex][1];
+            if (levelNum > 0)
+            {
+                //当前数据
+                collegegBoostCfg = CollegeBoostCfgArray.Instance.GetCfgBytypePartsAndtypePhaseAndlayer(partIndexCommon, level, levelNum);
+                AddNum = (float)collegegBoostCfg.value / CollectPartDataManager.Instance.AddtitionRatio;
+                //下一级数据
+                levelNum = CollectPartDataManager.Instance.CollectPartDataDic[_partIndex][1];
+                nextPartData.PartID = _partIndex;
+                if (levelNum + 1 > CollectPartDataManager.Instance.MaxLevel)
+                {
+                    nextPartData.LevelID = level + 1;
+                    nextPartData.LevelNum = 1;
+                    status = 2;
+                }
+                else
+                {
+                    nextPartData.LevelID = level;
+                    nextPartData.LevelNum = levelNum + 1;
+                    status = 1;
+                }
+            }
+            else
+            {
+                AddNum = 0;
+                levelNum = 0;
+                nextPartData.PartID = _partIndex;
+                nextPartData.LevelID = level;
+                nextPartData.LevelNum = levelNum + 1;
+                status = 1;
+            }
+            collegeBoostNextCfg = CollegeBoostCfgArray.Instance.GetCfgBytypePartsAndtypePhaseAndlayer(partIndexCommon, nextPartData.LevelID, nextPartData.LevelNum);
+            if(collegeBoostNextCfg == null || collegeBoostNextCfg.value == 0)
+            {
+                nextPartData.AddNum = 0;
+                status = 3;
+            }
+            else
+            {
+                nextPartData.AddNum = (float)collegeBoostNextCfg.value / CollectPartDataManager.Instance.AddtitionRatio;
+            }
+            
+        }
+        private void UpdateView()
+        {
+            _ui.m_c1.selectedIndex = status;
+             
+            string name = CollegeRankCfgArray.Instance.GetCfgByRankPartsIdAndSecondLevelRank(partIndexCommon, level).gradeName;
+            string partName = CollectPartDataManager.Instance.partNameDic[_partIndex];
+            _ui.m_desc1Text.text = string.Format("{0}{1}级", name,levelNum);
+            _ui.m_desc2Text.text = string.Format("当  前:{0}基础属性+{1}%", partName, AddNum.ToString());
+            _ui.m_desc3Text.text = string.Format("下一级:{0}基础属性+{1}%", partName, nextPartData.AddNum);
+            if(status != 3)
+            {
+                _ui.m_c2.selectedIndex = collegeBoostNextCfg.consumeArr.Length;  
+                for (int i=0;i< collegeBoostNextCfg.consumeArr.Length;i++)
+                {
+                    UI_ComItem000 item = UI_ComItem000.Proxy(itemList[i]);
+                    int id = collegeBoostNextCfg.consumeArr[i][0];
+                    int count = collegeBoostNextCfg.consumeArr[i][1];
+                    ItemData itemDate = ItemUtil.createItemData(id, count);
+                    ItemView itemView = new ItemView(item.target);
+                    itemView.SetData(itemDate);
+                    UI_ComItem000.ProxyEnd();
+                }
+            }
+        }
+        private void InitDate()
+        {
+            if (_partIndex != 99)
+            {
+                maxRank = CollectPartDataManager.Instance.MaxNormalRank;
+                partIndexCommon = 0;
+            }
+            else
+            {
+                maxRank = CollectPartDataManager.Instance.MaxSpecialRank;
+                partIndexCommon = 99;
+            }
+            for (int i = 0; i < 3; i++)
+            {
+                GObject item = _ui.target.GetChild(string.Format("item{0}", i));
+                itemList.Add(item);
+            }
+        }
+        private async void OnClickUpgrade()
+        {
+            var result = await CollegeSProxy.ReqCollectUpgrade(nextPartData.PartID, nextPartData.LevelID,nextPartData.LevelNum);
+        }
+        private void LevelUpSuccessTip()
+        {
+            string exitTip = "恭喜!升级成功!";
+            AlertUI.Show(exitTip)
+            .SetLeftButton(false, "取消", (object data) =>
+            {
+            })
+            .SetRightButton(true, "确定", (object data) =>
+            {
+            });
+        }
+        private void OnClickLevelUp()
+        {
+            //晋升先到答题界面,全答对了,晋升
+            ViewManager.Show<ClothingAnsweringView>( new object[] { _partIndex, nextPartData.LevelID, nextPartData.LevelNum });
         }
         private void OnClickBtnBack()
         {
             ViewManager.GoBackFrom(typeof(ClothingUpgradeView).FullName);
         }
-
-
     }
 }

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

@@ -94,6 +94,7 @@ namespace GFGGame
             {
                 //comRes.m_loaRes.url = string.Format("ui://LuckyBox/{0}", _luckyBoxCfg.resArr[_modelIndex]);
                 comRes.m_loaRes.url = ResPathUtil.GetBgImgPath(_luckyBoxCfg.resArr[_modelIndex]);
+                EventAgent.DispatchEvent(ConstMessage.LUCKY_EFFECT_UPDATE, _luckyBoxCfg.resArr[_modelIndex]);
                 comRes.m_loaTitle.url = ResPathUtil.GetLuckyBoxTitlePath(_luckyBoxCfg.resArr[_modelIndex]);
                 comRes.m_loaRes.SetPosition(-110, -170, 1);
                 int direction = _luckyBoxCfg.scaleArr[_modelIndex] >= 0 ? 1 : -1;

+ 48 - 17
GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxView.cs

@@ -23,7 +23,7 @@ namespace GFGGame
         private string activityEndTime = "[2024][2][2][00:00]";
 
         Dictionary<int,GObject> _listActivityBtnObj = new Dictionary<int, GObject>();
-        private List<string> effectNameList = new List<string>() { "CK_ZWH_01", "CK_ZWH_02", "CK_TWH_01", "CK_TWH_02" }; 
+        private Dictionary<string, GGraph> effectNameDic = new Dictionary<string, GGraph>() { }; 
 
         private int _activeBoxId = 0;
         private int _curIndex = 0;
@@ -32,6 +32,8 @@ namespace GFGGame
 
         private EffectUI _effectUI1;
         private EffectUI _effectUI2;
+        private EffectUI _effectUI3;
+        private EffectUI _effectUI4;
 
         public override void Dispose()
         {
@@ -44,6 +46,10 @@ namespace GFGGame
             _effectUI1 = null;
             EffectUIPool.Recycle(_effectUI2);
             _effectUI2 = null;
+            EffectUIPool.Recycle(_effectUI3);
+            _effectUI3 = null;
+            EffectUIPool.Recycle(_effectUI4);
+            _effectUI4 = null;
 
             _effectUIDic.Clear();
 
@@ -96,8 +102,15 @@ namespace GFGGame
             _ui.m_listBg.SetVirtualAndLoop();  //虚拟循环列表
             _ui.m_listBg.scrollPane.onScrollEnd.Add(OnScrollEnd);
             _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("zx_bg");
+
+            effectNameDic.Add("zx_zwy_ll", _ui.m_effectZWH);
+            effectNameDic.Add("zx_twy_cx", _ui.m_effectTWH);
+            effectNameDic.Add("zx_twy_xh", _ui.m_effectTWH2);
+            effectNameDic.Add("zx_zwy_yjzh", _ui.m_effectZWH2);
             _effectUI1 = EffectUIPool.CreateEffectUI(_ui.m_effectTWH, "ui_LuckyBox", "CK_TWH_01");
             _effectUI2 = EffectUIPool.CreateEffectUI(_ui.m_effectZWH, "ui_LuckyBox", "CK_ZWH_01");
+            _effectUI1 = EffectUIPool.CreateEffectUI(_ui.m_effectTWH2, "ui_LuckyBox", "CK_TWH_02");
+            _effectUI2 = EffectUIPool.CreateEffectUI(_ui.m_effectZWH2, "ui_LuckyBox", "CK_ZWH_02");
             AdaptScreen();
         }
         protected override void AddEventListener()
@@ -109,6 +122,8 @@ namespace GFGGame
             EventAgent.AddEventListener(ConstMessage.LUCKY_BOX_FREE_TIME_CHANGED, UpdateFreeInfo);
             EventAgent.AddEventListener(ConstMessage.LUCKY_BOX_ACTIVITY_REWARD, UpdateBtnReward);
             EventAgent.AddEventListener(ConstMessage.ACTIVITY_LUCKY_BOX, UpdateBtnReward);
+            EventAgent.AddEventListener(ConstMessage.LUCKY_EFFECT_UPDATE, UpdateEffectVisible);
+
         }
         protected override void OnShown()
         {
@@ -346,22 +361,22 @@ namespace GFGGame
         }
         private void UpdateEffect()
         {
-            LuckyBoxCfg luckybox = LuckyBoxCfgArray.Instance.GetCfg(LuckyBoxDataManager.Instance.currentBoxId);
-            if(luckybox.name == "紫薇垣")
-            {
-                _ui.m_effectZWH.visible = true;
-                _ui.m_effectTWH.visible = false;
-            }
-            else if (luckybox.name == "太微垣")
-            {
-                _ui.m_effectZWH.visible = false;
-                _ui.m_effectTWH.visible = true;
-            }
-            else
-            {
-                _ui.m_effectZWH.visible = false;
-                _ui.m_effectTWH.visible = false;
-            }
+            //LuckyBoxCfg luckybox = LuckyBoxCfgArray.Instance.GetCfg(LuckyBoxDataManager.Instance.currentBoxId);
+            //if(luckybox.name == "紫薇垣")
+            //{
+            //    _ui.m_effectZWH.visible = true;
+            //    _ui.m_effectTWH.visible = false;
+            //}
+            //else if (luckybox.name == "太微垣")
+            //{
+            //    _ui.m_effectZWH.visible = false;
+            //    _ui.m_effectTWH.visible = true;
+            //}
+            //else
+            //{
+            //    _ui.m_effectZWH.visible = false;
+            //    _ui.m_effectTWH.visible = false;
+            //}
         }
 
         private void UpdateBtnReward()
@@ -652,6 +667,7 @@ namespace GFGGame
             EventAgent.RemoveEventListener(ConstMessage.LUCKY_BOX_FREE_TIME_CHANGED, UpdateFreeInfo);
             EventAgent.RemoveEventListener(ConstMessage.LUCKY_BOX_ACTIVITY_REWARD, UpdateBtnReward);
             EventAgent.RemoveEventListener(ConstMessage.ACTIVITY_LUCKY_BOX, UpdateBtnReward);
+            EventAgent.RemoveEventListener(ConstMessage.LUCKY_EFFECT_UPDATE, UpdateEffectVisible);
         }
 
         private void OnClickBtnBack()
@@ -734,5 +750,20 @@ namespace GFGGame
             float offsetY = _ui.m_grpTop.y + ViewGlobal.GetRealTopOffset();
             _ui.m_grpTop.SetXY(_ui.m_grpTop.x, offsetY);
         }
+        private void UpdateEffectVisible(EventContext eventContext)
+        {
+            var resStr = (string)eventContext.data;
+            foreach(var item in effectNameDic)
+            {
+                if(item.Key == resStr)
+                {
+                    item.Value.visible = true;
+                }
+                else
+                {
+                    item.Value.visible = false;
+                }
+            }
+        }
     }
 }

+ 4 - 0
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightFailView.cs

@@ -46,6 +46,10 @@ namespace GFGGame
             {
                 LevelTipsCfg cfg = LevelTipsCfgArray.Instance.dataArray[i];
                 if (cfg.storyLevel > 0 && InstanceZonesDataManager.currentLevelCfgId != cfg.storyLevel) continue;
+                if(cfg.jumpId == typeof(ClothingSelectView).Name && !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(ClothingSelectView).Name, false))
+                {
+                    continue;
+                }
                 _cfgs.Add(cfg);
             }
             _ui.m_list.numItems = _cfgs.Count;

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

@@ -403,6 +403,7 @@ namespace GFGGame
         protected override void UpdateToCheckGuide(object param)
         {
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
+            GuideController.TryGuide(null, ConstGuideId.POEM, 1, "在“拍照”中保存的图片都会保存到这里。");
             GuideController.TryGuide(_ui.m_btnback, ConstGuideId.POEM, 2, "");
             GuideController.TryCompleteGuideIndex(ConstGuideId.POEM, 2);
             GuideController.TryCompleteGuide(ConstGuideId.POEM, 2);

+ 25 - 9
GameClient/Assets/Game/HotUpdate/Views/Store/StoreGrowthFundView.cs

@@ -44,14 +44,14 @@ namespace GFGGame
 
             _valueBarController = new ValueBarController(_ui.m_valueBar);
             _ui.m_list.itemRenderer = ListItemRenderer;
-            //_ui.m_btnBuy.target.onClick.Add(OnBtnBuyClick);
+            _ui.m_btnBuy.target.onClick.Add(OnBtnBuyClick);
 
         }
         protected override void AddEventListener()
         {
             base.AddEventListener();
             EventAgent.AddEventListener(ConstMessage.RED_CHANGE, UpdateRedDot);
-
+            EventAgent.AddEventListener(ConstMessage.SHOP_BUY, UpdateView);
         }
         protected override void OnShown()
         {
@@ -72,6 +72,7 @@ namespace GFGGame
         {
             base.RemoveEventListener();
             EventAgent.RemoveEventListener(ConstMessage.RED_CHANGE, UpdateRedDot);
+            EventAgent.RemoveEventListener(ConstMessage.RED_CHANGE, UpdateView);
         }
         private void OnBtnBlackRewardClick()
         {
@@ -79,7 +80,7 @@ namespace GFGGame
         }
         private void UpdateView()
         {
-            _ui.m_btnBuy.m_c1.selectedIndex = RedDotDataManager.Instance.GetGrowthFundBuy()?0:1; 
+            GetGrowthFundBuy();
             int count = 0;
             for(int i = 0;i < GrowthFundCfgArray.Instance.dataArray.Length;i++)
             {
@@ -94,12 +95,10 @@ namespace GFGGame
         private void OnBtnBuyClick()
         {
             //是否购买
-            if (RedDotDataManager.Instance.GetGrowthFundBuy())
+            if (!GetGrowthFundBuy())
             {
                 int id = ActivityOpenCfgArray.Instance.GetCfg(3002).paramsArr[0];
                 ShopSProxy.ReqShopBuy(id).Coroutine();
-                _ui.m_btnBuy.m_c1.selectedIndex = 1;
-                _ui.m_list.numItems = GrowthFundCfgArray.Instance.dataArray.Length;
             }
         }
         private async void OnBtnGetClick(EventContext context)
@@ -124,7 +123,7 @@ namespace GFGGame
             int num = GrowthFundCfgArray.Instance.dataArray[index].level;
             item.m_rewardDesc.text = string.Format("等级达{0}级可领",num);
             item.m_rewardBtn.m_c1.selectedIndex = 1;
-            if (!RedDotDataManager.Instance.GetGrowthFundBuy())
+            if (GetGrowthFundBuy())
             {
                 bool isRed = true;
                 if(RoleDataManager.lvl >= num)
@@ -154,13 +153,30 @@ namespace GFGGame
             ItemUtil.CreateItemView(GrowthFundCfgArray.Instance.dataArray[index].bonusArr[0], item.m_reward as GComponent);
             if (item.m_rewardBtn.target.data == null)
             {
-                //item.m_rewardBtn.target.onClick.Add(OnBtnGetClick);
+                item.m_rewardBtn.target.onClick.Add(OnBtnGetClick);
             }
-            //item.m_rewardBtn.target.data = index + 1;
+            item.m_rewardBtn.target.data = index + 1;
             UI_GrowthFundItemUI.ProxyEnd();
 
         }
 
+        private bool GetGrowthFundBuy()
+        {
+            ShopCfg shopCfg = ShopCfgArray.Instance.GetCfg(ActivityOpenCfgArray.Instance.GetCfg(3002).paramsArr[0]);
+            var remainBuyNum = shopCfg.maxBuyNum - ShopDataManager.Instance.GetGoodsBuyNumById(shopCfg.id);
+            if (remainBuyNum == 0)
+            {
+                //已售完
+                _ui.m_btnBuy.m_c1.selectedIndex = 1;
+                return true;
+            }
+            else
+            {
+                //未售完
+                _ui.m_btnBuy.m_c1.selectedIndex = 0;
+                return false;
+            }
+        }
         private void UpdateRedDot()
         {
 

+ 6 - 2
GameClient/Assets/Game/HotUpdate/Views/Store/StoreView.cs

@@ -188,9 +188,13 @@ namespace GFGGame
                 if (_storeTabCfgs[index][0] == "成长基金")
                 {
                     //ActivityOpenCfg activityCfg = ActivityOpenCfgArray.Instance.GetCfg(3002);
-                    //if(RoleDataManager.lvl < activityCfg.level)
-                    //{
+                    //if (RoleDataManager.lvl < activityCfg.level)
+                    {
                         item.visible = false;
+                    }
+                    //else
+                    //{
+                    //    item.visible = true;
                     //}
                 }
                 item.title = _storeTabCfgs[index][0];

+ 13 - 1
GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingShowView.cs

@@ -77,7 +77,7 @@ namespace GFGGame
         {
             SuitID = TimeTracingDataManager.SuitID;
             _ui.m_suitName.text = SuitCfgArray.Instance.GetCfg(SuitID).name;
-            ChapterID = TimeTracingDataManager._currentChapterId;
+            CheckChapterID();
             _ui.m_nameIcon.url = string.Format("ui://TimeTracing/{0}", nameIconList[SuitID]);
             if (true)
             {
@@ -136,5 +136,17 @@ namespace GFGGame
         {
             await TimeTracingSProxy.ReqSetDataRecord(SuitID);
         }
+        private void CheckChapterID()
+        {
+            List<ActivityOpenCfg> activityList = ActivityOpenCfgArray.Instance.GetCfgsBytype(21);
+            foreach(var item in activityList)
+            {
+                if(item.paramsArr[0] == SuitID)
+                {
+                    ChapterID = item.params3Arr[0];
+                    break;
+                }
+            }
+        }
     }
 }

+ 29 - 27
GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingSuitRankView.cs

@@ -102,7 +102,8 @@ namespace GFGGame
                 _ui.m_myRank.target.visible = true;
                 SuitCollectRankProto itemdata = TimeTracingDataManager.Instance.mySuitRankInfo;
                 _ui.m_myRank.m_txtName.text = itemdata.RoleName;
-                _ui.m_myRank.m_rankText.text = itemdata.RankIndex.ToString();
+                //_ui.m_myRank.m_rankText.text = itemdata.RankIndex.ToString();
+                UpdateMyRank();
                 _ui.m_myRank.m_teamName.text = itemdata.LeagueName;
                 _ui.m_myRank.m_TimeText.text = TimeTracingDataManager.Instance.ChangeTime(itemdata.TimeSecNum);
                 _ui.m_myRank.m_proText.text = itemdata.CompletedNum.ToString() + "/" + itemdata.TotalNum;
@@ -132,31 +133,8 @@ namespace GFGGame
             }
             else
             {
-                if (itemdata.RankIndex <= 100)
-                {
-                    _ui.m_myRank.m_rankText.text = itemdata.RankIndex.ToString();
-                }
-                else if (itemdata.RankIndex > 100 && itemdata.RankIndex <= 300)
-                {
-                    _ui.m_myRank.m_rankText.text = "前10%";
-                }
-                else if (itemdata.RankIndex > 300 && itemdata.RankIndex <= 500)
-                {
-                    _ui.m_myRank.m_rankText.text = "前30%";
-                }
-                else if (itemdata.RankIndex > 500 && itemdata.RankIndex <= 1000)
-                {
-                    _ui.m_myRank.m_rankText.text = "前50%";
-                }
-                else if (itemdata.RankIndex > 1000 && itemdata.RankIndex <= 3000)
-                {
-                    _ui.m_myRank.m_rankText.text = "前80%";
-                }
-                else
-                {
-                    _ui.m_myRank.m_rankText.text = "前100%";
-                }
                 item.m_txtName.text = itemdata.RoleName;
+                item.m_rankText.text = itemdata.RankIndex.ToString();
                 item.m_proText.text = itemdata.CompletedNum.ToString() + "/" + itemdata.TotalNum;
                 item.m_TimeText.text = TimeTracingDataManager.Instance.ChangeTime(itemdata.TimeSecNum);
                 item.m_teamName.text = itemdata.LeagueName;
@@ -184,9 +162,33 @@ namespace GFGGame
             }
             UpdateRank();
         }
-        private void OnClickRankBtn()
+        private void UpdateMyRank()
         {
-
+            SuitCollectRankProto itemdata = TimeTracingDataManager.Instance.mySuitRankInfo;
+            if (itemdata.RankIndex <= 100)
+            {
+                _ui.m_myRank.m_rankText.text = itemdata.RankIndex.ToString();
+            }
+            else if (itemdata.RankIndex > 100 && itemdata.RankIndex <= 300)
+            {
+                _ui.m_myRank.m_rankText.text = "前10%";
+            }
+            else if (itemdata.RankIndex > 300 && itemdata.RankIndex <= 500)
+            {
+                _ui.m_myRank.m_rankText.text = "前30%";
+            }
+            else if (itemdata.RankIndex > 500 && itemdata.RankIndex <= 1000)
+            {
+                _ui.m_myRank.m_rankText.text = "前50%";
+            }
+            else if (itemdata.RankIndex > 1000 && itemdata.RankIndex <= 3000)
+            {
+                _ui.m_myRank.m_rankText.text = "前80%";
+            }
+            else
+            {
+                _ui.m_myRank.m_rankText.text = "前100%";
+            }
         }
 
         private async void OnBtnLookClick(EventContext context)

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

@@ -35,6 +35,7 @@ namespace GFGGame
             _ui.m_component.m_btnSuitSynthetic.target.onClick.Add(OnClickBtnSuitSynthetic);
             _ui.m_component.m_btnClothingUpgrade.target.onClick.Add(OnClickBtnClothingUpgrade);
             _ui.m_component.m_btnDecompose.target.onClick.Add(OnClickBtnDecompose);
+            _ui.m_component.m_btnGYP.target.onClick.Add(OnClickBtnGYP);
 
             _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("xf_bg");
         }
@@ -52,7 +53,7 @@ namespace GFGGame
             _ui.m_component.m_btnSuitSynthetic.m_c1.selectedIndex = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(SuitSyntheticView).Name, false) ? 1 : 0;
             _ui.m_component.m_btnClothingUpgrade.m_c1.selectedIndex = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(ClothingListView).Name, false) ? 1 : 0;
             _ui.m_component.m_btnDecompose.m_c1.selectedIndex = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(ClothingDecomposeView).Name, false) ? 1 : 0;
-
+            _ui.m_component.m_btnGYP.m_c1.selectedIndex = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(ClothingSelectView).Name, false) ? 1 : 0;
 
             // GuideCfg cfg = GuideCfgArray.Instance.GetCfg(ConstGuideId.CLOTHING_DECOMPOSE);
             // if (GuideDataManager.currentGuideId == cfg.id)
@@ -107,6 +108,10 @@ namespace GFGGame
 
             ViewManager.Show<ClothingDecomposeView>();
         }
+        private void OnClickBtnGYP()
+        {
+            ViewManager.Show<ClothingSelectView>();
+        }
         private void CheckGuide(object param)
         {
             if (GuideDataManager.IsGuideFinish(ConstGuideId.SUIT_LIST_VIEW) <= 0)

BIN=BIN
GameClient/Assets/ResIn/UI/ActivityMain/ActivityMain_fui.bytes


BIN=BIN
GameClient/Assets/ResIn/UI/ClothingUpgrade/ClothingUpgrade_atlas0!a.png


BIN=BIN
GameClient/Assets/ResIn/UI/ClothingUpgrade/ClothingUpgrade_atlas0.png


BIN=BIN
GameClient/Assets/ResIn/UI/ClothingUpgrade/ClothingUpgrade_atlas0_1!a.png


+ 120 - 0
GameClient/Assets/ResIn/UI/ClothingUpgrade/ClothingUpgrade_atlas0_1!a.png.meta

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

BIN=BIN
GameClient/Assets/ResIn/UI/ClothingUpgrade/ClothingUpgrade_atlas0_1.png


+ 120 - 0
GameClient/Assets/ResIn/UI/ClothingUpgrade/ClothingUpgrade_atlas0_1.png.meta

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

BIN=BIN
GameClient/Assets/ResIn/UI/ClothingUpgrade/ClothingUpgrade_atlas0_2!a.png


+ 120 - 0
GameClient/Assets/ResIn/UI/ClothingUpgrade/ClothingUpgrade_atlas0_2!a.png.meta

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

BIN=BIN
GameClient/Assets/ResIn/UI/ClothingUpgrade/ClothingUpgrade_atlas0_2.png


+ 120 - 0
GameClient/Assets/ResIn/UI/ClothingUpgrade/ClothingUpgrade_atlas0_2.png.meta

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

BIN=BIN
GameClient/Assets/ResIn/UI/ClothingUpgrade/ClothingUpgrade_fui.bytes


BIN=BIN
GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_fui.bytes


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


BIN=BIN
GameClient/Assets/ResIn/UI/Store/Store_fui.bytes


BIN=BIN
GameClient/Assets/ResIn/UI/XiuFang/XiuFang_atlas0!a.png


BIN=BIN
GameClient/Assets/ResIn/UI/XiuFang/XiuFang_atlas0.png


BIN=BIN
GameClient/Assets/ResIn/UI/XiuFang/XiuFang_atlas0_1!a.png


BIN=BIN
GameClient/Assets/ResIn/UI/XiuFang/XiuFang_atlas0_1.png


BIN=BIN
GameClient/Assets/ResIn/UI/XiuFang/XiuFang_fui.bytes