zhangyuqian 1 жил өмнө
parent
commit
12d316870e
81 өөрчлөгдсөн 4960 нэмэгдсэн , 0 устгасан
  1. 29 0
      GameClient/Assets/Game/HotUpdate/Data/TimeTracingData.cs
  2. 11 0
      GameClient/Assets/Game/HotUpdate/Data/TimeTracingData.cs.meta
  3. 197 0
      GameClient/Assets/Game/HotUpdate/Data/TimeTracingDataManager.cs
  4. 11 0
      GameClient/Assets/Game/HotUpdate/Data/TimeTracingDataManager.cs.meta
  5. 8 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing.meta
  6. 71 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_Button2.cs
  7. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_Button2.cs.meta
  8. 71 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_Button7.cs
  9. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_Button7.cs.meta
  10. 77 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_Button8.cs
  11. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_Button8.cs.meta
  12. 77 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_CompFlower1.cs
  13. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_CompFlower1.cs.meta
  14. 80 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_CompTimeTracingSwitchItem.cs
  15. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_CompTimeTracingSwitchItem.cs.meta
  16. 71 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_Component1.cs
  17. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_Component1.cs.meta
  18. 80 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_FirstPlayeritem.cs
  19. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_FirstPlayeritem.cs.meta
  20. 77 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_ListRewardItem.cs
  21. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_ListRewardItem.cs.meta
  22. 80 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_ListScoreRewardItem.cs
  23. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_ListScoreRewardItem.cs.meta
  24. 86 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TImeTracingPreShowUI.cs
  25. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TImeTracingPreShowUI.cs.meta
  26. 153 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingLevelInfoUI.cs
  27. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingLevelInfoUI.cs.meta
  28. 78 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingLevelItem.cs
  29. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingLevelItem.cs.meta
  30. 95 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingLevelRankItem.cs
  31. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingLevelRankItem.cs.meta
  32. 93 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingLevelRankUI.cs
  33. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingLevelRankUI.cs.meta
  34. 89 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingLevelRewardUI.cs
  35. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingLevelRewardUI.cs.meta
  36. 147 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingLevelUI.cs
  37. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingLevelUI.cs.meta
  38. 80 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingPreShowItem.cs
  39. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingPreShowItem.cs.meta
  40. 97 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingShowUI.cs
  41. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingShowUI.cs.meta
  42. 98 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingSuitRankItem.cs
  43. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingSuitRankItem.cs.meta
  44. 96 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingSuitRankUI.cs
  45. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingSuitRankUI.cs.meta
  46. 72 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingSwitchItem.cs
  47. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingSwitchItem.cs.meta
  48. 74 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingSwitchUI.cs
  49. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingSwitchUI.cs.meta
  50. 80 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_proBarItem.cs
  51. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_proBarItem.cs.meta
  52. 171 0
      GameClient/Assets/Game/HotUpdate/ServerProxy/TimeTracingSProxy.cs
  53. 11 0
      GameClient/Assets/Game/HotUpdate/ServerProxy/TimeTracingSProxy.cs.meta
  54. 8 0
      GameClient/Assets/Game/HotUpdate/Views/TimeTracing.meta
  55. 368 0
      GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingLevelInfoView.cs
  56. 11 0
      GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingLevelInfoView.cs.meta
  57. 226 0
      GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingLevelRankView.cs
  58. 11 0
      GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingLevelRankView.cs.meta
  59. 109 0
      GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingLevelRewardView.cs
  60. 11 0
      GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingLevelRewardView.cs.meta
  61. 264 0
      GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingLevelView.cs
  62. 11 0
      GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingLevelView.cs.meta
  63. 137 0
      GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingShowView.cs
  64. 11 0
      GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingShowView.cs.meta
  65. 120 0
      GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingSuitAddView.cs
  66. 11 0
      GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingSuitAddView.cs.meta
  67. 235 0
      GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingSuitRankView.cs
  68. 11 0
      GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingSuitRankView.cs.meta
  69. 197 0
      GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingSwitchView.cs
  70. 11 0
      GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingSwitchView.cs.meta
  71. 8 0
      GameClient/Assets/ResIn/UI/TimeTracing.meta
  72. BIN
      GameClient/Assets/ResIn/UI/TimeTracing/TimeTracing_atlas0!a.png
  73. 120 0
      GameClient/Assets/ResIn/UI/TimeTracing/TimeTracing_atlas0!a.png.meta
  74. BIN
      GameClient/Assets/ResIn/UI/TimeTracing/TimeTracing_atlas0.png
  75. 120 0
      GameClient/Assets/ResIn/UI/TimeTracing/TimeTracing_atlas0.png.meta
  76. BIN
      GameClient/Assets/ResIn/UI/TimeTracing/TimeTracing_atlas0_1!a.png
  77. 120 0
      GameClient/Assets/ResIn/UI/TimeTracing/TimeTracing_atlas0_1!a.png.meta
  78. BIN
      GameClient/Assets/ResIn/UI/TimeTracing/TimeTracing_atlas0_1.png
  79. 120 0
      GameClient/Assets/ResIn/UI/TimeTracing/TimeTracing_atlas0_1.png.meta
  80. BIN
      GameClient/Assets/ResIn/UI/TimeTracing/TimeTracing_fui.bytes
  81. 7 0
      GameClient/Assets/ResIn/UI/TimeTracing/TimeTracing_fui.bytes.meta

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

@@ -0,0 +1,29 @@
+using System.Collections.Generic;
+
+namespace GFGGame
+{
+    public class TimeTracingSuitRankData//时光回溯套装排行数据
+    {
+        public int Rank; //排名
+        public int time; //时间
+        public int CompletedNum;//完成度
+        public int TotalNum;//套装部件总数量
+        //玩家数据
+        public string name;
+        public int HeadItemID;
+        public int HeadBorderItemId;
+        public string LeagueName;//雅集
+    }
+
+    public class TimeTracingLevelRankData//时光回溯关卡排行数据
+    {
+        public int Rank;//排名
+        public long score; //积分
+        //玩家数据
+        public string name;
+        public int HeadItemID;
+        public int HeadBorderItemId;
+        public string LeagueName;//雅集
+    }
+
+}

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

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

+ 197 - 0
GameClient/Assets/Game/HotUpdate/Data/TimeTracingDataManager.cs

@@ -0,0 +1,197 @@
+using System;
+using System.Collections.Generic;
+using UnityEngine;
+using ET;
+
+namespace GFGGame
+{
+    public class TimeTracingDataManager : SingletonBase<TimeTracingDataManager>
+    {
+        public List<int> IdList = new List<int>() { 5017, 5018, 5019 };
+        public List<int> chapterIdList = new List<int>();
+        //时光回溯,关卡编号
+        public static int _currentChapterId = 62001;
+        //时光回溯,合成套装副本当前展示套装
+        public static int SuitID = 201027;
+        //时光回溯刷新时间
+        public static long RefreshTime = 0;
+        //章节积分奖励列表
+        public static List<int> ChapterRewardDic = new List<int>();
+        //关卡评分奖励列表
+        public static Dictionary<int , Dictionary<int, int>> LevelRewardDic = new Dictionary<int, Dictionary<int, int>>();
+        //关卡信息
+        public static Dictionary<int, Dictionary<int, LevelRoleInfoProto>> _LevelMaxInfoDic = new Dictionary<int, Dictionary<int, LevelRoleInfoProto>>();
+
+        public SuitCollectRankProto mySuitRankInfo;
+        public LevelRankProto myLevelRankInfo;
+        //套装排行榜数据
+        public Dictionary<int, List<SuitCollectRankProto>> SuitRankDatasDic = new Dictionary<int, List<SuitCollectRankProto>>()
+        {
+            {0,new List<SuitCollectRankProto>() },
+            {1,new List<SuitCollectRankProto>() },
+        };
+        //关卡排行榜数据
+        public Dictionary<int, List<LevelRankProto>> LevelRankDatasDic = new Dictionary<int, List<LevelRankProto>>() 
+        {
+            {0,new List<LevelRankProto>()},
+            {1,new List<LevelRankProto>()},
+        };
+        public void InitRewardDic()
+        {
+            chapterIdList.Clear();
+            if (chapterIdList.Count > 0)
+            {
+                return;
+            }
+            foreach (int i in IdList)
+            {
+                chapterIdList.Add(ActivityOpenCfgArray.Instance.GetCfg(i).params3Arr[0]);
+            }
+        }
+        //获取关卡奖励状态
+        public bool GetLevelRewardStatus(int levelID = 0)
+        {
+            if(levelID == 0)
+            {
+                return GetAllLevelRewardStatus(true);
+            }
+            else
+            {
+                if(!LevelRewardDic.ContainsKey(levelID))
+                {
+                    return false;
+                }
+                foreach (var status in LevelRewardDic[levelID])
+                {
+                    if (status.Value == ConstBonusStatus.CAN_GET)
+                    {
+                        return true;
+                    }
+                }
+            }
+            return false;
+        }
+        //获取套装奖励状态
+        public bool GetChapterRewardStatus(int levelID,int rewardID,int itemID)
+        {
+            //这里对已领取的id进行判断
+            if (levelID != 0)
+            {
+                foreach (var item in ChapterRewardDic)
+                {
+                    if(rewardID == item)
+                    {
+                        return false;
+                    }
+                }
+            }
+            return true;
+        }
+        //获取对应id奖励状态
+        public int GetChapterRewardIDStatus(int rewardID, int itemID)
+        {
+            long num = 0;
+            ItemData itemdata;
+            CompositebonusCfg comCfg = CompositebonusCfgArray.Instance.GetCfg(rewardID);
+            if (BagDataManager.Instance.GetBagData().TryGetValue(itemID, out itemdata))
+            {
+                num = itemdata.num;
+            }
+            else
+            {
+                num = 0;
+            }
+            if(num < comCfg.count)
+            {
+                return ConstBonusStatus.CAN_NOT_GET;
+            }
+            //这里对已领取的id进行判断
+            foreach (var item in ChapterRewardDic)
+            {
+                if (rewardID == item)
+                {
+                    return ConstBonusStatus.GOT;
+                }
+            }
+            return ConstBonusStatus.CAN_GET;
+        }
+        //获取所有奖励(只用于红点判断)
+        public bool GetAllLevelRewardStatus(bool isLevel = true)
+        {
+            if (isLevel)
+            {
+                foreach (var item in LevelRewardDic)
+                {
+                    Dictionary<int, int> rewardStatusDic = new Dictionary<int, int>(0);
+                    int key = item.Key;
+                    rewardStatusDic = item.Value;
+                    foreach (var id in rewardStatusDic)
+                    {
+                        if (id.Value == ConstBonusStatus.CAN_GET)
+                        {
+                            return true;
+                        }
+                    }
+                }
+                return false;
+            }
+            else
+            {
+                return false;
+            }
+        }
+
+        //通过章节id判断所有奖励状态
+        public bool GetChapterIDRewardStatus(int chapID)
+        {
+            List<CompositebonusCfg> comBonusList = CompositebonusCfgArray.Instance.GetCfgsBychapterId(chapID);
+            foreach(CompositebonusCfg item in comBonusList)
+            {
+                if (GetChapterRewardIDStatus(item.id, item.paramsArr[0]) == 1)
+                {
+                    return true;
+                }
+            }
+            List<StoryLevelCfg> levelList = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(6, 2, chapID);
+            foreach(StoryLevelCfg levelItem in levelList)
+            {
+               if(GetLevelRewardStatus(levelItem.id))
+                {
+                    return true;
+                }
+            }
+            return false;
+        }
+
+        public bool GetAllChapterReward()
+        {
+            foreach(int i in chapterIdList)
+            {
+                if(GetChapterIDRewardStatus(i))
+                {
+                    return true;
+                }
+            }
+            return false;
+        }
+
+        public string ChangeTime(long totalSeconds)
+        {
+            string timeStr = "";
+            TimeSpan t = TimeSpan.FromSeconds(totalSeconds);
+            if(t.Days != 0)
+            {
+                timeStr = string.Format("{0}天{1}时", t.Days, t.Hours);
+            }
+            else if(t.Hours != 0)
+            {
+                timeStr = string.Format("{0}时{1}分", t.Hours, t.Minutes);
+            }
+            else
+            {
+                timeStr = string.Format("{0}分{1}秒", t.Minutes, t.Seconds);
+            }
+            return timeStr;
+        }
+    }
+}

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

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

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

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

+ 71 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_Button2.cs

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

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

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

+ 71 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_Button7.cs

@@ -0,0 +1,71 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.TimeTracing
+{
+    public partial class UI_Button7
+    {
+        public GButton target;
+        public Controller m_c1;
+        public const string URL = "ui://gayfh946iwcl30";
+        public const string PACKAGE_NAME = "TimeTracing";
+        public const string RES_NAME = "Button7";
+        private static UI_Button7 _proxy;
+
+        public static UI_Button7 Create(GObject gObject = null)
+        {
+            var ui = new UI_Button7();
+            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_Button7 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_Button7();
+            }
+            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/TimeTracing/UI_Button7.cs.meta

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

+ 77 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_Button8.cs

@@ -0,0 +1,77 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.TimeTracing
+{
+    public partial class UI_Button8
+    {
+        public GButton target;
+        public GTextField m_name;
+        public GLoader m_headbg;
+        public GLoader m_head;
+        public const string URL = "ui://gayfh946iwcl31";
+        public const string PACKAGE_NAME = "TimeTracing";
+        public const string RES_NAME = "Button8";
+        private static UI_Button8 _proxy;
+
+        public static UI_Button8 Create(GObject gObject = null)
+        {
+            var ui = new UI_Button8();
+            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_Button8 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_Button8();
+            }
+            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_name = (GTextField)comp.GetChild("name");
+            m_headbg = (GLoader)comp.GetChild("headbg");
+            m_head = (GLoader)comp.GetChild("head");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_name = null;
+            m_headbg = null;
+            m_head = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_Button8.cs.meta

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

+ 77 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_CompFlower1.cs

@@ -0,0 +1,77 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.TimeTracing
+{
+    public partial class UI_CompFlower1
+    {
+        public GComponent target;
+        public GImage m_f1;
+        public GImage m_f2;
+        public GImage m_f3;
+        public const string URL = "ui://gayfh946iwcl27";
+        public const string PACKAGE_NAME = "TimeTracing";
+        public const string RES_NAME = "CompFlower1";
+        private static UI_CompFlower1 _proxy;
+
+        public static UI_CompFlower1 Create(GObject gObject = null)
+        {
+            var ui = new UI_CompFlower1();
+            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_CompFlower1 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_CompFlower1();
+            }
+            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_f1 = (GImage)comp.GetChild("f1");
+            m_f2 = (GImage)comp.GetChild("f2");
+            m_f3 = (GImage)comp.GetChild("f3");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_f1 = null;
+            m_f2 = null;
+            m_f3 = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_CompFlower1.cs.meta

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

+ 80 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_CompTimeTracingSwitchItem.cs

@@ -0,0 +1,80 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.TimeTracing
+{
+    public partial class UI_CompTimeTracingSwitchItem
+    {
+        public GComponent target;
+        public GLoader m_suitIcon;
+        public GTextField m_waitText;
+        public GTextField m_periodsNumText;
+        public GTextField m_periodsNameText;
+        public const string URL = "ui://gayfh946l815f";
+        public const string PACKAGE_NAME = "TimeTracing";
+        public const string RES_NAME = "CompTimeTracingSwitchItem";
+        private static UI_CompTimeTracingSwitchItem _proxy;
+
+        public static UI_CompTimeTracingSwitchItem Create(GObject gObject = null)
+        {
+            var ui = new UI_CompTimeTracingSwitchItem();
+            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_CompTimeTracingSwitchItem Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_CompTimeTracingSwitchItem();
+            }
+            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_suitIcon = (GLoader)comp.GetChild("suitIcon");
+            m_waitText = (GTextField)comp.GetChild("waitText");
+            m_periodsNumText = (GTextField)comp.GetChild("periodsNumText");
+            m_periodsNameText = (GTextField)comp.GetChild("periodsNameText");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_suitIcon = null;
+            m_waitText = null;
+            m_periodsNumText = null;
+            m_periodsNameText = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_CompTimeTracingSwitchItem.cs.meta

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

+ 71 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_Component1.cs

@@ -0,0 +1,71 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.TimeTracing
+{
+    public partial class UI_Component1
+    {
+        public GComponent target;
+        public GLoader m_switchBtn;
+        public const string URL = "ui://gayfh946iwcl3c";
+        public const string PACKAGE_NAME = "TimeTracing";
+        public const string RES_NAME = "Component1";
+        private static UI_Component1 _proxy;
+
+        public static UI_Component1 Create(GObject gObject = null)
+        {
+            var ui = new UI_Component1();
+            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_Component1 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_Component1();
+            }
+            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_switchBtn = (GLoader)comp.GetChild("switchBtn");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_switchBtn = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_Component1.cs.meta

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

+ 80 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_FirstPlayeritem.cs

@@ -0,0 +1,80 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.TimeTracing
+{
+    public partial class UI_FirstPlayeritem
+    {
+        public GComponent target;
+        public GLoader m_headIcon;
+        public GTextField m_name;
+        public GLoader m_headFrame;
+        public GLoader m_head;
+        public const string URL = "ui://gayfh946l815h";
+        public const string PACKAGE_NAME = "TimeTracing";
+        public const string RES_NAME = "FirstPlayeritem";
+        private static UI_FirstPlayeritem _proxy;
+
+        public static UI_FirstPlayeritem Create(GObject gObject = null)
+        {
+            var ui = new UI_FirstPlayeritem();
+            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_FirstPlayeritem Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_FirstPlayeritem();
+            }
+            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_headIcon = (GLoader)comp.GetChild("headIcon");
+            m_name = (GTextField)comp.GetChild("name");
+            m_headFrame = (GLoader)comp.GetChild("headFrame");
+            m_head = (GLoader)comp.GetChild("head");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_headIcon = null;
+            m_name = null;
+            m_headFrame = null;
+            m_head = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_FirstPlayeritem.cs.meta

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

+ 77 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_ListRewardItem.cs

@@ -0,0 +1,77 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.TimeTracing
+{
+    public partial class UI_ListRewardItem
+    {
+        public GComponent target;
+        public GComponent m_comItem;
+        public GTextField m_txtName;
+        public GTextField m_txtOwner;
+        public const string URL = "ui://gayfh946iwcl2c";
+        public const string PACKAGE_NAME = "TimeTracing";
+        public const string RES_NAME = "ListRewardItem";
+        private static UI_ListRewardItem _proxy;
+
+        public static UI_ListRewardItem Create(GObject gObject = null)
+        {
+            var ui = new UI_ListRewardItem();
+            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_ListRewardItem Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ListRewardItem();
+            }
+            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_comItem = (GComponent)comp.GetChild("comItem");
+            m_txtName = (GTextField)comp.GetChild("txtName");
+            m_txtOwner = (GTextField)comp.GetChild("txtOwner");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_comItem = null;
+            m_txtName = null;
+            m_txtOwner = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_ListRewardItem.cs.meta

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

+ 80 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_ListScoreRewardItem.cs

@@ -0,0 +1,80 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.TimeTracing
+{
+    public partial class UI_ListScoreRewardItem
+    {
+        public GComponent target;
+        public GImage m_canGet;
+        public GTextField m_txtDesc;
+        public GList m_listReward;
+        public GImage m_isGot;
+        public const string URL = "ui://gayfh946l8151j";
+        public const string PACKAGE_NAME = "TimeTracing";
+        public const string RES_NAME = "ListScoreRewardItem";
+        private static UI_ListScoreRewardItem _proxy;
+
+        public static UI_ListScoreRewardItem Create(GObject gObject = null)
+        {
+            var ui = new UI_ListScoreRewardItem();
+            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_ListScoreRewardItem Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ListScoreRewardItem();
+            }
+            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_canGet = (GImage)comp.GetChild("canGet");
+            m_txtDesc = (GTextField)comp.GetChild("txtDesc");
+            m_listReward = (GList)comp.GetChild("listReward");
+            m_isGot = (GImage)comp.GetChild("isGot");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_canGet = null;
+            m_txtDesc = null;
+            m_listReward = null;
+            m_isGot = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_ListScoreRewardItem.cs.meta

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

+ 86 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TImeTracingPreShowUI.cs

@@ -0,0 +1,86 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.TimeTracing
+{
+    public partial class UI_TImeTracingPreShowUI
+    {
+        public GComponent target;
+        public GLoader m_backBtn;
+        public GTextField m_addNum;
+        public GTextField m_suitDesc;
+        public GList m_list;
+        public GTextField m_suitName;
+        public GTextField m_gotNum;
+        public const string URL = "ui://gayfh946iwcl1q";
+        public const string PACKAGE_NAME = "TimeTracing";
+        public const string RES_NAME = "TImeTracingPreShowUI";
+        private static UI_TImeTracingPreShowUI _proxy;
+
+        public static UI_TImeTracingPreShowUI Create(GObject gObject = null)
+        {
+            var ui = new UI_TImeTracingPreShowUI();
+            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_TImeTracingPreShowUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_TImeTracingPreShowUI();
+            }
+            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_backBtn = (GLoader)comp.GetChild("backBtn");
+            m_addNum = (GTextField)comp.GetChild("addNum");
+            m_suitDesc = (GTextField)comp.GetChild("suitDesc");
+            m_list = (GList)comp.GetChild("list");
+            m_suitName = (GTextField)comp.GetChild("suitName");
+            m_gotNum = (GTextField)comp.GetChild("gotNum");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_backBtn = null;
+            m_addNum = null;
+            m_suitDesc = null;
+            m_list = null;
+            m_suitName = null;
+            m_gotNum = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TImeTracingPreShowUI.cs.meta

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

+ 153 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingLevelInfoUI.cs

@@ -0,0 +1,153 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.TimeTracing
+{
+    public partial class UI_TimeTracingLevelInfoUI
+    {
+        public GComponent target;
+        public GLoader m_backBtn;
+        public GLoader m_btnBg;
+        public GButton m_btnStart;
+        public GLoader m_loaderHead;
+        public GTextField m_txtTargetName;
+        public GTextField m_txtTitle;
+        public GTextField m_txtHighestScore;
+        public UI_CompFlower1 m_flower;
+        public GLoader m_scoreType;
+        public GRichTextField m_txtAddition;
+        public GButton m_btnAdditionDesc;
+        public GTextField m_txtAdditionDesc;
+        public GGroup m_grpAdditionDesc;
+        public GTextField m_txtLevelDesc;
+        public GList m_listBonus;
+        public GButton m_btnFightOnce;
+        public GButton m_btnFightTimes;
+        public GGroup m_groupPass;
+        public GTextField m_txtUnpassTips;
+        public GGroup m_groupUnpass;
+        public GComponent m_comCostCurrent;
+        public GTextField m_limitNum;
+        public GLoader m_addBtn;
+        public GLoader m_ruleBtn;
+        public UI_Button7 m_suitAddBtn;
+        public UI_Button7 m_scoreRewardBtn;
+        public UI_Button8 m_levelRankBtn;
+        public const string URL = "ui://gayfh946iwcl22";
+        public const string PACKAGE_NAME = "TimeTracing";
+        public const string RES_NAME = "TimeTracingLevelInfoUI";
+        private static UI_TimeTracingLevelInfoUI _proxy;
+
+        public static UI_TimeTracingLevelInfoUI Create(GObject gObject = null)
+        {
+            var ui = new UI_TimeTracingLevelInfoUI();
+            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_TimeTracingLevelInfoUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_TimeTracingLevelInfoUI();
+            }
+            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_backBtn = (GLoader)comp.GetChild("backBtn");
+            m_btnBg = (GLoader)comp.GetChild("btnBg");
+            m_btnStart = (GButton)comp.GetChild("btnStart");
+            m_loaderHead = (GLoader)comp.GetChild("loaderHead");
+            m_txtTargetName = (GTextField)comp.GetChild("txtTargetName");
+            m_txtTitle = (GTextField)comp.GetChild("txtTitle");
+            m_txtHighestScore = (GTextField)comp.GetChild("txtHighestScore");
+            m_flower = (UI_CompFlower1)UI_CompFlower1.Create(comp.GetChild("flower"));
+            m_scoreType = (GLoader)comp.GetChild("scoreType");
+            m_txtAddition = (GRichTextField)comp.GetChild("txtAddition");
+            m_btnAdditionDesc = (GButton)comp.GetChild("btnAdditionDesc");
+            m_txtAdditionDesc = (GTextField)comp.GetChild("txtAdditionDesc");
+            m_grpAdditionDesc = (GGroup)comp.GetChild("grpAdditionDesc");
+            m_txtLevelDesc = (GTextField)comp.GetChild("txtLevelDesc");
+            m_listBonus = (GList)comp.GetChild("listBonus");
+            m_btnFightOnce = (GButton)comp.GetChild("btnFightOnce");
+            m_btnFightTimes = (GButton)comp.GetChild("btnFightTimes");
+            m_groupPass = (GGroup)comp.GetChild("groupPass");
+            m_txtUnpassTips = (GTextField)comp.GetChild("txtUnpassTips");
+            m_groupUnpass = (GGroup)comp.GetChild("groupUnpass");
+            m_comCostCurrent = (GComponent)comp.GetChild("comCostCurrent");
+            m_limitNum = (GTextField)comp.GetChild("limitNum");
+            m_addBtn = (GLoader)comp.GetChild("addBtn");
+            m_ruleBtn = (GLoader)comp.GetChild("ruleBtn");
+            m_suitAddBtn = (UI_Button7)UI_Button7.Create(comp.GetChild("suitAddBtn"));
+            m_scoreRewardBtn = (UI_Button7)UI_Button7.Create(comp.GetChild("scoreRewardBtn"));
+            m_levelRankBtn = (UI_Button8)UI_Button8.Create(comp.GetChild("levelRankBtn"));
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_backBtn = null;
+            m_btnBg = null;
+            m_btnStart = null;
+            m_loaderHead = null;
+            m_txtTargetName = null;
+            m_txtTitle = null;
+            m_txtHighestScore = null;
+            m_flower.Dispose();
+            m_flower = null;
+            m_scoreType = null;
+            m_txtAddition = null;
+            m_btnAdditionDesc = null;
+            m_txtAdditionDesc = null;
+            m_grpAdditionDesc = null;
+            m_txtLevelDesc = null;
+            m_listBonus = null;
+            m_btnFightOnce = null;
+            m_btnFightTimes = null;
+            m_groupPass = null;
+            m_txtUnpassTips = null;
+            m_groupUnpass = null;
+            m_comCostCurrent = null;
+            m_limitNum = null;
+            m_addBtn = null;
+            m_ruleBtn = null;
+            m_suitAddBtn.Dispose();
+            m_suitAddBtn = null;
+            m_scoreRewardBtn.Dispose();
+            m_scoreRewardBtn = null;
+            m_levelRankBtn.Dispose();
+            m_levelRankBtn = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingLevelInfoUI.cs.meta

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

+ 78 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingLevelItem.cs

@@ -0,0 +1,78 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.TimeTracing
+{
+    public partial class UI_TimeTracingLevelItem
+    {
+        public GComponent target;
+        public UI_FirstPlayeritem m_player;
+        public GTextField m_levelName;
+        public GLoader m_levelIcon;
+        public const string URL = "ui://gayfh946l815i";
+        public const string PACKAGE_NAME = "TimeTracing";
+        public const string RES_NAME = "TimeTracingLevelItem";
+        private static UI_TimeTracingLevelItem _proxy;
+
+        public static UI_TimeTracingLevelItem Create(GObject gObject = null)
+        {
+            var ui = new UI_TimeTracingLevelItem();
+            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_TimeTracingLevelItem Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_TimeTracingLevelItem();
+            }
+            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_player = (UI_FirstPlayeritem)UI_FirstPlayeritem.Create(comp.GetChild("player"));
+            m_levelName = (GTextField)comp.GetChild("levelName");
+            m_levelIcon = (GLoader)comp.GetChild("levelIcon");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_player.Dispose();
+            m_player = null;
+            m_levelName = null;
+            m_levelIcon = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingLevelItem.cs.meta

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

+ 95 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingLevelRankItem.cs

@@ -0,0 +1,95 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.TimeTracing
+{
+    public partial class UI_TimeTracingLevelRankItem
+    {
+        public GComponent target;
+        public Controller m_c1;
+        public GComponent m_comHead;
+        public GButton m_btnLook;
+        public GTextField m_txtName;
+        public GTextField m_teamName;
+        public GTextField m_scoreText;
+        public GTextField m_rankText;
+        public GLoader m_rankIcon;
+        public GComponent m_comLv;
+        public const string URL = "ui://gayfh946l8151a";
+        public const string PACKAGE_NAME = "TimeTracing";
+        public const string RES_NAME = "TimeTracingLevelRankItem";
+        private static UI_TimeTracingLevelRankItem _proxy;
+
+        public static UI_TimeTracingLevelRankItem Create(GObject gObject = null)
+        {
+            var ui = new UI_TimeTracingLevelRankItem();
+            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_TimeTracingLevelRankItem Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_TimeTracingLevelRankItem();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_c1 = comp.GetController("c1");
+            m_comHead = (GComponent)comp.GetChild("comHead");
+            m_btnLook = (GButton)comp.GetChild("btnLook");
+            m_txtName = (GTextField)comp.GetChild("txtName");
+            m_teamName = (GTextField)comp.GetChild("teamName");
+            m_scoreText = (GTextField)comp.GetChild("scoreText");
+            m_rankText = (GTextField)comp.GetChild("rankText");
+            m_rankIcon = (GLoader)comp.GetChild("rankIcon");
+            m_comLv = (GComponent)comp.GetChild("comLv");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_comHead = null;
+            m_btnLook = null;
+            m_txtName = null;
+            m_teamName = null;
+            m_scoreText = null;
+            m_rankText = null;
+            m_rankIcon = null;
+            m_comLv = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingLevelRankItem.cs.meta

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

+ 93 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingLevelRankUI.cs

@@ -0,0 +1,93 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.TimeTracing
+{
+    public partial class UI_TimeTracingLevelRankUI
+    {
+        public GComponent target;
+        public Controller m_c1;
+        public GLoader m_btnBack;
+        public GButton m_btn0;
+        public GButton m_btn1;
+        public GList m_listRank;
+        public GTextField m_txtTips;
+        public GTextField m_timeText;
+        public UI_TimeTracingLevelRankItem m_myRank;
+        public const string URL = "ui://gayfh946l8151f";
+        public const string PACKAGE_NAME = "TimeTracing";
+        public const string RES_NAME = "TimeTracingLevelRankUI";
+        private static UI_TimeTracingLevelRankUI _proxy;
+
+        public static UI_TimeTracingLevelRankUI Create(GObject gObject = null)
+        {
+            var ui = new UI_TimeTracingLevelRankUI();
+            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_TimeTracingLevelRankUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_TimeTracingLevelRankUI();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_c1 = comp.GetController("c1");
+            m_btnBack = (GLoader)comp.GetChild("btnBack");
+            m_btn0 = (GButton)comp.GetChild("btn0");
+            m_btn1 = (GButton)comp.GetChild("btn1");
+            m_listRank = (GList)comp.GetChild("listRank");
+            m_txtTips = (GTextField)comp.GetChild("txtTips");
+            m_timeText = (GTextField)comp.GetChild("timeText");
+            m_myRank = (UI_TimeTracingLevelRankItem)UI_TimeTracingLevelRankItem.Create(comp.GetChild("myRank"));
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_btnBack = null;
+            m_btn0 = null;
+            m_btn1 = null;
+            m_listRank = null;
+            m_txtTips = null;
+            m_timeText = null;
+            m_myRank.Dispose();
+            m_myRank = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingLevelRankUI.cs.meta

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

+ 89 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingLevelRewardUI.cs

@@ -0,0 +1,89 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.TimeTracing
+{
+    public partial class UI_TimeTracingLevelRewardUI
+    {
+        public GComponent target;
+        public GLoader m_backBtn;
+        public GLoader m_bg;
+        public GTextField m_txtScore;
+        public GList m_list;
+        public GButton m_btnGet;
+        public GGraph m_LeftTopEffect;
+        public GGraph m_RightDownEffect;
+        public const string URL = "ui://gayfh946l8151g";
+        public const string PACKAGE_NAME = "TimeTracing";
+        public const string RES_NAME = "TimeTracingLevelRewardUI";
+        private static UI_TimeTracingLevelRewardUI _proxy;
+
+        public static UI_TimeTracingLevelRewardUI Create(GObject gObject = null)
+        {
+            var ui = new UI_TimeTracingLevelRewardUI();
+            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_TimeTracingLevelRewardUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_TimeTracingLevelRewardUI();
+            }
+            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_backBtn = (GLoader)comp.GetChild("backBtn");
+            m_bg = (GLoader)comp.GetChild("bg");
+            m_txtScore = (GTextField)comp.GetChild("txtScore");
+            m_list = (GList)comp.GetChild("list");
+            m_btnGet = (GButton)comp.GetChild("btnGet");
+            m_LeftTopEffect = (GGraph)comp.GetChild("LeftTopEffect");
+            m_RightDownEffect = (GGraph)comp.GetChild("RightDownEffect");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_backBtn = null;
+            m_bg = null;
+            m_txtScore = null;
+            m_list = null;
+            m_btnGet = null;
+            m_LeftTopEffect = null;
+            m_RightDownEffect = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingLevelRewardUI.cs.meta

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

+ 147 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingLevelUI.cs

@@ -0,0 +1,147 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.TimeTracing
+{
+    public partial class UI_TimeTracingLevelUI
+    {
+        public GComponent target;
+        public GLoader m_bg;
+        public GButton m_btnBack;
+        public GLoader m_rankBtn;
+        public GLoader m_headFrame;
+        public GLoader m_headIcon;
+        public GTextField m_playerName;
+        public UI_TimeTracingLevelItem m_level1;
+        public UI_TimeTracingLevelItem m_level2;
+        public UI_TimeTracingLevelItem m_level3;
+        public UI_TimeTracingLevelItem m_level4;
+        public UI_TimeTracingLevelItem m_level5;
+        public GLoader m_suitBg;
+        public GTextField m_suitNum;
+        public GLoader m_suitIcon;
+        public GGroup m_targetSuit;
+        public GProgressBar m_proBar;
+        public GTextField m_countNum;
+        public UI_proBarItem m_barItem0;
+        public UI_proBarItem m_barItem1;
+        public UI_proBarItem m_barItem2;
+        public UI_proBarItem m_barItem3;
+        public UI_proBarItem m_barItem4;
+        public GComponent m_moneyList;
+        public const string URL = "ui://gayfh946l815g";
+        public const string PACKAGE_NAME = "TimeTracing";
+        public const string RES_NAME = "TimeTracingLevelUI";
+        private static UI_TimeTracingLevelUI _proxy;
+
+        public static UI_TimeTracingLevelUI Create(GObject gObject = null)
+        {
+            var ui = new UI_TimeTracingLevelUI();
+            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_TimeTracingLevelUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_TimeTracingLevelUI();
+            }
+            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_btnBack = (GButton)comp.GetChild("btnBack");
+            m_rankBtn = (GLoader)comp.GetChild("rankBtn");
+            m_headFrame = (GLoader)comp.GetChild("headFrame");
+            m_headIcon = (GLoader)comp.GetChild("headIcon");
+            m_playerName = (GTextField)comp.GetChild("playerName");
+            m_level1 = (UI_TimeTracingLevelItem)UI_TimeTracingLevelItem.Create(comp.GetChild("level1"));
+            m_level2 = (UI_TimeTracingLevelItem)UI_TimeTracingLevelItem.Create(comp.GetChild("level2"));
+            m_level3 = (UI_TimeTracingLevelItem)UI_TimeTracingLevelItem.Create(comp.GetChild("level3"));
+            m_level4 = (UI_TimeTracingLevelItem)UI_TimeTracingLevelItem.Create(comp.GetChild("level4"));
+            m_level5 = (UI_TimeTracingLevelItem)UI_TimeTracingLevelItem.Create(comp.GetChild("level5"));
+            m_suitBg = (GLoader)comp.GetChild("suitBg");
+            m_suitNum = (GTextField)comp.GetChild("suitNum");
+            m_suitIcon = (GLoader)comp.GetChild("suitIcon");
+            m_targetSuit = (GGroup)comp.GetChild("targetSuit");
+            m_proBar = (GProgressBar)comp.GetChild("proBar");
+            m_countNum = (GTextField)comp.GetChild("countNum");
+            m_barItem0 = (UI_proBarItem)UI_proBarItem.Create(comp.GetChild("barItem0"));
+            m_barItem1 = (UI_proBarItem)UI_proBarItem.Create(comp.GetChild("barItem1"));
+            m_barItem2 = (UI_proBarItem)UI_proBarItem.Create(comp.GetChild("barItem2"));
+            m_barItem3 = (UI_proBarItem)UI_proBarItem.Create(comp.GetChild("barItem3"));
+            m_barItem4 = (UI_proBarItem)UI_proBarItem.Create(comp.GetChild("barItem4"));
+            m_moneyList = (GComponent)comp.GetChild("moneyList");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_bg = null;
+            m_btnBack = null;
+            m_rankBtn = null;
+            m_headFrame = null;
+            m_headIcon = null;
+            m_playerName = null;
+            m_level1.Dispose();
+            m_level1 = null;
+            m_level2.Dispose();
+            m_level2 = null;
+            m_level3.Dispose();
+            m_level3 = null;
+            m_level4.Dispose();
+            m_level4 = null;
+            m_level5.Dispose();
+            m_level5 = null;
+            m_suitBg = null;
+            m_suitNum = null;
+            m_suitIcon = null;
+            m_targetSuit = null;
+            m_proBar = null;
+            m_countNum = null;
+            m_barItem0.Dispose();
+            m_barItem0 = null;
+            m_barItem1.Dispose();
+            m_barItem1 = null;
+            m_barItem2.Dispose();
+            m_barItem2 = null;
+            m_barItem3.Dispose();
+            m_barItem3 = null;
+            m_barItem4.Dispose();
+            m_barItem4 = null;
+            m_moneyList = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingLevelUI.cs.meta

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

+ 80 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingPreShowItem.cs

@@ -0,0 +1,80 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.TimeTracing
+{
+    public partial class UI_TimeTracingPreShowItem
+    {
+        public GComponent target;
+        public GComponent m_item;
+        public GLoader m_Icon;
+        public GImage m_descBg;
+        public GTextField m_desc;
+        public const string URL = "ui://gayfh946iwcl21";
+        public const string PACKAGE_NAME = "TimeTracing";
+        public const string RES_NAME = "TimeTracingPreShowItem";
+        private static UI_TimeTracingPreShowItem _proxy;
+
+        public static UI_TimeTracingPreShowItem Create(GObject gObject = null)
+        {
+            var ui = new UI_TimeTracingPreShowItem();
+            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_TimeTracingPreShowItem Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_TimeTracingPreShowItem();
+            }
+            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_item = (GComponent)comp.GetChild("item");
+            m_Icon = (GLoader)comp.GetChild("Icon");
+            m_descBg = (GImage)comp.GetChild("descBg");
+            m_desc = (GTextField)comp.GetChild("desc");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_item = null;
+            m_Icon = null;
+            m_descBg = null;
+            m_desc = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingPreShowItem.cs.meta

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

+ 97 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingShowUI.cs

@@ -0,0 +1,97 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.TimeTracing
+{
+    public partial class UI_TimeTracingShowUI
+    {
+        public GComponent target;
+        public GLoader m_bg;
+        public GGraph m_showSuit;
+        public GButton m_btnBack;
+        public UI_Component1 m_switchBtn;
+        public GLoader m_showSuitBtn;
+        public GTextField m_suitName;
+        public GLoader m_ruleBtn;
+        public GButton m_challgeBtn;
+        public UI_Button2 m_makeSuitBtn;
+        public const string URL = "ui://gayfh946l8158";
+        public const string PACKAGE_NAME = "TimeTracing";
+        public const string RES_NAME = "TimeTracingShowUI";
+        private static UI_TimeTracingShowUI _proxy;
+
+        public static UI_TimeTracingShowUI Create(GObject gObject = null)
+        {
+            var ui = new UI_TimeTracingShowUI();
+            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_TimeTracingShowUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_TimeTracingShowUI();
+            }
+            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_showSuit = (GGraph)comp.GetChild("showSuit");
+            m_btnBack = (GButton)comp.GetChild("btnBack");
+            m_switchBtn = (UI_Component1)UI_Component1.Create(comp.GetChild("switchBtn"));
+            m_showSuitBtn = (GLoader)comp.GetChild("showSuitBtn");
+            m_suitName = (GTextField)comp.GetChild("suitName");
+            m_ruleBtn = (GLoader)comp.GetChild("ruleBtn");
+            m_challgeBtn = (GButton)comp.GetChild("challgeBtn");
+            m_makeSuitBtn = (UI_Button2)UI_Button2.Create(comp.GetChild("makeSuitBtn"));
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_bg = null;
+            m_showSuit = null;
+            m_btnBack = null;
+            m_switchBtn.Dispose();
+            m_switchBtn = null;
+            m_showSuitBtn = null;
+            m_suitName = null;
+            m_ruleBtn = null;
+            m_challgeBtn = null;
+            m_makeSuitBtn.Dispose();
+            m_makeSuitBtn = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingShowUI.cs.meta

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

+ 98 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingSuitRankItem.cs

@@ -0,0 +1,98 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.TimeTracing
+{
+    public partial class UI_TimeTracingSuitRankItem
+    {
+        public GComponent target;
+        public Controller m_c1;
+        public GComponent m_comHead;
+        public GButton m_btnLook;
+        public GTextField m_txtName;
+        public GTextField m_teamName;
+        public GTextField m_TimeText;
+        public GTextField m_rankText;
+        public GLoader m_rankIcon;
+        public GTextField m_proText;
+        public GComponent m_comLv;
+        public const string URL = "ui://gayfh946iwcl1p";
+        public const string PACKAGE_NAME = "TimeTracing";
+        public const string RES_NAME = "TimeTracingSuitRankItem";
+        private static UI_TimeTracingSuitRankItem _proxy;
+
+        public static UI_TimeTracingSuitRankItem Create(GObject gObject = null)
+        {
+            var ui = new UI_TimeTracingSuitRankItem();
+            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_TimeTracingSuitRankItem Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_TimeTracingSuitRankItem();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_c1 = comp.GetController("c1");
+            m_comHead = (GComponent)comp.GetChild("comHead");
+            m_btnLook = (GButton)comp.GetChild("btnLook");
+            m_txtName = (GTextField)comp.GetChild("txtName");
+            m_teamName = (GTextField)comp.GetChild("teamName");
+            m_TimeText = (GTextField)comp.GetChild("TimeText");
+            m_rankText = (GTextField)comp.GetChild("rankText");
+            m_rankIcon = (GLoader)comp.GetChild("rankIcon");
+            m_proText = (GTextField)comp.GetChild("proText");
+            m_comLv = (GComponent)comp.GetChild("comLv");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_comHead = null;
+            m_btnLook = null;
+            m_txtName = null;
+            m_teamName = null;
+            m_TimeText = null;
+            m_rankText = null;
+            m_rankIcon = null;
+            m_proText = null;
+            m_comLv = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingSuitRankItem.cs.meta

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

+ 96 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingSuitRankUI.cs

@@ -0,0 +1,96 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.TimeTracing
+{
+    public partial class UI_TimeTracingSuitRankUI
+    {
+        public GComponent target;
+        public Controller m_c1;
+        public GLoader m_btnBack;
+        public GButton m_btn0;
+        public GButton m_btn1;
+        public GList m_listRank;
+        public GTextField m_txtTips;
+        public GLoader m_rulerBtn;
+        public GTextField m_timeText;
+        public UI_TimeTracingSuitRankItem m_myRank;
+        public const string URL = "ui://gayfh946l815l";
+        public const string PACKAGE_NAME = "TimeTracing";
+        public const string RES_NAME = "TimeTracingSuitRankUI";
+        private static UI_TimeTracingSuitRankUI _proxy;
+
+        public static UI_TimeTracingSuitRankUI Create(GObject gObject = null)
+        {
+            var ui = new UI_TimeTracingSuitRankUI();
+            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_TimeTracingSuitRankUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_TimeTracingSuitRankUI();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_c1 = comp.GetController("c1");
+            m_btnBack = (GLoader)comp.GetChild("btnBack");
+            m_btn0 = (GButton)comp.GetChild("btn0");
+            m_btn1 = (GButton)comp.GetChild("btn1");
+            m_listRank = (GList)comp.GetChild("listRank");
+            m_txtTips = (GTextField)comp.GetChild("txtTips");
+            m_rulerBtn = (GLoader)comp.GetChild("rulerBtn");
+            m_timeText = (GTextField)comp.GetChild("timeText");
+            m_myRank = (UI_TimeTracingSuitRankItem)UI_TimeTracingSuitRankItem.Create(comp.GetChild("myRank"));
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_btnBack = null;
+            m_btn0 = null;
+            m_btn1 = null;
+            m_listRank = null;
+            m_txtTips = null;
+            m_rulerBtn = null;
+            m_timeText = null;
+            m_myRank.Dispose();
+            m_myRank = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingSuitRankUI.cs.meta

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

+ 72 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingSwitchItem.cs

@@ -0,0 +1,72 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.TimeTracing
+{
+    public partial class UI_TimeTracingSwitchItem
+    {
+        public GComponent target;
+        public UI_CompTimeTracingSwitchItem m_TimeTracingSwitchItm;
+        public const string URL = "ui://gayfh946l815e";
+        public const string PACKAGE_NAME = "TimeTracing";
+        public const string RES_NAME = "TimeTracingSwitchItem";
+        private static UI_TimeTracingSwitchItem _proxy;
+
+        public static UI_TimeTracingSwitchItem Create(GObject gObject = null)
+        {
+            var ui = new UI_TimeTracingSwitchItem();
+            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_TimeTracingSwitchItem Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_TimeTracingSwitchItem();
+            }
+            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_TimeTracingSwitchItm = (UI_CompTimeTracingSwitchItem)UI_CompTimeTracingSwitchItem.Create(comp.GetChild("TimeTracingSwitchItm"));
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_TimeTracingSwitchItm.Dispose();
+            m_TimeTracingSwitchItm = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingSwitchItem.cs.meta

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

+ 74 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingSwitchUI.cs

@@ -0,0 +1,74 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.TimeTracing
+{
+    public partial class UI_TimeTracingSwitchUI
+    {
+        public GComponent target;
+        public GButton m_btnBack;
+        public GList m_List;
+        public const string URL = "ui://gayfh946l8159";
+        public const string PACKAGE_NAME = "TimeTracing";
+        public const string RES_NAME = "TimeTracingSwitchUI";
+        private static UI_TimeTracingSwitchUI _proxy;
+
+        public static UI_TimeTracingSwitchUI Create(GObject gObject = null)
+        {
+            var ui = new UI_TimeTracingSwitchUI();
+            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_TimeTracingSwitchUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_TimeTracingSwitchUI();
+            }
+            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_btnBack = (GButton)comp.GetChild("btnBack");
+            m_List = (GList)comp.GetChild("List");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_btnBack = null;
+            m_List = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_TimeTracingSwitchUI.cs.meta

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

+ 80 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_proBarItem.cs

@@ -0,0 +1,80 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.TimeTracing
+{
+    public partial class UI_proBarItem
+    {
+        public GComponent target;
+        public Controller m_c1;
+        public GImage m_Got;
+        public GImage m_GotIcon;
+        public GImage m_canGet;
+        public const string URL = "ui://gayfh946iwcl2u";
+        public const string PACKAGE_NAME = "TimeTracing";
+        public const string RES_NAME = "proBarItem";
+        private static UI_proBarItem _proxy;
+
+        public static UI_proBarItem Create(GObject gObject = null)
+        {
+            var ui = new UI_proBarItem();
+            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_proBarItem Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_proBarItem();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_c1 = comp.GetController("c1");
+            m_Got = (GImage)comp.GetChild("Got");
+            m_GotIcon = (GImage)comp.GetChild("GotIcon");
+            m_canGet = (GImage)comp.GetChild("canGet");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_Got = null;
+            m_GotIcon = null;
+            m_canGet = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/TimeTracing/UI_proBarItem.cs.meta

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

+ 171 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/TimeTracingSProxy.cs

@@ -0,0 +1,171 @@
+using System;
+using System.Collections.Generic;
+using ET;
+
+namespace GFGGame
+{
+    public class TimeTracingSProxy
+    {
+        //获取关卡最高分信息
+        public static async ETTask<bool> ReqGetMaxLevelInfo(int chapID)
+        {
+            TimeTracingDataManager._LevelMaxInfoDic.Clear();
+            M2C_GetCompositeLevelMaxScoreInfos response = null;
+            Dictionary<int, LevelRoleInfoProto> levelInfo; 
+            response = (M2C_GetCompositeLevelMaxScoreInfos)await MessageHelper.SendToServer(new C2M_GetCompositeLevelMaxScoreInfos { ChapterId = chapID });
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+            ActivityFightCfg chapterCfg = ActivityFightCfgArray.Instance.GetCfg(chapID);
+            var list = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(chapterCfg.type, chapterCfg.subType, chapterCfg.id);
+            for (int i = 0; i < response.LevelRoleInfoList.Count; i++)
+            {
+                levelInfo = new Dictionary<int, LevelRoleInfoProto>();
+                levelInfo.Add(list[i].id, response.LevelRoleInfoList[i]);
+                if (TimeTracingDataManager._LevelMaxInfoDic.ContainsKey(chapID))
+                {
+                    TimeTracingDataManager._LevelMaxInfoDic[chapID] = levelInfo;
+                }
+                else
+                {
+                    TimeTracingDataManager._LevelMaxInfoDic.Add(chapID, levelInfo);
+                }
+            }
+            return true;
+        }
+        //获取套装积分奖励状态(已领取的奖励id)
+        public static async ETTask<bool> ReqGetSuitRewardStatus()
+        {
+            TimeTracingDataManager.ChapterRewardDic.Clear();
+            S2C_GetChapterRewardList response = null;
+            response = (S2C_GetChapterRewardList)await MessageHelper.SendToServer(new C2S_GetChapterRewardList {});
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+            TimeTracingDataManager.ChapterRewardDic = response.RewardIds;
+            return true;
+        }
+        //领取套装积分奖励
+        public static async ETTask<bool> ReqGetSuitReward(int rewardId)
+        {
+            S2C_GetChapterReward response = (S2C_GetChapterReward)await MessageHelper.SendToServer(new C2S_GetChapterReward { RewardId = rewardId });
+            Dictionary<int, int> rewardData = new Dictionary<int, int>();
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+            TimeTracingDataManager.ChapterRewardDic = response.RewardIds;
+            // 奖励弹窗
+            BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
+            return true;
+        }
+        //获取关卡评分奖励状态
+        public static async ETTask<bool> ReqGetLevelRewardStatus()
+        {
+            TimeTracingDataManager.LevelRewardDic.Clear();
+            Dictionary<int, int> rewardData = null;
+            S2C_GetInstanceZonesRatingRewardList response = null;
+            for (int i = 0; i < TimeTracingDataManager.Instance.chapterIdList.Count - 1;i++)
+            {
+                ActivityFightCfg chapterCfg = ActivityFightCfgArray.Instance.GetCfg(TimeTracingDataManager.Instance.chapterIdList[i]);
+                var list = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(chapterCfg.type, chapterCfg.subType, chapterCfg.id);
+                rewardData = new Dictionary<int, int>();
+                foreach (StoryLevelCfg item in list)
+                {
+                    rewardData = new Dictionary<int, int>();
+                    response = (S2C_GetInstanceZonesRatingRewardList)await MessageHelper.SendToServer(new C2S_GetInstanceZonesRatingRewardList { StoryLevelId = item.id });
+                    if (!(response is { Error: ErrorCode.ERR_Success })) return false;  
+                    for (int j = 0; j < response.RewardKs.Count; j++)
+                    {
+                        rewardData.Add(response.RewardKs[j], response.RewardVs[j]);
+                    }
+                    TimeTracingDataManager.LevelRewardDic.Add(item.id, rewardData);
+                }  
+            }
+            return true;
+        }
+        //领取条积分奖励
+        public static async ETTask<bool> ReqGetLevelReward(int levelId ,int rewardId)
+        {
+            S2C_GetInstanceZonesRatingReward response = (S2C_GetInstanceZonesRatingReward)await MessageHelper.SendToServer(new C2S_GetInstanceZonesRatingReward { StoryLevelId = levelId,RewardId = rewardId });
+            Dictionary<int, int> rewardData = new Dictionary<int, int>();
+                if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+                for (int j = 0; j < response.RewardKs.Count; j++)
+                {
+                    rewardData.Add(response.RewardKs[j], response.RewardVs[j]);
+                }
+            TimeTracingDataManager.LevelRewardDic[levelId] = rewardData;
+            // 奖励弹窗
+            BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
+            return true;
+        }
+
+        //领取全部积分奖励
+        public static async ETTask<bool> ReqGetAllLevelReward(int levelID)
+        {
+            S2C_GetAllInstanceZonesRatingReward response = (S2C_GetAllInstanceZonesRatingReward)await MessageHelper.SendToServer(new C2S_GetAllInstanceZonesRatingReward { StoryLevelId = levelID });
+            Dictionary<int, int> rewardData = new Dictionary<int, int>();
+                if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+                for (int j = 0; j < response.RewardKs.Count; j++)
+                {
+                    rewardData.Add(response.RewardKs[j], response.RewardVs[j]);
+                }
+            TimeTracingDataManager.LevelRewardDic[levelID] = rewardData;
+            // 奖励弹窗
+            BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
+            return true;
+        }
+
+        //获取套装排名榜数据
+        public static async ETTask<bool> ReqGetSuitRank(int suitID)
+        {
+            TimeTracingDataManager.Instance.SuitRankDatasDic[0].Clear();
+            S2C_GetSuitCollectRankList response = (S2C_GetSuitCollectRankList)await MessageHelper.SendToServer(new C2S_GetSuitCollectRankList { SuitId = suitID });
+            TimeTracingDataManager.Instance.SuitRankDatasDic[0] = response.SuitCollectRankList;
+            TimeTracingDataManager.RefreshTime = response.NexTime;
+            TimeTracingDataManager.Instance.mySuitRankInfo = response.MySuitCollectRank;
+            return true;
+        }
+        //获取套装好友排名榜数据
+        public static async ETTask<bool> ReqGetSuitFriendRank(int suitID)
+        {
+            TimeTracingDataManager.Instance.SuitRankDatasDic[1].Clear();
+            S2C_GetFriendSuitCollectRankList response = (S2C_GetFriendSuitCollectRankList)await MessageHelper.SendToServer(new C2S_GetFriendSuitCollectRankList { SuitId = suitID });
+            TimeTracingDataManager.Instance.SuitRankDatasDic[1] = response.FriendSuitCollectRankList;
+            return true;
+        }
+        //获取关卡排行榜信息
+        public static async ETTask<bool> ReqGetLevelRank(int levelID)
+        {
+            TimeTracingDataManager.Instance.LevelRankDatasDic[0].Clear();
+            S2C_GetInstanceZonesRankList response = (S2C_GetInstanceZonesRankList)await MessageHelper.SendToServer(new C2S_GetInstanceZonesRankList { LevelCfgId = levelID });
+            TimeTracingDataManager.Instance.LevelRankDatasDic[0] = response.LevelRankList;
+            TimeTracingDataManager.RefreshTime = response.NexTime;
+            TimeTracingDataManager.Instance.myLevelRankInfo = response.MyLevelRankInfo;
+            return true;
+        }
+        //获取关卡好友排行榜数据
+        public static async ETTask<bool> ReqGetLevelFriendRank(int levelID)
+        {
+            TimeTracingDataManager.Instance.LevelRankDatasDic[1].Clear();
+            S2C_GetInstanceZonesFriendRankList response = (S2C_GetInstanceZonesFriendRankList)await MessageHelper.SendToServer(new C2S_GetInstanceZonesFriendRankList { LevelCfgId = levelID });
+            TimeTracingDataManager.Instance.LevelRankDatasDic[1] = response.FriendLevelRankList;
+            return true;
+        }
+
+        public static async ETTask<bool> ReqSetDataRecord(long SuitID)
+        {
+            TimeTracingDataManager.Instance.LevelRankDatasDic[1].Clear();
+            S2C_UpdateDataRecord response = (S2C_UpdateDataRecord)await MessageHelper.SendToServer(new C2S_UpdateDataRecord { K = 6200123,V = SuitID });
+            return true;
+        }
+
+        public static async ETTask<bool> ReqGetDataRecord()
+        {
+            TimeTracingDataManager.Instance.LevelRankDatasDic[1].Clear();
+            S2C_GetDataRecord response = (S2C_GetDataRecord)await MessageHelper.SendToServer(new C2S_GetDataRecord { });
+            for(int i = 0; i<response.AllKs.Count;i++)
+            {
+                if(response.AllKs[i] == 6200123)
+                {
+                    TimeTracingDataManager.SuitID = (int)response.AllVs[i];
+                    return true;
+                }
+            }
+            return true;
+        }
+    }
+}

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

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

+ 8 - 0
GameClient/Assets/Game/HotUpdate/Views/TimeTracing.meta

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

+ 368 - 0
GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingLevelInfoView.cs

@@ -0,0 +1,368 @@
+using FairyGUI;
+using UI.Main;
+using System.Collections.Generic;
+using UI.CommonGame;
+using UI.TimeTracing;
+using System;
+using ET;
+using UnityEngine;
+using UI_ListRewardItem = UI.Main.UI_ListRewardItem;
+
+namespace GFGGame
+{
+    public class TimeTracingLevelInfoView : BaseWindow
+    {
+        private const int _quicklyStarCount = 2;//达到2星可快速挑战
+        private UI_TimeTracingLevelInfoUI _ui;
+
+        private int _levelID;
+        private int _needItemId;
+        private int _needItemCount;
+        private int _type;
+        private int _storyType;
+        private int _index;
+        private List<ItemData> _bonusList = new List<ItemData>();
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+            base.Dispose();
+        }
+        protected override void OnInit()
+        {
+            base.OnInit();
+            _ui = UI_TimeTracingLevelInfoUI.Create();
+            this.viewCom = _ui.target;
+            this.viewCom.Center();
+            this.modal = true;
+            viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
+
+            _ui.m_listBonus.itemRenderer = UpdateBonusItem;
+            // _ui.m_listBonus.onClickItem.Add(OnClickListBonusItem);
+            _ui.m_btnStart.onClick.Add(OnClickBtnStart);
+            _ui.m_btnFightOnce.onClick.Add(OnClickBtnFightOnce);
+            _ui.m_btnFightTimes.onClick.Add(OnClickBtnFightTimes);
+            _ui.m_suitAddBtn.target.onClick.Add(OnClickSuitAddBtn);
+            _ui.m_scoreRewardBtn.target.onClick.Add(OnClickScoreRewardBtn);
+            _ui.m_levelRankBtn.target.onClick.Add(OnClickRankBtn);
+            _ui.m_backBtn.onClick.Add(OnClickBackBtn);
+            _ui.m_btnAdditionDesc.onClick.Add(OnBtnAdditionDescClick);
+            _ui.m_addBtn.onClick.Add(OnClickAddBtn);
+            _ui.m_ruleBtn.onClick.Add(RuleController.ShowRuleView);
+        }
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+            EventAgent.AddEventListener(ConstMessage.NUMERIC_CHANGE, UpdateBtnFightTimes);
+            EventAgent.AddEventListener(ConstMessage.NOTICE_LIMIT_CHANGED, UpdateVisitNum);
+            EventAgent.AddEventListener(ConstMessage.NOTICE_LIMIT_CHANGED, UpdateBtnFightTimes);
+            EventAgent.AddEventListener(ConstMessage.TIMETRACINGREDUPDATE, UpdateRed);
+        }
+        protected async override void OnShown()
+        {
+            base.OnShown();
+            ViewManager.SetMaskAlpha(0.8f);
+
+            _levelID = (int)(viewData as object[])[0];
+            _needItemId = (int)(viewData as object[])[1];
+            _needItemCount = (int)(viewData as object[])[2];
+            StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(_levelID);
+            _type = levelCfg.type;
+            _storyType = levelCfg.subType;
+            _ui.m_btnStart.touchable = true;
+            _ui.m_ruleBtn.data = 300030;
+            await ReqGetLevelRank();
+            RedDotController.Instance.SetComRedDot(_ui.m_scoreRewardBtn.target, TimeTracingDataManager.Instance.GetLevelRewardStatus(_levelID));
+            UpdateView(); 
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+            ViewManager.SetMaskAlpha(0.6f);
+        }
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+            EventAgent.RemoveEventListener(ConstMessage.NUMERIC_CHANGE, UpdateBtnFightTimes);
+            EventAgent.RemoveEventListener(ConstMessage.NOTICE_LIMIT_CHANGED, UpdateVisitNum);
+            EventAgent.RemoveEventListener(ConstMessage.NOTICE_LIMIT_CHANGED, UpdateBtnFightTimes);
+            EventAgent.RemoveEventListener(ConstMessage.TIMETRACINGREDUPDATE, UpdateRed);
+        }
+        private void OnClickBtnStart()
+        {
+            // int time = InstanceZonesDataManager.GetCanFightTime(_levelID);
+            InstanceZonesDataManager.GetCanFightTime(_type, _storyType, _levelID, out int times, out string title);
+            if (times > 0)
+            {
+                DressUpFightType dressUpFightType = new DressUpFightType();
+                dressUpFightType.levelID = _levelID;
+                dressUpFightType.teaPartID = 0;
+                ViewManager.Show<DressUpFightView>(dressUpFightType, true, false);
+                this.Hide();
+            }
+            else
+            {
+                var levelCfg = StoryLevelCfgArray.Instance.GetCfg(_levelID);
+
+                if (RoleDataManager.power < levelCfg.power)
+                {
+                    ItemUtil.AddPower(OnClickBtnStart);
+                }
+                else
+                {
+                    if (levelCfg.type == ConstInstanceZonesType.Studio && levelCfg.chapterId != StudioDataManager.Instance.GetLuckyBoxActivityID())
+                    {
+                        var studioCfg = StudioCfgArray.Instance.GetCfg(levelCfg.chapterId);
+                        ViewManager.Show<StudioBuyNumView>(studioCfg.limit);
+                    }
+                    else
+                    {
+                        PromptController.Instance.ShowFloatTextPrompt("挑战次数不足");
+                    }
+                }
+            }
+        }
+
+        private void OnClickBtnFightOnce()
+        {
+            // int time = InstanceZonesDataManager.GetCanFightTime(_levelID);
+            int starCount = InstanceZonesDataManager.GetStarCountHistory(_levelID);
+            StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(_levelID);
+            StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
+
+            if (starCount < fightCfg.quickFightStart)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("挑战星数不足");
+                return;
+            }
+            InstanceZonesDataManager.GetCanFightTime(_type, _storyType, _levelID, out int times, out string title);
+            if (times > 0)
+            {
+                ViewManager.Show<StoryFightQuicklyView>(new object[] { 1, _needItemId, _needItemCount });
+                this.Hide();
+            }
+            else
+            {
+                if (RoleDataManager.power < levelCfg.power)
+                {
+                    ItemUtil.AddPower(OnClickBtnFightOnce);
+                }
+                else
+                {
+                    if (levelCfg.type == ConstInstanceZonesType.Studio && levelCfg.chapterId != StudioDataManager.Instance.GetLuckyBoxActivityID())
+                    {
+                        var studioCfg = StudioCfgArray.Instance.GetCfg(levelCfg.chapterId);
+                        ViewManager.Show<StudioBuyNumView>(studioCfg.limit);
+                    }
+                    else
+                    {
+                        PromptController.Instance.ShowFloatTextPrompt("挑战次数不足");
+                    }
+                }
+            }
+        }
+
+        private void OnClickBtnFightTimes()
+        {
+            //只要按钮显示说明一定可以速刷多次
+            InstanceZonesDataManager.GetCanFightTime(_type, _storyType, _levelID, out int times, out string title);
+            ViewManager.Show<StoryFightQuicklyView>(new object[] { times, _needItemId, _needItemCount });
+            this.Hide();
+        }
+        public void UpdateRed()
+        {
+            RedDotController.Instance.SetComRedDot(_ui.m_scoreRewardBtn.target, TimeTracingDataManager.Instance.GetLevelRewardStatus(_levelID));
+        }
+        private void UpdateBonusItem(int index, GObject item)
+        {
+            ItemData itemData = _bonusList[index] as ItemData;
+            UI_ListRewardItem listItem = UI_ListRewardItem.Proxy(item);
+            ItemCfg cfg = ItemCfgArray.Instance.GetCfg(itemData.id);
+            listItem.m_txtName.text = cfg.name;
+            listItem.m_txtOwner.text = string.Format("已拥有:{0}", ItemDataManager.GetItemNum(itemData.id));
+            if (item.data == null)
+            {
+                item.data = new ItemView(listItem.m_comItem as GComponent);
+            }
+            (item.data as ItemView).SetData(itemData);
+            //(item.data as ItemView).ShowTxtCount = false;
+            List<ItemData> bonusOnceData = StoryBonusDataCache.GetBonusData(_levelID).bonusOnce;
+            (item.data as ItemView).ImgShouTongVisable = !InstanceZonesDataManager.CheckLevelPass(_levelID) && index < bonusOnceData.Count;
+            UI_ListRewardItem.ProxyEnd();
+        }
+
+        private void UpdateBtnFightTimes()
+        {
+            InstanceZonesDataManager.GetCanFightTime(_type, _storyType, _levelID, out int times, out string title);
+            _ui.m_btnFightTimes.title = title;
+            _ui.m_btnFightTimes.visible = times > 1;
+        }
+
+        private void UpdateView()
+        {
+            StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(_levelID);
+            StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
+            var title = levelCfg.name;
+            switch (levelCfg.type)
+            {
+                case ConstInstanceZonesType.Story:
+                    title = MainStoryDataManager.CurrentChapterOrder + "-" + InstanceZonesDataManager.currentLevelOrder + " " + levelCfg.name;
+                    break;
+            }
+            _ui.m_txtTitle.text = title;
+            _ui.m_txtLevelDesc.text = levelCfg.desc;
+            ItemUtil.UpdateItemNeedNum(_ui.m_comCostCurrent, ConstItemID.POWER, levelCfg.power);
+            _ui.m_comCostCurrent.visible = levelCfg.power > 0;
+
+            _ui.m_scoreType.url = "ui://CommonGame/kp_sx_" + fightCfg.scoreType;
+            if (fightCfg.targetName != null && fightCfg.targetName.Length > 0)
+            {
+                _ui.m_txtTargetName.text = "挑战对手·" + fightCfg.targetName;
+                _ui.m_loaderHead.url = ResPathUtil.GetNpcHeadPath(fightCfg.targetRes);
+            }
+            else
+            {
+                _ui.m_txtTargetName.text = RoleDataManager.roleName;
+                _ui.m_loaderHead.url = ResPathUtil.GetNpcHeadPath("self");
+            }
+            _bonusList.Clear();
+            if (InstanceZonesDataManager.CheckLevelPass(_levelID))
+            {
+                _bonusList = StoryBonusDataCache.GetBonusList(_levelID, false, true);
+                _ui.m_groupPass.visible = InstanceZonesDataManager.GetStarCountHistory(_levelID) >= _quicklyStarCount;
+                _ui.m_groupUnpass.visible = InstanceZonesDataManager.GetStarCountHistory(_levelID) < _quicklyStarCount;
+                UpdateBtnFightTimes();
+            }
+            else
+            {
+                _bonusList = StoryBonusDataCache.GetBonusList(_levelID, true);
+                _ui.m_groupPass.visible = false;
+                _ui.m_groupUnpass.visible = true;
+                _ui.m_txtUnpassTips.SetVar("count", NumberUtil.GetChiniseNumberText(fightCfg.quickFightStart)).FlushVars();
+            }
+            _ui.m_listBonus.numItems = _bonusList.Count;
+            // if (_ui.m_listBonus.numItems > 4)
+            // {
+            //     _ui.m_listBonus.columnGap = 40;
+            // }
+            // else
+            // {
+            //     _ui.m_listBonus.columnGap = 60;
+            // }
+            int score = InstanceZonesDataManager.GetScoreHighest(_levelID);
+            if (score > 0)
+            {
+                string scoreStr = "" + score;
+                if (score <= fightCfg.score1)
+                {
+                    scoreStr = "[color=#A28D77]失败 " + scoreStr + "[/color]";
+                }
+                _ui.m_txtHighestScore.text = scoreStr;
+                _ui.m_flower.target.visible = true;
+                int starCount = InstanceZonesDataManager.GetStarCountHistory(_levelID);
+                StoryUtil.UpdateStar(starCount, _ui.m_flower.target);
+            }
+            else
+            {
+                _ui.m_txtHighestScore.text = "--";
+                _ui.m_flower.target.visible = false;
+            }
+            _ui.m_grpAdditionDesc.visible = false;
+            SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(TimeTracingDataManager.SuitID);
+            DressUpMenuSuitDataManager.GetSuitProgressBySuitId(TimeTracingDataManager.SuitID, out int count, out int totalCount);
+            _ui.m_txtAdditionDesc.text = string.Format("{0}套装收集进度:{1}/{2}", suitCfg.name, count, totalCount);
+            float addition = 0;
+            StudioDataManager.Instance.filingChapterId = levelCfg.chapterId;
+            addition = StudioDataManager.Instance.GetAddition(ConstInstanceZonesType.PureFight);
+            addition = addition / 10000 * 100;
+            _ui.m_txtAddition.text = string.Format("{0}%加成", addition);
+            SuitCfg cfg = SuitCfgArray.Instance.GetCfg(TimeTracingDataManager.SuitID);
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(cfg.partsArr[0]);
+            if (itemCfg.addition == 0)
+            {
+                _ui.m_txtAddition.text = "无加成";
+            }
+
+            _ui.m_suitAddBtn.m_c1.selectedIndex = 0;
+            _ui.m_scoreRewardBtn.m_c1.selectedIndex = 1;
+            UpdateVisitNum();
+            UpdateRankBtn();
+        }
+
+        private void UpdateRankBtn()
+        {
+            if (TimeTracingDataManager._LevelMaxInfoDic.ContainsKey(TimeTracingDataManager._currentChapterId)&& TimeTracingDataManager._LevelMaxInfoDic[TimeTracingDataManager._currentChapterId].ContainsKey(_levelID))
+            {
+                _ui.m_levelRankBtn.target.visible = true;
+                _ui.m_levelRankBtn.m_name.text = TimeTracingDataManager._LevelMaxInfoDic[TimeTracingDataManager._currentChapterId][_levelID].RoleName;
+                ItemCfg headCfg = ItemCfgArray.Instance.GetCfg(TimeTracingDataManager._LevelMaxInfoDic[TimeTracingDataManager._currentChapterId][_levelID].HeadItemId);
+                ItemCfg headBorderCfg = ItemCfgArray.Instance.GetCfg(TimeTracingDataManager._LevelMaxInfoDic[TimeTracingDataManager._currentChapterId][_levelID].HeadBorderItemId);
+                _ui.m_levelRankBtn.m_headbg.url = ResPathUtil.GetHeadBorderPath(headBorderCfg.res);
+                _ui.m_levelRankBtn.m_head.url = ResPathUtil.GetHeadPath(headCfg.res);
+            }
+            else
+            {
+                _ui.m_levelRankBtn.m_name.text = "";
+               _ui.m_levelRankBtn.m_headbg.url = "";
+                _ui.m_levelRankBtn.m_head.url = "";
+            }
+        }
+        private void RenderListTagItem(int index, GObject obj)
+        {
+            UI_ComTag item = UI_ComTag.Proxy(obj);
+            StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(_levelID);
+            StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
+            string tag = fightCfg.needTagsArr[index];
+            int tagType = TagCfgArray.Instance.GetCfg(tag).type;
+            item.m_txtTag.text = tag;
+            item.m_loaTag.url = ResPathUtil.GetCommonGameResPath("fzd_bqbq_" + tagType);
+            UI_ComTag.ProxyEnd();
+        }
+
+        //时光回溯活动
+        private void UpdateVisitNum()
+        {
+            RoleLimitData limitData = RoleLimitDataManager.GetLimitData(ActivityFightCfgArray.Instance.GetCfg(TimeTracingDataManager._currentChapterId).limit);
+            int time = limitData.TotalPlayMax - limitData.PlayTimes;
+            _ui.m_limitNum.text = "今日免费次数:" + time + "/" + limitData.MaxStorageCount;
+        }
+        private void OnClickAddBtn()
+        {
+            int limitId = ActivityFightCfgArray.Instance.GetCfg(TimeTracingDataManager._currentChapterId).limit;
+            string name = ItemCfgArray.Instance.GetCfg(LimitCfgArray.Instance.GetCfg(limitId).moneyId).name;
+            string desc = string.Format("是否花费{0}{1}购买{2}次过关次数?", LimitCfgArray.Instance.GetCfg(limitId).moneyNumArr[0], name, 1);
+            ViewManager.Show<ZCJBBuyTipsView>(new object[] { desc,limitId });
+        }
+        private void OnBtnAdditionDescClick()
+        {
+            _ui.m_grpAdditionDesc.visible = !_ui.m_grpAdditionDesc.visible;
+        }
+        private void OnClickSuitAddBtn()
+        {
+            ViewManager.Show<TimeTracingSuitAddView>();
+        }
+        private void OnClickScoreRewardBtn()
+        {
+            ViewManager.Show<TimeTracingLevelRewardView>(_levelID);
+        }
+        private async void OnClickRankBtn()
+        {
+            await TimeTracingSProxy.ReqGetLevelRank(_levelID);
+            await TimeTracingSProxy.ReqGetLevelFriendRank(_levelID);
+            ViewManager.Show<TimeTracingLevelRankView>(_levelID);
+        }
+        private void OnClickBackBtn()
+        {
+            this.Hide();
+        }
+        private async ETTask ReqGetLevelRank()
+        {
+            await TimeTracingSProxy.ReqGetLevelRank(_levelID);
+            await TimeTracingSProxy.ReqGetLevelFriendRank(_levelID);
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingLevelInfoView.cs.meta

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

+ 226 - 0
GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingLevelRankView.cs

@@ -0,0 +1,226 @@
+using System;
+using System.Collections.Generic;
+using ET;
+using FairyGUI;
+using UI.CommonGame;
+using UI.TimeTracing;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class TimeTracingLevelRankView : BaseWindow
+    {
+        private UI_TimeTracingLevelRankUI _ui;
+        private int LevelID;
+        private int rankType;
+        private int curTime;
+        private int mTime;
+        private int tTime;
+        public override void Dispose()
+        {
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_TimeTracingLevelRankUI.PACKAGE_NAME;
+            _ui = UI_TimeTracingLevelRankUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+            modal = true;
+            _ui.m_btnBack.onClick.Add(OnClickBtnBack);
+            _ui.m_c1.onChanged.Add(OnTabChange);
+            _ui.m_listRank.SetVirtual();
+            _ui.m_listRank.itemRenderer = RenderListItem;
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            LevelID = (int)this.viewData;
+            curTime = (int)(TimeTracingDataManager.RefreshTime - TimeHelper.ServerNow())/1000;
+            UpdateView();
+            if (curTime > 60)
+            {
+                _ui.m_timeText.text = string.Format("倒计时:{0}分{1}秒", curTime / 60, curTime % 60);
+            }
+            else
+            {
+                _ui.m_timeText.text = string.Format("倒计时:{0}分{1}秒", 0, tTime);
+            }
+            Timers.inst.Add(1, 0, TimeUpdate);
+        }
+
+        protected override void OnHide()
+        {
+            Timers.inst.Remove(TimeUpdate);
+            base.OnHide();
+        }
+
+        private void UpdateView()
+        {
+            rankType = 0;
+            UpdateRank();
+        }
+        private void UpdateRank()
+        {
+            _ui.m_listRank.numItems = TimeTracingDataManager.Instance.LevelRankDatasDic[rankType].Count;
+            if (TimeTracingDataManager.Instance.LevelRankDatasDic[rankType].Count > 0)
+            {
+                _ui.m_txtTips.visible = false;
+            }
+            else
+            {
+                _ui.m_txtTips.visible = true;
+            }
+            if (TimeTracingDataManager.Instance.myLevelRankInfo == null)
+            {
+                _ui.m_myRank.target.visible = false;
+            }
+            else if(TimeTracingDataManager.Instance.myLevelRankInfo.RankIndex == 0)
+            {
+                _ui.m_myRank.target.visible = true;
+                LevelRankProto itemdata = TimeTracingDataManager.Instance.myLevelRankInfo;
+                _ui.m_myRank.m_txtName.text = itemdata.RoleName;
+                _ui.m_myRank.m_rankText.text = "--";
+                _ui.m_myRank.m_teamName.text = itemdata.LeagueName;
+                _ui.m_myRank.m_scoreText.text = "--";
+                _ui.m_myRank.m_c1.selectedIndex = 3;
+                _ui.m_myRank.m_btnLook.visible = false;
+                RoleInfoManager.Instance.UpdateLv(_ui.m_myRank.m_comLv, itemdata.RoleLvl);
+                RoleInfoManager.Instance.UpdateHead(_ui.m_myRank.m_comHead, itemdata.HeadItemId, itemdata.HeadBorderItemId);
+            }
+            else
+            {
+                _ui.m_myRank.target.visible = true;
+                LevelRankProto itemdata = TimeTracingDataManager.Instance.myLevelRankInfo;
+                _ui.m_myRank.m_txtName.text = itemdata.RoleName;
+                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%";
+                }
+                _ui.m_myRank.m_rankText.text = itemdata.RankIndex.ToString();
+                _ui.m_myRank.m_teamName.text = itemdata.LeagueName;
+                _ui.m_myRank.m_scoreText.text = itemdata.RatingScore.ToString();
+                _ui.m_myRank.m_c1.selectedIndex = Math.Min(itemdata.RankIndex - 1, 3);
+                _ui.m_myRank.m_btnLook.visible = false;
+                RoleInfoManager.Instance.UpdateLv(_ui.m_myRank.m_comLv, itemdata.RoleLvl);
+                RoleInfoManager.Instance.UpdateHead(_ui.m_myRank.m_comHead, itemdata.HeadItemId, itemdata.HeadBorderItemId);
+            }
+        }
+
+        private void RenderListItem(int index, GObject obj)
+        {
+            UI_TimeTracingLevelRankItem item = UI_TimeTracingLevelRankItem.Proxy(obj);
+            LevelRankProto itemdata = TimeTracingDataManager.Instance.LevelRankDatasDic[rankType][index];
+            item.m_c1.selectedIndex = Math.Min(index, 3);
+            if (itemdata == null)
+            {
+                item.m_rankText.text = "--";
+                item.m_txtName.text = "--";
+                item.m_teamName.text = "--";
+                item.m_scoreText.text = "";
+                RoleInfoManager.Instance.UpdateLv(item.m_comLv, 0);
+                RoleInfoManager.Instance.UpdateArenaNpcHead(item.m_comHead, "");
+            }
+            else
+            {
+                item.m_txtName.text = itemdata.RoleName;
+                item.m_rankText.text = itemdata.RankIndex.ToString();
+                item.m_teamName.text = itemdata.LeagueName;
+                item.m_scoreText.text = itemdata.RatingScore.ToString();
+                RoleInfoManager.Instance.UpdateLv(item.m_comLv, itemdata.RoleLvl);
+                RoleInfoManager.Instance.UpdateHead(item.m_comHead, itemdata.HeadItemId, itemdata.HeadBorderItemId);
+            }
+            if (item.m_comHead.data == null)
+            {
+                //item.m_btnLook.onClick.Add(OnBtnLookClick);
+                item.m_btnLook.visible = false;
+                item.m_comHead.onClick.Add(OnBtnLookClick);
+            }
+            item.m_comHead.data = itemdata;
+            UI_TimeTracingLevelRankItem.ProxyEnd();
+        }
+        private void OnTabChange()
+        {
+            if (_ui.m_c1.selectedIndex == 1)
+            {
+                rankType = 1;
+            }
+            else
+            {
+                rankType = 0;
+            }
+            UpdateRank();
+        }
+
+        private async void TimeUpdate(object param = null)
+        {
+            if(curTime > 60)
+            {
+                mTime = curTime / 60;
+                tTime = curTime % 60;
+            }
+            else
+            {
+                mTime = 0;
+                tTime = curTime;
+            }
+            _ui.m_timeText.text = string.Format("倒计时:{0}分{1}秒", mTime, tTime);
+            if (curTime <= 0)
+            {
+                //请求协议 
+                await ReqGetLevelRank();
+                curTime = (int)(TimeTracingDataManager.RefreshTime - TimeHelper.ServerNow() + 1000) / 1000;
+                UpdateRank();
+            }
+            curTime--;
+        }
+        private void OnClickRankBtn()
+        {
+
+        }
+
+        private async void OnBtnLookClick(EventContext context)
+        {
+            //TimeTracingSuitRankData targetData = (context.sender as GObject).data as TimeTracingSuitRankData;
+            //bool result = await ArenaSproxy.ReqArenaFightAttr(targetData.RoleInfo.roleId, targetData.FightDatas);
+            //if (result)
+            //{
+            //    ViewManager.Show<ArenaDressInfoView>(new object[] { FightRoleType.TAEGET, 0, targetData.FightDatas, typeof(ArenaRankView).FullName }, true);
+            //}
+        }
+        private void OnClickBtnBack()
+        {
+            this.Hide();
+        }
+
+        private async ETTask ReqGetLevelRank()
+        {
+            Timers.inst.Remove(TimeUpdate);
+            await TimeTracingSProxy.ReqGetLevelRank(LevelID);
+            await TimeTracingSProxy.ReqGetLevelFriendRank(LevelID);
+            Timers.inst.Add(1, 0, TimeUpdate);
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingLevelRankView.cs.meta

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

+ 109 - 0
GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingLevelRewardView.cs

@@ -0,0 +1,109 @@
+using System;
+using System.Collections.Generic;
+using ET;
+using FairyGUI;
+using UI.CommonGame;
+using UI.TimeTracing;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class TimeTracingLevelRewardView : BaseWindow
+    {
+        private UI_TimeTracingLevelRewardUI _ui;
+        private int levelID;
+        private List<CompositeLevelbonusCfg> bonusList = new List<CompositeLevelbonusCfg>();
+        public override void Dispose()
+        {
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_TimeTracingLevelRewardUI.PACKAGE_NAME;
+            _ui = UI_TimeTracingLevelRewardUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+            modal = true;
+
+            _ui.m_backBtn.onClick.Add(OnClickBtnBack);
+            _ui.m_btnGet.onClick.Add(OnBtnGetClcik);
+            _ui.m_list.itemRenderer = RenderListItem;
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            levelID = (int)this.viewData;
+            UpdateView();
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+        }
+
+        private void UpdateView()
+        {
+            _ui.m_txtScore.text = string.Format("最高评分:{0}",InstanceZonesDataManager.GetScoreHighest(levelID));
+            //_ui.m_btnGet.grayed = !StudioDataManager.Instance.GetFilingRewardState(StudioDataManager.Instance.filingChapterId);
+            bonusList = CompositeLevelbonusCfgArray.Instance.GetCfgsBystoryLevelId(levelID);
+            _ui.m_list.numItems = bonusList.Count;
+        }
+
+        private void RenderListItem(int index, GObject obj)
+        {
+            UI_ListScoreRewardItem item = UI_ListScoreRewardItem.Proxy(obj);
+            item.m_canGet.visible = TimeTracingDataManager.LevelRewardDic[levelID][bonusList[index].id] == ConstBonusStatus.CAN_GET;
+            item.m_isGot.visible = TimeTracingDataManager.LevelRewardDic[levelID][bonusList[index].id] == ConstBonusStatus.GOT;
+            item.m_txtDesc.text = string.Format("总评分达到{0}", bonusList[index].score.ToString());
+            item.m_listReward.data = bonusList[index].bonusArr;
+            item.m_listReward.itemRenderer = RenderListRewardItem;
+            if(item.target.data == null)
+            {
+                item.target.onClick.Add(GetLevelRewardBtn);
+            }
+            item.target.data = bonusList[index];
+            item.m_listReward.numItems = bonusList[index].bonusArr.Length;
+            UI_ListScoreRewardItem.ProxyEnd();
+        }
+        private void RenderListRewardItem(int index, GObject obj)
+        {
+            int[][] rewards = (int[][])obj.parent.data;
+            ItemData reward = ItemUtil.createItemData(rewards[index]);
+            if (obj.data == null)
+            {
+                obj.data = new ItemView(obj as GComponent);
+            }
+            (obj.data as ItemView).SetData(reward);
+        }
+
+        private async void GetLevelRewardBtn(EventContext context)
+        {
+            GObject obj = context.sender as GObject;
+            CompositeLevelbonusCfg bonuscfg = (CompositeLevelbonusCfg)obj.data;
+            if (bonuscfg.score > InstanceZonesDataManager.GetScoreHighest(levelID) || TimeTracingDataManager.LevelRewardDic[levelID][bonuscfg.id] != ConstBonusStatus.CAN_GET)
+            {
+                return;
+            }
+            await TimeTracingSProxy.ReqGetLevelReward(levelID, bonuscfg.id);
+            _ui.m_list.numItems = bonusList.Count;
+            EventAgent.DispatchEvent(ConstMessage.TIMETRACINGREDUPDATE);
+        }
+        private async void OnBtnGetClcik()
+        {
+            if(!TimeTracingDataManager.Instance.GetLevelRewardStatus(levelID))
+            {
+                return;
+            }
+            await TimeTracingSProxy.ReqGetAllLevelReward(levelID);
+            _ui.m_list.numItems = bonusList.Count;
+            EventAgent.DispatchEvent(ConstMessage.TIMETRACINGREDUPDATE);
+        }
+        private void OnClickBtnBack()
+        {
+            this.Hide();
+        }
+
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingLevelRewardView.cs.meta

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

+ 264 - 0
GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingLevelView.cs

@@ -0,0 +1,264 @@
+using System;
+using System.Collections.Generic;
+using ET;
+using FairyGUI;
+using UI.CommonGame;
+using UI.TimeTracing;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class TimeTracingLevelView : BaseWindow
+    {
+        private UI_TimeTracingLevelUI _ui;
+        private ValueBarController _valueBarController;
+        private int SuitID;
+        private int levelId;
+        private int _chapterID;
+        long num = 0;
+        List<CompositebonusCfg> datas;
+        public override void Dispose()
+        {
+            if (_valueBarController != null)
+            {
+                _valueBarController.Dispose();
+                _valueBarController = null;
+            }
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_TimeTracingLevelUI.PACKAGE_NAME;
+            _ui = UI_TimeTracingLevelUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+            isReturnView = true;
+            _ui.m_btnBack.onClick.Add(OnClickBtnBack);
+            _ui.m_rankBtn.onClick.Add(OnClickRankBtn);
+            _ui.m_suitBg.onClick.Add(OnClickMakeSuitBtn);
+        }
+        protected async override void OnShown()
+        {
+            base.OnShown();
+            
+            if ((this.viewData as object[]) != null)
+            {
+                _chapterID = (int)(this.viewData as object[])[0];
+                SuitID = (int)(this.viewData as object[])[1];
+            }
+            else
+            {
+                _chapterID = (int)this.viewData;
+            }
+            _ui.m_bg.url = ResPathUtil.GetBgImgPath("chahuibg");
+            UpdateView();
+            ViewManager.Show<ModalStatusView>("请求中...");
+            await ReqGetSuitRank();
+            ViewManager.Hide<ModalStatusView>();
+            UpdateSuitNum();
+            UpdateFirst();
+            UpdateproBar();  
+        }
+
+        protected override void OnHide()
+        {
+            _valueBarController.OnHide();
+            base.OnHide();
+        }
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+            EventAgent.AddEventListener(ConstMessage.TIMETRACINGREDUPDATE, UpdateView);
+        }
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+            EventAgent.RemoveEventListener(ConstMessage.TIMETRACINGREDUPDATE, UpdateView);
+        }
+        private void UpdateView()
+        {
+            MainStoryDataManager.currentChapterCfgId = _chapterID;
+            _valueBarController = new ValueBarController(_ui.m_moneyList);
+            _valueBarController.OnShown();
+            ActivityFightCfg chapterCfg = ActivityFightCfgArray.Instance.GetCfg(_chapterID);
+            var list = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(chapterCfg.type, chapterCfg.subType, chapterCfg.id);
+            for (int i = 0; i < 5; i++)
+            {
+                int j = i + 1;
+                GObject obj = _ui.target.GetChild("level" + j.ToString()); 
+                StoryLevelCfg levelCfg = i < list.Count ? list[i] : null;
+                UI_TimeTracingLevelItem levelItem = UI_TimeTracingLevelItem.Proxy(obj);
+                if (i == 0 || InstanceZonesDataManager.CheckLevelPass(levelCfg.id - 1))
+                {
+                    levelItem.target.data = levelCfg;
+                    levelItem.target.visible = true;
+                    levelItem.m_levelName.text = levelCfg.name;
+                    Dictionary<int, LevelRoleInfoProto> itemInfo;
+                    if (TimeTracingDataManager._LevelMaxInfoDic.TryGetValue(_chapterID,out itemInfo))
+                    {
+                        if(itemInfo.Count <= i)
+                        {
+                            levelItem.m_player.target.visible = false;
+                        }
+                        else
+                        {
+                            levelItem.m_player.target.visible = true;
+                            levelItem.m_player.m_name.text = itemInfo[levelCfg.id].RoleName;
+                            ItemCfg headCfg = ItemCfgArray.Instance.GetCfg(itemInfo[levelCfg.id].HeadItemId);
+                            ItemCfg headBorderCfg = ItemCfgArray.Instance.GetCfg(itemInfo[levelCfg.id].HeadBorderItemId);
+                            levelItem.m_player.m_headFrame.url = ResPathUtil.GetHeadBorderPath(headBorderCfg.res);
+                            levelItem.m_player.m_head.url = ResPathUtil.GetHeadPath(headCfg.res);
+                            RedDotController.Instance.SetComRedDot(levelItem.target, TimeTracingDataManager.Instance.GetLevelRewardStatus(levelCfg.id), "", -30);
+                        }
+                    }
+                    else
+                    {
+                        levelItem.m_player.target.visible = false;
+                    }
+                    levelItem.target.onClick.Clear();
+                    levelItem.target.onClick.Add(OnClickLevelItem);
+                }
+                else
+                {
+                    levelItem.target.visible = false;
+                }
+                if (!InstanceZonesDataManager.CheckLevelPass(levelCfg.id))
+                {
+                    //设置为解锁关卡
+                    RedDotController.Instance.SetComRedDot(levelItem.target, TimeTracingDataManager.Instance.GetLevelRewardStatus(levelCfg.id),"",-30);
+                    MainStoryDataManager.currentLevelCfgId = levelCfg.id;
+                    levelItem.m_player.target.visible = false;
+                }
+                UI_TimeTracingLevelItem.ProxyEnd();
+            }
+            _valueBarController.UpdateList(new List<int>() { ConstItemID.DIAMOND_PURPLE, ConstItemID.DIAMOND_RED });
+        }
+
+        private void UpdateSuitNum()
+        {
+            SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(SuitID);
+            _ui.m_suitIcon.url = ResPathUtil.GetIconPath(suitCfg.res, "png");
+            int count;
+            int totalCount;
+            DressUpMenuSuitDataManager.GetSuitProgressBySuitId(SuitID, out count, out totalCount);
+            _ui.m_suitNum.text = count + "/" + totalCount;
+        }
+        private void UpdateFirst()
+        {
+            if(TimeTracingDataManager.Instance.SuitRankDatasDic[0].Count == 0)
+            {
+                _ui.m_playerName.text = "";
+                _ui.m_headFrame.url = "";
+                _ui.m_headIcon.url = "";
+            }
+            else
+            {
+                _ui.m_playerName.text = TimeTracingDataManager.Instance.SuitRankDatasDic[0][0].RoleName;
+                ItemCfg headCfg = ItemCfgArray.Instance.GetCfg(TimeTracingDataManager.Instance.SuitRankDatasDic[0][0].HeadItemId);
+                ItemCfg headBorderCfg = ItemCfgArray.Instance.GetCfg(TimeTracingDataManager.Instance.SuitRankDatasDic[0][0].HeadBorderItemId);
+                _ui.m_headFrame.url = ResPathUtil.GetHeadBorderPath(headBorderCfg.res);
+                _ui.m_headIcon.url = ResPathUtil.GetHeadPath(headCfg.res);
+            }
+        }
+        private void UpdateproBar()
+        {
+            int consumeID = 0; 
+            datas = CompositebonusCfgArray.Instance.GetCfgsBychapterId(_chapterID);
+            consumeID = datas[0].paramsArr[0];
+            ItemData item;
+            if (BagDataManager.Instance.GetBagData().TryGetValue(consumeID, out item))
+            {
+                _ui.m_countNum.text = item.num.ToString();
+                num = item.num;
+            }
+            else
+            {
+                num = 0;
+                _ui.m_countNum.text = "0";
+            }
+            _ui.m_proBar.max = datas[datas.Count-1].count;
+            _ui.m_proBar.value = num;
+            UpdateproBarItem();
+        }
+
+        private void UpdateproBarItem()
+        {
+            for (int i = 0; i < datas.Count; i++)
+            {
+                GComponent comProBonus = _ui.target.GetChild("barItem" + i).asCom;
+                if (i == datas.Count - 1)
+                {
+                    comProBonus.x = ((float)datas[i].count / (float)datas[datas.Count - 1].count) * _ui.m_proBar.width - 30;
+                }
+                else
+                {
+                    comProBonus.x = ((float)datas[i].count / (float)datas[datas.Count - 1].count) * _ui.m_proBar.width - 15;
+                }
+                UI_proBarItem item = UI_proBarItem.Proxy(comProBonus);
+                //if (num >= datas[i].count)
+                //{
+                //    return;
+                //}
+                //else 
+                //{
+
+                //}
+                item.m_c1.selectedIndex = TimeTracingDataManager.Instance.GetChapterRewardIDStatus(datas[i].id, datas[i].paramsArr[0]);
+                if (item.target.data == null)
+                {
+                    item.target.onClick.Add(OnBtnGetProBonus);
+                }
+                item.target.data = datas[i];
+                UI_proBarItem.ProxyEnd();
+            }
+        }
+
+        private async void OnBtnGetProBonus(EventContext context)
+        {
+            GObject obj = context.sender as GObject;
+            CompositebonusCfg compositeCfg = obj.data as CompositebonusCfg;
+            if(num < compositeCfg.count || TimeTracingDataManager.Instance.GetChapterRewardIDStatus(compositeCfg.id, compositeCfg.paramsArr[0]) != 1)
+            {
+                return;
+            }
+            await TimeTracingSProxy.ReqGetSuitReward(compositeCfg.id);
+            UpdateproBarItem();
+        }
+        private async void OnClickRankBtn()
+        {
+            await TimeTracingSProxy.ReqGetSuitRank(SuitID);
+            await TimeTracingSProxy.ReqGetSuitFriendRank(SuitID);
+            ViewManager.Show<TimeTracingSuitRankView>(new object[] { SuitID });
+        }
+
+        private void OnClickMakeSuitBtn() 
+        {
+            ViewManager.Show<ClothingSyntheticView>(new object[] { SuitID, 0, _chapterID }, false, false);
+        }
+        private void OnClickLevelItem(EventContext context)
+        {
+            GObject obj = context.sender as GObject;
+            StoryLevelCfg storyLevelCfg = (StoryLevelCfg)obj.data;
+            MainStoryDataManager.currentLevelCfgId = storyLevelCfg.id;
+            InstanceZonesController.ShowLevelView(storyLevelCfg.id, StudioDataManager.Instance.OnFinishTimeTracingLevel);
+        }
+        private void OnClickBtnBack()
+        {
+            ViewManager.GoBackFrom(typeof(TimeTracingLevelView).FullName);
+        }
+        private async ETTask ReqGetSuitRank()
+        {
+            await TimeTracingSProxy.ReqGetSuitRank(SuitID);
+            await TimeTracingSProxy.ReqGetSuitFriendRank(SuitID);
+            await TimeTracingSProxy.ReqGetSuitRewardStatus();
+            await TimeTracingSProxy.ReqGetLevelRewardStatus();
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingLevelView.cs.meta

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

+ 137 - 0
GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingShowView.cs

@@ -0,0 +1,137 @@
+using System;
+using System.Collections.Generic;
+using ET;
+using FairyGUI;
+using UI.CommonGame;
+using UI.TimeTracing;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class TimeTracingShowView : BaseWindow
+    {
+        private UI_TimeTracingShowUI _ui;
+        private List<int> suitIdList = new List<int>() { 201027, 201003, 202006 };
+        private int SuitID;
+        private int ChapterID;
+        public override void Dispose()
+        {
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_TimeTracingShowUI.PACKAGE_NAME;
+            _ui = UI_TimeTracingShowUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+            isReturnView = true;
+            _ui.m_btnBack.onClick.Add(OnClickBtnBack);
+            _ui.m_challgeBtn.onClick.Add(OnClickChallgeBtn);
+            _ui.m_makeSuitBtn.target.onClick.Add(OnClickMakeSuitBtn);
+            _ui.m_showSuitBtn.onClick.Add(OnClickShowSuitBtn);
+            _ui.m_switchBtn.target.onClick.Add(OnClickSwitchBtn);
+            _ui.m_ruleBtn.onClick.Add(RuleController.ShowRuleView);
+            //预加载套装,对于不同suitid
+            for (int i = 1; i < suitIdList.Count; i++)
+            {
+                if (true)
+                {
+                    PreDownloadManager.Instance.PreDownloadSuitRes(suitIdList[i], ResType.Both, new int[] { ConstDressUpItemType.BEI_JING }, false);
+                }
+            }
+        }
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+            EventAgent.AddEventListener(ConstMessage.TIMETRACINGUPDATE, UpdateView);
+        }
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+            EventAgent.RemoveEventListener(ConstMessage.TIMETRACINGUPDATE, UpdateView);
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            _ui.m_bg.url = ResPathUtil.GetBgImgPath("zcjb_gkbj");
+            _ui.m_ruleBtn.data = 300029;
+            UpdateView();
+            RedDotController.Instance.SetComRedDot(_ui.m_switchBtn.target, TimeTracingDataManager.Instance.GetLevelRewardStatus() || TimeTracingDataManager.Instance.GetAllChapterReward(),"",-200,-10);
+            RedDotController.Instance.SetComRedDot(_ui.m_challgeBtn, TimeTracingDataManager.Instance.GetChapterIDRewardStatus(ChapterID), "", -100,50);
+        }
+
+        protected override void OnHide()
+        {
+            ReqSetData();
+            base.OnHide();
+            //DressUpObjUI dressUpObjUI = _ui.m_showSuit.data as DressUpObjUI;
+            //if (dressUpObjUI != null)
+            //{
+            //    dressUpObjUI.Dispose();
+            //}
+        }
+
+        private void UpdateView()
+        {
+            SuitID = TimeTracingDataManager.SuitID;
+            ChapterID = TimeTracingDataManager._currentChapterId;
+            if (true)
+            {
+                DressUpObjUI dressUpObjUI;
+                if (_ui.m_showSuit.data == null)
+                {
+                    _ui.m_showSuit.data = new DressUpObjUI("SceneSuitFoster");
+                }
+                bool showAction = SuitCfgArray.Instance.CheckSuitHasAction(SuitID) && DressUpMenuSuitDataManager.CheckSuitHasActionRes(SuitID);
+                dressUpObjUI = _ui.m_showSuit.data as DressUpObjUI;
+                dressUpObjUI.ResetSceneObj(100, false, true, null, false);
+                dressUpObjUI.dressUpObj.PutOnSuitCfg(SuitID, showAction, new int[] { ConstDressUpItemType.BEI_JING }, false, false);
+                dressUpObjUI.UpdateWrapper(_ui.m_showSuit);
+            }
+        }
+
+        private async void OnClickChallgeBtn()
+        {
+            await TimeTracingSProxy.ReqGetMaxLevelInfo(ChapterID);
+            ViewManager.Show<TimeTracingLevelView>(new object[] { ChapterID, SuitID });
+        }
+
+        private void OnClickMakeSuitBtn()
+        {
+            ViewManager.Show<ClothingSyntheticView>(new object[] { SuitID, 0 }, false, false);
+        }
+        private void OnClickShowSuitBtn()
+        {
+            if(SuitID == 0)
+            {
+                return;
+            }
+            int suitId = SuitID;
+            int _suitTypeId = 0;
+            for (int i = 0; i < SuitGuideMenuCfgArray.Instance.dataArray.Length; i++)
+            {
+                string[] suitIds = SuitGuideMenuCfgArray.Instance.dataArray[i].suitIds.Split(';');
+                if (Array.IndexOf(suitIds, suitId.ToString()) >= 0)
+                {
+                    _suitTypeId = SuitGuideMenuCfgArray.Instance.dataArray[i].id;
+                    break;
+                }
+            }
+            ViewManager.Show<SuitShowView>(new object[] { _suitTypeId, suitId, new List<int>() { suitId }, false });
+        }
+        private void OnClickSwitchBtn()
+        {
+            ViewManager.Show<TimeTracingSwitchView>();
+        }
+        private void OnClickBtnBack()
+        {
+            ViewManager.GoBackFrom(typeof(TimeTracingShowView).FullName);
+        }
+        private async void ReqSetData()
+        {
+            await TimeTracingSProxy.ReqSetDataRecord(SuitID);
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingShowView.cs.meta

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

+ 120 - 0
GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingSuitAddView.cs

@@ -0,0 +1,120 @@
+using System;
+using System.Collections.Generic;
+using ET;
+using FairyGUI;
+using UI.CommonGame;
+using UI.TimeTracing;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class TimeTracingSuitAddView : BaseWindow
+    {
+        private UI_TImeTracingPreShowUI _ui;
+        private int SuitID;
+        private int[] _items;
+        public override void Dispose()
+        {
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_TImeTracingPreShowUI.PACKAGE_NAME;
+            _ui = UI_TImeTracingPreShowUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+            this.modal = true;
+
+            _ui.m_list.itemRenderer = RenderListItem;
+            _ui.m_list.onClickItem.Add(OnClickListPartsItem);
+            _ui.m_backBtn.onClick.Add(OnClickBtnBack);
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            SuitID = TimeTracingDataManager.SuitID;
+            _items = SuitCfgArray.Instance.GetSuitItems(SuitID,true);
+            _ui.m_list.numItems = _items.Length;
+            UpdateView();
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+        }
+
+        private void UpdateView()
+        {
+            SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(SuitID);
+            DressUpMenuSuitDataManager.GetSuitProgressBySuitId(SuitID, out int count, out int totalCount);
+            _ui.m_gotNum.text = string.Format("进度:{0}/{1}", count, totalCount);
+            _ui.m_suitDesc.SetVar("name", suitCfg.name).FlushVars();
+            _ui.m_suitName.text = suitCfg.name;
+            float addition = 0;
+            addition = StudioDataManager.Instance.GetAddition(ConstInstanceZonesType.PureFight);
+            addition = addition / 10000 * 100;
+            if(addition > 0)
+            {
+                _ui.m_addNum.visible = true;
+                _ui.m_addNum.text = addition.ToString() + "%";
+            }
+            else
+            {
+                _ui.m_addNum.visible = false;
+            }
+            
+        }
+
+        private void RenderListItem(int index, GObject obj)
+        {
+            UI_TimeTracingPreShowItem item = UI_TimeTracingPreShowItem.Proxy(obj);
+            int itemId = _items[index];
+            ItemData itemDate = ItemUtil.createItemData(itemId, 1);
+            ItemCfg itemcfg = ItemCfgArray.Instance.GetCfg(itemId);
+            bool haveItem = DressUpMenuItemDataManager.CheckHasItem(itemId);
+            if (itemcfg.addition > 0 && haveItem)
+            {
+                item.m_desc.visible = true;
+                item.m_descBg.visible = true;
+                item.m_desc.text = string.Format("获得加成:{0}%", (itemcfg.addition / 100));
+            }
+            else
+            {
+                item.m_descBg.visible = false;
+                item.m_desc.visible = false;
+            }
+            obj.data = itemId;
+            ItemView itemView = new ItemView(item.m_item);
+            itemView.SetData(itemDate);
+            itemView.ImgNotGotVisible = !haveItem;
+            UI_TimeTracingPreShowItem.ProxyEnd();
+        }
+        private void OnClickListPartsItem(EventContext context)
+        {
+            GComponent item = context.data as GComponent;
+            int itemId = (int)item.data;
+            bool haveItem = DressUpMenuItemDataManager.CheckHasItem(itemId);
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+
+            if (haveItem || itemCfg.approach.Length <= 0)
+            {
+                GoodsItemTipsController.ShowItemTips(itemId);
+            }
+            else
+            {
+                // this.Hide();
+                //ViewManager.Show<ApproachOfItemView>(new object[] { itemId, new object[] { typeof(SuitGuideView).FullName, this.viewData } });
+                object[] goBackDatas = ViewManager.GetGoBackDatas(typeof(SuitPartsDetailView).Name);
+                object[] sourceDatas = new object[] { itemId, goBackDatas, 1 };
+                GoodsItemTipsController.ShowItemTips(itemId, sourceDatas);
+            }
+        }
+        private void OnClickBtnBack()
+        {
+            this.Hide();
+        }
+
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingSuitAddView.cs.meta

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

+ 235 - 0
GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingSuitRankView.cs

@@ -0,0 +1,235 @@
+using System;
+using System.Collections.Generic;
+using ET;
+using FairyGUI;
+using UI.CommonGame;
+using UI.TimeTracing;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class TimeTracingSuitRankView : BaseWindow
+    {
+        private UI_TimeTracingSuitRankUI _ui;
+        private int SuitID;
+        private int rankType;
+        private int mTime;
+        private int tTime;
+        private int curTime;
+        public override void Dispose()
+        {
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_TimeTracingSuitRankUI.PACKAGE_NAME;
+            _ui = UI_TimeTracingSuitRankUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+            modal = true;
+            _ui.m_btnBack.onClick.Add(OnClickBtnBack);
+            _ui.m_c1.onChanged.Add(OnTabChange);
+            _ui.m_rulerBtn.onClick.Add(RuleController.ShowRuleView);
+
+            _ui.m_listRank.SetVirtual();
+            _ui.m_listRank.itemRenderer = RenderListItem;
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            SuitID = (int)(this.viewData as object[])[0];
+            curTime = (int)(TimeTracingDataManager.RefreshTime - TimeHelper.ServerNow()) / 1000;
+            _ui.m_rulerBtn.data = 300031;
+            UpdateView();
+            if (curTime > 60)
+            {
+                _ui.m_timeText.text = string.Format("倒计时:{0}分{1}秒", curTime / 60, curTime % 60);
+            }
+            else
+            {
+                _ui.m_timeText.text = string.Format("倒计时:{0}分{1}秒", 0, tTime);
+            }
+            
+            Timers.inst.Add(1, 0, TimeUpdate);
+        }
+
+        protected override void OnHide()
+        {
+            Timers.inst.Remove(TimeUpdate);
+            base.OnHide();
+        }
+
+        private void UpdateView()
+        {
+            rankType = 0;
+            UpdateRank();
+        }
+
+        private void UpdateRank()
+        {
+            _ui.m_listRank.numItems = TimeTracingDataManager.Instance.SuitRankDatasDic[rankType].Count;
+            if (TimeTracingDataManager.Instance.SuitRankDatasDic[rankType].Count > 0)
+            {
+                _ui.m_txtTips.visible = false;
+            }
+            else
+            {
+                _ui.m_txtTips.visible = true;
+            }
+            if (TimeTracingDataManager.Instance.mySuitRankInfo == null)
+            {
+                _ui.m_myRank.target.visible = false;
+            }
+            else if(TimeTracingDataManager.Instance.mySuitRankInfo.RankIndex == 0)
+            {
+                _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 = "--";
+                _ui.m_myRank.m_teamName.text = itemdata.LeagueName;
+                _ui.m_myRank.m_TimeText.text = "--";
+                _ui.m_myRank.m_proText.text = itemdata.CompletedNum.ToString() + "/" + itemdata.TotalNum;
+                _ui.m_myRank.m_btnLook.visible = false;
+                _ui.m_myRank.m_c1.selectedIndex = 3;
+                RoleInfoManager.Instance.UpdateLv(_ui.m_myRank.m_comLv, itemdata.RoleLvl);
+                RoleInfoManager.Instance.UpdateHead(_ui.m_myRank.m_comHead, itemdata.HeadItemId, itemdata.HeadBorderItemId);
+            }
+            else
+            {
+                _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_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;
+                _ui.m_myRank.m_btnLook.visible = false;
+                _ui.m_myRank.m_c1.selectedIndex = Math.Min(itemdata.RankIndex - 1, 3);
+                RoleInfoManager.Instance.UpdateLv(_ui.m_myRank.m_comLv, itemdata.RoleLvl);
+                RoleInfoManager.Instance.UpdateHead(_ui.m_myRank.m_comHead, itemdata.HeadItemId, itemdata.HeadBorderItemId);
+            }
+        }
+        private void UpdateList()
+        {
+            _ui.m_listRank.RefreshVirtualList();
+        }
+        private void RenderListItem(int index, GObject obj)
+        {
+            UI_TimeTracingSuitRankItem item = UI_TimeTracingSuitRankItem.Proxy(obj);
+            SuitCollectRankProto itemdata = TimeTracingDataManager.Instance.SuitRankDatasDic[rankType][index];
+            item.m_c1.selectedIndex = Math.Min(index, 3);
+            if (itemdata == null)
+            {
+                item.m_rankText.text = "--";
+                item.m_txtName.text = "--";
+                item.m_teamName.text = "--";
+                RoleInfoManager.Instance.UpdateLv(item.m_comLv, 0);
+                RoleInfoManager.Instance.UpdateArenaNpcHead(item.m_comHead, "");
+
+            }
+            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_proText.text = itemdata.CompletedNum.ToString() + "/" + itemdata.TotalNum;
+                item.m_TimeText.text = TimeTracingDataManager.Instance.ChangeTime(itemdata.TimeSecNum);
+                item.m_teamName.text = itemdata.LeagueName;
+                RoleInfoManager.Instance.UpdateLv(item.m_comLv, itemdata.RoleLvl);
+                RoleInfoManager.Instance.UpdateHead(item.m_comHead, itemdata.HeadItemId, itemdata.HeadBorderItemId);
+            }
+            if (item.m_comHead.data == null)
+            {
+                //item.m_btnLook.onClick.Add(OnBtnLookClick);
+                item.m_btnLook.visible = false;
+                item.m_comHead.onClick.Add(OnBtnLookClick);
+            }
+            item.m_comHead.data = itemdata;
+            UI_TimeTracingSuitRankItem.ProxyEnd();
+        }
+        private void OnTabChange()
+        {
+            if (_ui.m_c1.selectedIndex == 1)
+            {
+                rankType = 1;
+            }
+            else
+            {
+                rankType = 0;
+            }
+            UpdateRank();
+        }
+        private void OnClickRankBtn()
+        {
+
+        }
+
+        private async void OnBtnLookClick(EventContext context)
+        {
+            //TimeTracingSuitRankData targetData = (context.sender as GObject).data as TimeTracingSuitRankData;
+            //bool result = await ArenaSproxy.ReqArenaFightAttr(targetData.RoleInfo.roleId, targetData.FightDatas);
+            //if (result)
+            //{
+            //    ViewManager.Show<ArenaDressInfoView>(new object[] { FightRoleType.TAEGET, 0, targetData.FightDatas, typeof(ArenaRankView).FullName }, true);
+            //}
+        }
+        private void OnClickBtnBack()
+        {
+            this.Hide();
+        }
+
+        private async void TimeUpdate(object param = null)
+        {
+            if (curTime > 60)
+            {
+                mTime = curTime / 60;
+                tTime = curTime % 60;
+            }
+            else
+            {
+                mTime = 0;
+                tTime = curTime;
+            }
+            _ui.m_timeText.text = string.Format("倒计时:{0}分{1}秒", mTime, tTime);
+            if (curTime <= 0)
+            {
+                //请求协议 
+                await ReqGetSuitRank();
+                curTime = (int)(TimeTracingDataManager.RefreshTime - TimeHelper.ServerNow() + 1000) / 1000;
+                UpdateRank();
+            }
+            curTime--;
+        }
+        private async ETTask ReqGetSuitRank()
+        {
+            Timers.inst.Remove(TimeUpdate);
+            await TimeTracingSProxy.ReqGetSuitRank(SuitID);
+            await TimeTracingSProxy.ReqGetSuitFriendRank(SuitID);
+            Timers.inst.Add(1,0,TimeUpdate);
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingSuitRankView.cs.meta

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

+ 197 - 0
GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingSwitchView.cs

@@ -0,0 +1,197 @@
+using System;
+using System.Collections.Generic;
+using ET;
+using FairyGUI;
+using UI.CommonGame;
+using UI.TimeTracing;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class TimeTracingSwitchView : BaseWindow
+    {
+        private UI_TimeTracingSwitchUI _ui;
+        private List<int> suitIdList = new List<int>() { 202021, 202022, 202023,0};
+        private List<int> chapterIdList = new List<int>() { 61001,62002,62003 ,0};
+        private List<string> NumStringList = new List<string>() {"", "一", "二", "三", "四", "五" };
+        public override void Dispose()
+        {
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_TimeTracingSwitchUI.PACKAGE_NAME;
+            _ui = UI_TimeTracingSwitchUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+            modal = true;
+            _ui.m_btnBack.onClick.Add(OnClickBtnBack);
+            _ui.m_List.itemRenderer = RenderListItem;
+            _ui.m_List.scrollPane.onScroll.Add(DoSpecialEffect);//滚动时派发事件
+        }
+
+        protected override void OnShown()
+        {
+            base.OnShown();
+            UpdateList();
+            _ui.m_List.numItems = 6;
+            for(int i = 0;i< suitIdList.Count;i++)
+            {
+                if(TimeTracingDataManager.SuitID == suitIdList[i])
+                {
+                    _ui.m_List.ScrollToView(i, true, true);
+                    break;
+                }
+            }
+            DoSpecialEffect();
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+        }
+
+        private void RenderListItem(int index, GObject obj)
+        {
+            UI_TimeTracingSwitchItem listItem = UI_TimeTracingSwitchItem.Proxy(obj);
+            int isLock = 1;
+            if (index == 0 || index == _ui.m_List.numItems - 1)
+            {
+                listItem.target.visible = false;
+                UI_TimeTracingSwitchItem.ProxyEnd();
+                return;
+            }
+            if (index != _ui.m_List.numItems - 2)
+            {
+                listItem.m_TimeTracingSwitchItm.m_periodsNumText.text = "第" + NumStringList[index] + "期";
+                listItem.m_TimeTracingSwitchItm.m_periodsNameText.text = "不知道";
+                listItem.m_TimeTracingSwitchItm.m_suitIcon.icon = "";
+                listItem.m_TimeTracingSwitchItm.m_waitText.visible = false;
+            }
+            else
+            {
+                listItem.m_TimeTracingSwitchItm.m_periodsNumText.visible = false;
+                listItem.m_TimeTracingSwitchItm.m_periodsNameText.visible = false;
+                listItem.m_TimeTracingSwitchItm.m_suitIcon.icon = "";
+                listItem.m_TimeTracingSwitchItm.m_waitText.visible = true;
+            }
+            if (index > 1 && index < _ui.m_List.numItems - 2)
+            {
+                int count;
+                int totalCount;
+                DressUpMenuSuitDataManager.GetSuitProgressBySuitId(suitIdList[index - 2], out count, out totalCount);
+                if (count >= totalCount)
+                {
+                    isLock = 1;
+                }
+                else
+                {
+                    isLock = 0;
+                }
+            }
+            if (listItem.target.data == null)
+            {
+                listItem.target.onClick.Add(OnClickListChapterItem);
+            }
+            RedDotController.Instance.SetComRedDot(listItem.target, TimeTracingDataManager.Instance.GetChapterIDRewardStatus(chapterIdList[index - 1]));
+            listItem.target.data = new List<int>() { index, suitIdList[index - 1], chapterIdList[index - 1], isLock };
+            UI_TimeTracingSwitchItem.ProxyEnd();
+        }
+
+        private void OnClickListChapterItem(EventContext context)
+        {
+            GObject chapterItem = context.sender as GObject;
+            List<int> chapterID = (List<int>)chapterItem.data;
+            StoryChapterCfg chapterCfg = StoryChapterCfgArray.Instance.GetCfg(chapterID[1]);
+            //这里变成-1,是因为调整了item,最左右两边现在有item但是是透明没数据的
+            int index = chapterID[0];
+            int firstChildIndex = _ui.m_List.GetFirstChildInView();
+            if (firstChildIndex + 1 != index)
+            {
+                _ui.m_List.ScrollToView(index - 1, true, true);
+            }
+            else
+            {
+                if (chapterID[3] == 1)
+                {
+                    if(chapterID[0] == _ui.m_List.numItems - 2 || chapterID[1] == 0)
+                    {
+                        PromptController.Instance.ShowFloatTextPrompt("没有该套装");
+                        return;
+                    }
+                    TimeTracingDataManager.SuitID = chapterID[1];
+                    TimeTracingDataManager._currentChapterId = chapterID[2];
+                    EventAgent.DispatchEvent(ConstMessage.TIMETRACINGUPDATE);
+                    this.Hide();
+                }
+                else
+                {
+                    PromptController.Instance.ShowFloatTextPrompt("需集齐前置套装");
+                    return;
+                }
+            }
+
+        }
+
+        private void OnClickBtnBack()
+        {
+            ViewManager.GoBackFrom(typeof(TimeTracingSwitchView).FullName);
+        }
+
+        private void UpdateList()
+        {
+            chapterIdList.Clear();
+            suitIdList.Clear();
+            for (int i = 0;i<TimeTracingDataManager.Instance.IdList.Count;i++)
+            {
+                ActivityOpenCfg activityDate = ActivityOpenCfgArray.Instance.GetCfg(TimeTracingDataManager.Instance.IdList[i]);
+                chapterIdList.Add(activityDate.params3Arr[0]);
+                ActivityFightCfg storydate = ActivityFightCfgArray.Instance.GetCfg(chapterIdList[i]);
+                if(storydate.activitySuitIdArr == null || storydate.activitySuitIdArr.Length == 0)
+                {
+                    suitIdList.Add(0);
+                }
+                else
+                {
+                    suitIdList.Add(storydate.activitySuitIdArr[0]);
+                } 
+            }
+            chapterIdList.Add(0);
+            suitIdList.Add(0);
+        }
+
+        private void DoSpecialEffect(object parm = null)
+        {
+            //scrollPane.scrollingPosX这个实时变化,。scrollPane.posX这个使用ScrlootoVIew直接取终值
+            float listCenter = _ui.m_List.scrollPane.scrollingPosX + _ui.m_List.viewWidth / 2;
+            float listLeft = _ui.m_List.scrollPane.posX + _ui.m_List.viewWidth / 2; ;
+            for (int i = 0; i < _ui.m_List.numChildren; i++)
+            {
+                GObject item = _ui.m_List.GetChildAt(i);
+                float itemCenter = item.x + item.width / 2;//循环列表内元素的中心x值
+                float itemWidth = item.width;//列表元素的宽度
+                float distance = Mathf.Abs(listCenter - itemCenter);
+                // if (distance < item.width)
+                {
+                    float distanceRange = 1 + (1 - distance / itemWidth) * 0.2f;//使放大动画有渐进效果
+                    item.SetScale(distanceRange, distanceRange);//设置放大比例
+                    ////设置颜色变化
+                    //if (distance < item.width / 2)
+                    //{
+                    //    UI_TimeTracingSwitchItem listItem = UI_TimeTracingSwitchItem.Proxy(_ui.m_List.GetChildAt(i));
+                    //    listItem.m_content.m_compPic.m_pic.color = new Color(1.0f, 1.0f, 1.0f, 1.000f);
+                    //}
+                    //else
+                    //{
+                    //    UI_TimeTracingSwitchItem listItem = UI_TimeTracingSwitchItem.Proxy(_ui.m_List.GetChildAt(i));
+                    //    listItem.m_content.m_compPic.m_pic.color = new Color(0.4f, 0.4f, 0.4f, 1.000f);
+                    //}
+                }
+                //float distanceX = ((1 - (listCenter - itemCenter)) / itemWidth) * 0.05f;//使y轴移动有渐进效果
+                //item.y = -_ui.m_List.height * distanceX;
+            }
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/TimeTracing/TimeTracingSwitchView.cs.meta

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

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

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

BIN
GameClient/Assets/ResIn/UI/TimeTracing/TimeTracing_atlas0!a.png


+ 120 - 0
GameClient/Assets/ResIn/UI/TimeTracing/TimeTracing_atlas0!a.png.meta

@@ -0,0 +1,120 @@
+fileFormatVersion: 2
+guid: 288a7b7c579eeda4a86385477439348f
+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
GameClient/Assets/ResIn/UI/TimeTracing/TimeTracing_atlas0.png


+ 120 - 0
GameClient/Assets/ResIn/UI/TimeTracing/TimeTracing_atlas0.png.meta

@@ -0,0 +1,120 @@
+fileFormatVersion: 2
+guid: 121b743e38f52844bb9775e3bb5faae3
+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
GameClient/Assets/ResIn/UI/TimeTracing/TimeTracing_atlas0_1!a.png


+ 120 - 0
GameClient/Assets/ResIn/UI/TimeTracing/TimeTracing_atlas0_1!a.png.meta

@@ -0,0 +1,120 @@
+fileFormatVersion: 2
+guid: f423edcac0a6035478c36629b457d662
+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
GameClient/Assets/ResIn/UI/TimeTracing/TimeTracing_atlas0_1.png


+ 120 - 0
GameClient/Assets/ResIn/UI/TimeTracing/TimeTracing_atlas0_1.png.meta

@@ -0,0 +1,120 @@
+fileFormatVersion: 2
+guid: a872e903a4ff4e9459deb75bbcb8fffe
+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
GameClient/Assets/ResIn/UI/TimeTracing/TimeTracing_fui.bytes


+ 7 - 0
GameClient/Assets/ResIn/UI/TimeTracing/TimeTracing_fui.bytes.meta

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