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

Merge remote-tracking branch 'remotes/origin/master' into yooasset

# Conflicts:
#	GameClient/Assets/Game/HotUpdate/DressUp/DressUpObj.cs
guodong 1 жил өмнө
parent
commit
35b4637480
100 өөрчлөгдсөн 2096 нэмэгдсэн , 88 устгасан
  1. 3 0
      GameClient/Assets/Game/HotUpdate/Constant/ConstMessage.cs
  2. 1 0
      GameClient/Assets/Game/HotUpdate/Controller/GameController.cs
  3. 71 0
      GameClient/Assets/Game/HotUpdate/Data/ActivityAfuGiftDataManager.cs
  4. 11 0
      GameClient/Assets/Game/HotUpdate/Data/ActivityAfuGiftDataManager.cs.meta
  5. 43 5
      GameClient/Assets/Game/HotUpdate/Data/ActivityDataManager.cs
  6. 37 0
      GameClient/Assets/Game/HotUpdate/Data/LuckyBoxDataManager.cs
  7. 36 5
      GameClient/Assets/Game/HotUpdate/Data/RedDotDataManager.cs
  8. 2 2
      GameClient/Assets/Game/HotUpdate/Data/ScoreSystemData.cs
  9. 0 6
      GameClient/Assets/Game/HotUpdate/DressUp/DressUpObj.cs
  10. 8 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAFuGift.meta
  11. 84 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAFuGift/UI_ActivityAFuGiftUI.cs
  12. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAFuGift/UI_ActivityAFuGiftUI.cs.meta
  13. 72 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAFuGift/UI_Panel.cs
  14. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAFuGift/UI_Panel.cs.meta
  15. 71 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAFuGift/UI_day.cs
  16. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAFuGift/UI_day.cs.meta
  17. 84 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAFuGift/UI_reward.cs
  18. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAFuGift/UI_reward.cs.meta
  19. 74 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAFuGift/UI_scrollPane.cs
  20. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAFuGift/UI_scrollPane.cs.meta
  21. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComItem.cs
  22. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComBox1.cs
  23. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ButtonModle1.cs
  24. 9 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ComSkillShow.cs
  25. 4 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_MainUI.cs
  26. 9 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_StoryFightTargetScoreUI.cs
  27. 2 2
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Studio/UI_StudioFilingRewardUI.cs
  28. 47 0
      GameClient/Assets/Game/HotUpdate/ServerProxy/ActivityAfuGiftProxy.cs
  29. 11 0
      GameClient/Assets/Game/HotUpdate/ServerProxy/ActivityAfuGiftProxy.cs.meta
  30. 51 15
      GameClient/Assets/Game/HotUpdate/ServerProxy/ActivitySProxy.cs
  31. 8 4
      GameClient/Assets/Game/HotUpdate/ServerProxy/LuckyBoxSProxy.cs
  32. 8 0
      GameClient/Assets/Game/HotUpdate/ShakeCamera.meta
  33. 80 0
      GameClient/Assets/Game/HotUpdate/ShakeCamera/SC_shakeCamera.cs
  34. 11 0
      GameClient/Assets/Game/HotUpdate/ShakeCamera/SC_shakeCamera.cs.meta
  35. 53 0
      GameClient/Assets/Game/HotUpdate/ShakeCamera/shakecameraControl.cs
  36. 11 0
      GameClient/Assets/Game/HotUpdate/ShakeCamera/shakecameraControl.cs.meta
  37. 8 0
      GameClient/Assets/Game/HotUpdate/Views/ActivityAfuGift.meta
  38. 185 0
      GameClient/Assets/Game/HotUpdate/Views/ActivityAfuGift/ActivityAfuGiftView.cs
  39. 11 0
      GameClient/Assets/Game/HotUpdate/Views/ActivityAfuGift/ActivityAfuGiftView.cs.meta
  40. 23 9
      GameClient/Assets/Game/HotUpdate/Views/ActivityThemeLuckyBox/ActivityThemeLuckyBoxBonusView.cs
  41. 1 1
      GameClient/Assets/Game/HotUpdate/Views/ActivityThemeLuckyBox/ActivityThemeLuckyBoxView.cs
  42. 1 0
      GameClient/Assets/Game/HotUpdate/Views/Bag/BagView.cs
  43. 2 1
      GameClient/Assets/Game/HotUpdate/Views/ClothingSynthetic/ClothingSyntheticView.cs
  44. 20 4
      GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxActivityView.cs
  45. 73 19
      GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxView.cs
  46. 33 7
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightSingleScoreView.cs
  47. 34 1
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetScoreView.cs
  48. 109 3
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StorySkillView.cs
  49. 34 4
      GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs
  50. 8 0
      GameClient/Assets/ResIn/UI/ActivityAFuGift.meta
  51. BIN
      GameClient/Assets/ResIn/UI/ActivityAFuGift/ActivityAFuGift_atlas0!a.png
  52. 96 0
      GameClient/Assets/ResIn/UI/ActivityAFuGift/ActivityAFuGift_atlas0!a.png.meta
  53. BIN
      GameClient/Assets/ResIn/UI/ActivityAFuGift/ActivityAFuGift_atlas0.png
  54. 96 0
      GameClient/Assets/ResIn/UI/ActivityAFuGift/ActivityAFuGift_atlas0.png.meta
  55. BIN
      GameClient/Assets/ResIn/UI/ActivityAFuGift/ActivityAFuGift_fui.bytes
  56. 7 0
      GameClient/Assets/ResIn/UI/ActivityAFuGift/ActivityAFuGift_fui.bytes.meta
  57. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0!a.png
  58. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0.png
  59. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_1!a.png
  60. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_1.png
  61. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_2!a.png
  62. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_2.png
  63. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_3!a.png
  64. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_3.png
  65. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_4!a.png
  66. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_4.png
  67. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_5!a.png
  68. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_5.png
  69. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_6!a.png
  70. 96 0
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_6!a.png.meta
  71. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_6.png
  72. 96 0
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_6.png.meta
  73. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_fui.bytes
  74. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0!a.png
  75. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0.png
  76. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_1!a.png
  77. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_1.png
  78. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_fui.bytes
  79. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0!a.png
  80. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0.png
  81. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_1!a.png
  82. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_1.png
  83. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_10!a.png
  84. 96 0
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_10!a.png.meta
  85. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_10.png
  86. 96 0
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_10.png.meta
  87. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_2!a.png
  88. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_2.png
  89. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_3.png
  90. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_4.png
  91. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_5!a.png
  92. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_5.png
  93. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_6!a.png
  94. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_6.png
  95. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_7!a.png
  96. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_7.png
  97. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_8!a.png
  98. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_8.png
  99. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_9!a.png
  100. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_9.png

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

@@ -175,6 +175,9 @@ namespace GFGGame
         //摘星奖品展示
         public const string LUCKY_BOX_REWARD_SHOW = "LUCKY_BOX_REWARD_SHOW";
 
+        //摘星抽奖活动奖励
+        public const string LUCKY_BOX_ACTIVITY_REWARD = "LUCKY_BOX_ACTIVITY_REWARD";
+
         // 服装散件图鉴配置加载完成
         public const string DRESS_PART_LOAD_FINISHED = "DRESS_PART_LOAD_FINISHED";
     }

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

@@ -201,6 +201,7 @@ namespace GFGGame
             CardSProxy.GetCardInfos().Coroutine();
             TaskSProxy.GetTaskInfos();
             BattlePassTaskSProxy.GetBattlePassInfo().Coroutine();
+            ActivityAfuGiftProxy.GetAfuGiftInfo().Coroutine();
             DailyTaskSProxy.ReqDailyTaskInfos().Coroutine();
             NoticeSProxy.ReqSystemNoticeList().Coroutine();
             MailSProxy.ReqMailCount().Coroutine();

+ 71 - 0
GameClient/Assets/Game/HotUpdate/Data/ActivityAfuGiftDataManager.cs

@@ -0,0 +1,71 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class ActivityAfuGiftDataManager : SingletonBase<ActivityAfuGiftDataManager>
+    {
+        private ActivityInfo info;
+        private bool _isBuy;
+        //已经领奖levelId
+        private HashSet<int> _normalRewards = new HashSet<int>();
+
+        //已经高级领奖levelId
+        private HashSet<int> _superRewards = new HashSet<int>();
+        private List<ActivityLoginCfg> _rewardCfgs;
+
+        public List<ActivityLoginCfg> RewardCfgs { get => _rewardCfgs; set => _rewardCfgs = value; }
+        public ActivityInfo Info { get => info; set => info = value; }
+
+        public void InitActivityInfo()
+        {
+            Info = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.AFZL);
+            RewardCfgs = ActivityLoginCfgArray.Instance.GetCfgsByid(Info.ActivityId);
+        }
+         
+        public int GetActivityDay(int activityID)
+        {
+            var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(activityID);
+            return activityInfo == null ? 0 : TimeUtil.GetDay5(activityInfo.StartTime);
+        }
+
+        public int GetMaxPassDay()
+        {
+            int rewardDay = ActivityLoginCfgArray.Instance.GetCfgsByid(Info.ActivityId).Count;
+            return Math.Min(rewardDay, GetActivityDay(Info.ActivityId));
+        }
+
+        public long GetEndTime()
+        {
+            var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.AFZL);
+            return activityInfo.EndTime;
+        }
+
+        public bool CanGetNormalReward(int id)
+        {
+            return !_normalRewards.Contains(id);
+        }
+
+        public bool CanGetSuperReward(int id)
+        {
+            return !_superRewards.Contains(id);
+        }
+
+        public void AddNormalReward(int levelId)
+        {
+            _normalRewards.Add(levelId);
+        }
+
+        public void AddSuperReward(int levelId)
+        {
+            _superRewards.Add(levelId);
+        }
+
+        public void SetIsBuy(bool isBuy)
+        {
+            _isBuy = isBuy;
+        }
+    }
+}

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

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

+ 43 - 5
GameClient/Assets/Game/HotUpdate/Data/ActivityDataManager.cs

@@ -10,6 +10,10 @@ namespace GFGGame
             allPlayTimes = 0;
             lastActLuckyBoxId = 0;
             lastActLimitChargeId = 0;
+
+            luckyActTsyBonusState.Clear();
+            allTsyPlayTimes = 0;
+            lastActLimitTsyId = 0;
         }
 
         /**********************************************************活动*************************************************/
@@ -41,7 +45,9 @@ namespace GFGGame
 
         /**********************************************************限时抽奖活动*********************************************/
         public int lastActLuckyBoxId = 0;
+        public int lastActLimitTsyId = 0;
         private int _actLuckyBoxId = 0;
+        private int _actLuckyTsyId = 0;
         /// <summary>
         /// 当前抽奖活动id
         /// </summary>
@@ -63,14 +69,46 @@ namespace GFGGame
         /// <typeparam name="int">值由ConstBonusStatus定义</typeparam>
         /// <returns></returns>
         public Dictionary<int, int> luckyBoxActBonusState = new Dictionary<int, int>();
-        public List<ActivityLuckybonusCfg> SortActivityLuckybonusCfg(List<ActivityLuckybonusCfg> list)
+
+        /// <summary>
+        /// 当前天市垣抽奖活动id
+        /// </summary>
+        /// <value></value>
+        public int actLimitTsyId { get { return _actLuckyTsyId; } set { _actLuckyTsyId = value; } }
+        /// <summary>
+        /// 天市垣抽奖总次数
+        /// </summary>
+        /// <value></value>
+        public long allTsyPlayTimes { get; set; }
+        /// <summary>
+        /// 限时天市垣抽奖必掉次数
+        /// </summary>
+        /// <value></value>
+        public int lastTsyDrawCount { get; set; }
+        /// <summary>
+        /// </summary>
+        /// <typeparam name="int">奖励key,这里对应天市垣抽奖次数</typeparam>
+        /// <typeparam name="int">值由ConstBonusStatus定义</typeparam>
+        /// <returns></returns>
+        public Dictionary<int, int> luckyActTsyBonusState = new Dictionary<int, int>();
+        public List<ActivityLuckybonusCfg> SortActivityLuckybonusCfg(List<ActivityLuckybonusCfg> list,int typeId)
         {
             list.Sort((ActivityLuckybonusCfg a, ActivityLuckybonusCfg b) =>
             {
-
-                long allPlayTimes = ActivityDataManager.Instance.allPlayTimes;// GameGlobal.myNumericComponent.GetAsInt(NumericType.TotalRechargeScore);
-                int stateA = ActivityDataManager.Instance.luckyBoxActBonusState.ContainsKey(a.num) ? 1 : -1;
-                int stateB = ActivityDataManager.Instance.luckyBoxActBonusState.ContainsKey(b.num) ? 1 : -1;
+                long allPlayTimes = 0;
+                int stateA = 0;
+                int stateB = 0;
+                if (typeId == ConstLimitTimeActivityType.ActLimitLuckyBox) {
+                    allPlayTimes = ActivityDataManager.Instance.allPlayTimes;// GameGlobal.myNumericComponent.GetAsInt(NumericType.TotalRechargeScore);
+                    stateA = ActivityDataManager.Instance.luckyBoxActBonusState.ContainsKey(a.num) ? 1 : -1;
+                    stateB = ActivityDataManager.Instance.luckyBoxActBonusState.ContainsKey(b.num) ? 1 : -1;
+                }
+                else if(typeId == ConstLimitTimeActivityType.ActLimitTsy) 
+                {
+                    allPlayTimes = ActivityDataManager.Instance.allTsyPlayTimes;// GameGlobal.myNumericComponent.GetAsInt(NumericType.TotalRechargeScore);
+                    stateA = ActivityDataManager.Instance.luckyActTsyBonusState.ContainsKey(a.num) ? 1 : -1;
+                    stateB = ActivityDataManager.Instance.luckyActTsyBonusState.ContainsKey(b.num) ? 1 : -1;
+                }
 
                 if (allPlayTimes >= a.num && allPlayTimes < b.num && stateA < 0) return -1;
                 if (allPlayTimes >= b.num && allPlayTimes < a.num && stateB < 0) return 1;

+ 37 - 0
GameClient/Assets/Game/HotUpdate/Data/LuckyBoxDataManager.cs

@@ -294,5 +294,42 @@ namespace GFGGame
             return 0;
         }
 
+        public bool RedBtnLeft(int curIndex)
+        {
+            int index = curIndex;
+            for (int i = index; i >= BOX_ID_2 - 1; i--)
+            {
+                int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[i];
+                long freeTime = LuckyBoxDataManager.Instance.GetFreeTime(boxId);
+                if (freeTime > 0)
+                {
+                    if (freeTime - TimeHelper.ServerNow() < 0)
+                        return true;
+                }
+            }
+            if(curIndex == 1 && RedDotDataManager.Instance.GetActLuckyBoxRewardRed(ConstLimitTimeActivityType.ActLimitTsy))
+                return true;
+
+            return false;
+        }
+
+        public bool RedBtnRight(int curIndex)
+        {
+            int index = curIndex + 1;
+            for (int i = index; i < BOX_ID_3; i++) {
+                int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[i];
+                long freeTime = LuckyBoxDataManager.Instance.GetFreeTime(boxId);
+                if (freeTime > 0)
+                {
+                    if (freeTime - TimeHelper.ServerNow() < 0)
+                        return true;
+                }
+            }
+
+            if (curIndex == 1 && RedDotDataManager.Instance.GetActLuckyBoxRewardRed(ConstLimitTimeActivityType.ActLimitTsy))
+                return true;
+
+            return false;
+        }
     }
 }

+ 36 - 5
GameClient/Assets/Game/HotUpdate/Data/RedDotDataManager.cs

@@ -682,15 +682,25 @@ namespace GFGGame
         /// 限时抽奖活动奖励
         /// </summary>
         /// <returns></returns>
-        public bool GetActLuckyBoxRewardRed()
+        public bool GetActLuckyBoxRewardRed(int _typeId)
         {
-            if (ActivityDataManager.Instance.actLuckyBoxId <= 0) return false;
-            List<ActivityLuckybonusCfg> _bonueCfgs = ActivityLuckybonusCfgArray.Instance.GetCfgsByid(ActivityDataManager.Instance.actLuckyBoxId);
+            int _activityId = ActivityDataManager.Instance.actLuckyBoxId;
+            var _allPlayTimes = ActivityDataManager.Instance.allPlayTimes;
+            var _bonusState = ActivityDataManager.Instance.luckyBoxActBonusState;
+            if (_typeId == ConstLimitTimeActivityType.ActLimitTsy)
+            {
+                _activityId = ActivityDataManager.Instance.actLimitTsyId;
+                _allPlayTimes = ActivityDataManager.Instance.allTsyPlayTimes;
+                _bonusState = ActivityDataManager.Instance.luckyActTsyBonusState;
+            }
+
+            if (_activityId <= 0) return false;
+            List<ActivityLuckybonusCfg> _bonueCfgs = ActivityLuckybonusCfgArray.Instance.GetCfgsByid(_activityId);
             for (int i = 0; i < _bonueCfgs.Count; i++)
             {
                 int key = _bonueCfgs[i].num;
-                int state = ActivityDataManager.Instance.luckyBoxActBonusState.ContainsKey(key) ? ActivityDataManager.Instance.luckyBoxActBonusState[key] : 0;
-                bool canGet = state < ConstBonusStatus.GOT && ActivityDataManager.Instance.allPlayTimes >= _bonueCfgs[i].num;
+                int state = _bonusState.ContainsKey(key) ? _bonusState[key] : 0;
+                bool canGet = state < ConstBonusStatus.GOT && _allPlayTimes >= _bonueCfgs[i].num;
                 if (canGet) return true;
             }
             return false;
@@ -917,5 +927,26 @@ namespace GFGGame
         {
             return LimitedRechargeDBGiftDataManager.Instance.CanGetReward();
         }
+
+        /// <summary>
+        /// 摘星免费抽奖
+        /// </summary>
+        /// <returns></returns>
+        public bool GetLuckyBoxFreeTimes()
+        {
+            long freeTime = LuckyBoxDataManager.Instance.GetFreeTime(LuckyBoxDataManager.BOX_ID_2);
+            if (freeTime > 0)
+            {
+                if (freeTime - TimeHelper.ServerNow() < 0)
+                    return true;
+            }
+            freeTime = LuckyBoxDataManager.Instance.GetFreeTime(LuckyBoxDataManager.BOX_ID_3);
+            if (freeTime > 0)
+            {
+                if (freeTime - TimeHelper.ServerNow() < 0)
+                    return true;
+            }
+            return false;
+        }
     }
 }

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

@@ -120,7 +120,7 @@ namespace GFGGame
         /// <param name="type">评分部位</param>
         /// <param name="showCard">是否展示词牌效果</param>
         /// <returns></returns>
-        public int GetRoundScore(FightData roleData, int roundId, int clickType, double skillScore)
+        public int GetRoundScore(FightData roleData, int roundId, int clickType, double skillScore = 0)
         {
 
             //部件评分=部件基础分*部件系数
@@ -141,7 +141,7 @@ namespace GFGGame
             //end--------------------------------------------------------
             //改为 点击评分 =(部件基础分+人物基础分)*点击系数
             double clickScore = (partBaseScore + roleScore) * clickCoefficient;
-            int score = (int)Math.Ceiling(partScore + clickScore + skillScore);
+            int score = (int)Math.Ceiling(partScore + clickScore );
             return Math.Max(0, score);
         }
 

+ 0 - 6
GameClient/Assets/Game/HotUpdate/DressUp/DressUpObj.cs

@@ -740,12 +740,6 @@ namespace GFGGame
                 this.handlers.Add(t);
             }
         }
-
         #endregion
-
-        public void ClearDressUpList()
-        {
-            _dressUpData.itemList.Clear();
-        }
     }
 }

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

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

+ 84 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAFuGift/UI_ActivityAFuGiftUI.cs

@@ -0,0 +1,84 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.ActivityAFuGift
+{
+    public partial class UI_ActivityAFuGiftUI
+    {
+        public GComponent target;
+        public Controller m_c1;
+        public UI_Panel m_panel;
+        public GButton m_btnGet;
+        public GButton m_btnClose;
+        public GTextField m_txtTime;
+        public const string URL = "ui://f3o25i6ljm6k0";
+        public const string PACKAGE_NAME = "ActivityAFuGift";
+        public const string RES_NAME = "ActivityAFuGiftUI";
+        private static UI_ActivityAFuGiftUI _proxy;
+
+        public static UI_ActivityAFuGiftUI Create(GObject gObject = null)
+        {
+            var ui = new UI_ActivityAFuGiftUI();
+            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_ActivityAFuGiftUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ActivityAFuGiftUI();
+            }
+            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_panel = (UI_Panel)UI_Panel.Create(comp.GetChild("panel"));
+            m_btnGet = (GButton)comp.GetChild("btnGet");
+            m_btnClose = (GButton)comp.GetChild("btnClose");
+            m_txtTime = (GTextField)comp.GetChild("txtTime");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_panel.Dispose();
+            m_panel = null;
+            m_btnGet = null;
+            m_btnClose = null;
+            m_txtTime = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAFuGift/UI_ActivityAFuGiftUI.cs.meta

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

+ 72 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAFuGift/UI_Panel.cs

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

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAFuGift/UI_Panel.cs.meta

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

+ 71 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAFuGift/UI_day.cs

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

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAFuGift/UI_day.cs.meta

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

+ 84 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAFuGift/UI_reward.cs

@@ -0,0 +1,84 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.ActivityAFuGift
+{
+    public partial class UI_reward
+    {
+        public GComponent target;
+        public Controller m_c1;
+        public GComponent m_reward_normal;
+        public GComponent m_reward_vip1;
+        public GComponent m_reward_vip2;
+        public UI_day m_day;
+        public const string URL = "ui://f3o25i6ljm6ke";
+        public const string PACKAGE_NAME = "ActivityAFuGift";
+        public const string RES_NAME = "reward";
+        private static UI_reward _proxy;
+
+        public static UI_reward Create(GObject gObject = null)
+        {
+            var ui = new UI_reward();
+            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_reward Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_reward();
+            }
+            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_reward_normal = (GComponent)comp.GetChild("reward_normal");
+            m_reward_vip1 = (GComponent)comp.GetChild("reward_vip1");
+            m_reward_vip2 = (GComponent)comp.GetChild("reward_vip2");
+            m_day = (UI_day)UI_day.Create(comp.GetChild("day"));
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_reward_normal = null;
+            m_reward_vip1 = null;
+            m_reward_vip2 = null;
+            m_day.Dispose();
+            m_day = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAFuGift/UI_reward.cs.meta

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

+ 74 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAFuGift/UI_scrollPane.cs

@@ -0,0 +1,74 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.ActivityAFuGift
+{
+    public partial class UI_scrollPane
+    {
+        public GComponent target;
+        public GProgressBar m_progress;
+        public GList m_list;
+        public const string URL = "ui://f3o25i6ljm6kc";
+        public const string PACKAGE_NAME = "ActivityAFuGift";
+        public const string RES_NAME = "scrollPane";
+        private static UI_scrollPane _proxy;
+
+        public static UI_scrollPane Create(GObject gObject = null)
+        {
+            var ui = new UI_scrollPane();
+            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_scrollPane Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_scrollPane();
+            }
+            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_progress = (GProgressBar)comp.GetChild("progress");
+            m_list = (GList)comp.GetChild("list");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_progress = null;
+            m_list = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAFuGift/UI_scrollPane.cs.meta

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

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComItem.cs

@@ -13,6 +13,7 @@ namespace UI.CommonGame
         public Controller m_NewType;
         public Controller m_ShowName;
         public Controller m_ButtonType;
+        public Controller m_Lock;
         public GImage m_imgSelect;
         public GLoader m_loaBg;
         public GLoader m_loaIcon;
@@ -29,6 +30,7 @@ namespace UI.CommonGame
         public GImage m_imgNotHas;
         public GImage m_imgShowTong;
         public GGroup m_grpGot;
+        public GImage m_lock;
         public const string URL = "ui://eg2y0ldpwet2tae";
         public const string PACKAGE_NAME = "CommonGame";
         public const string RES_NAME = "ComItem";
@@ -82,6 +84,7 @@ namespace UI.CommonGame
             m_NewType = comp.GetController("NewType");
             m_ShowName = comp.GetController("ShowName");
             m_ButtonType = comp.GetController("ButtonType");
+            m_Lock = comp.GetController("Lock");
             m_imgSelect = (GImage)comp.GetChild("imgSelect");
             m_loaBg = (GLoader)comp.GetChild("loaBg");
             m_loaIcon = (GLoader)comp.GetChild("loaIcon");
@@ -98,6 +101,7 @@ namespace UI.CommonGame
             m_imgNotHas = (GImage)comp.GetChild("imgNotHas");
             m_imgShowTong = (GImage)comp.GetChild("imgShowTong");
             m_grpGot = (GGroup)comp.GetChild("grpGot");
+            m_lock = (GImage)comp.GetChild("lock");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -107,6 +111,7 @@ namespace UI.CommonGame
             m_NewType = null;
             m_ShowName = null;
             m_ButtonType = null;
+            m_Lock = null;
             m_imgSelect = null;
             m_loaBg = null;
             m_loaIcon = null;
@@ -123,6 +128,7 @@ namespace UI.CommonGame
             m_imgNotHas = null;
             m_imgShowTong = null;
             m_grpGot = null;
+            m_lock = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

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

@@ -10,8 +10,10 @@ namespace UI.LuckyBox
         public Controller m_showActivityType;
         public UI_ComModel m_comModel;
         public GLoader m_loaTitle;
+        public GTextField m_txtTsyTime;
         public GTextField m_txtTime;
         public GGroup m_grpTime;
+        public GButton m_btnRule;
         public GGroup m_grpTitle;
         public GButton m_btnGiftBag;
         public UI_ComBagTime m_comBagTime;
@@ -71,8 +73,10 @@ namespace UI.LuckyBox
             m_showActivityType = comp.GetController("showActivityType");
             m_comModel = (UI_ComModel)UI_ComModel.Create(comp.GetChild("comModel"));
             m_loaTitle = (GLoader)comp.GetChild("loaTitle");
+            m_txtTsyTime = (GTextField)comp.GetChild("txtTsyTime");
             m_txtTime = (GTextField)comp.GetChild("txtTime");
             m_grpTime = (GGroup)comp.GetChild("grpTime");
+            m_btnRule = (GButton)comp.GetChild("btnRule");
             m_grpTitle = (GGroup)comp.GetChild("grpTitle");
             m_btnGiftBag = (GButton)comp.GetChild("btnGiftBag");
             m_comBagTime = (UI_ComBagTime)UI_ComBagTime.Create(comp.GetChild("comBagTime"));
@@ -89,8 +93,10 @@ namespace UI.LuckyBox
             m_comModel.Dispose();
             m_comModel = null;
             m_loaTitle = null;
+            m_txtTsyTime = null;
             m_txtTime = null;
             m_grpTime = null;
+            m_btnRule = null;
             m_grpTitle = null;
             m_btnGiftBag = null;
             m_comBagTime.Dispose();

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

@@ -8,6 +8,7 @@ namespace UI.Main
     {
         public GButton target;
         public Controller m_c1;
+        public Controller m_ProbabilityUpType;
         public GLoader m_icon0;
         public GGraph m_holder;
         public GGraph m_holder1;
@@ -63,6 +64,7 @@ namespace UI.Main
         private void Init(GComponent comp)
         {
             m_c1 = comp.GetController("c1");
+            m_ProbabilityUpType = comp.GetController("ProbabilityUpType");
             m_icon0 = (GLoader)comp.GetChild("icon0");
             m_holder = (GGraph)comp.GetChild("holder");
             m_holder1 = (GGraph)comp.GetChild("holder1");
@@ -74,6 +76,7 @@ namespace UI.Main
         public void Dispose(bool disposeTarget = false)
         {
             m_c1 = null;
+            m_ProbabilityUpType = null;
             m_icon0 = null;
             m_holder = null;
             m_holder1 = null;

+ 9 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ComSkillShow.cs

@@ -12,6 +12,9 @@ namespace UI.Main
         public UI_ComSkillScore m_ComSkillScore;
         public GTextField m_txtName;
         public GGraph m_holderTop;
+        public GGraph m_addScore;
+        public GGraph m_reduceScore;
+        public GTextField m_SkillScore;
         public Transition m_t0;
         public Transition m_t1;
         public const string URL = "ui://mfvz4q8kpsphiy";
@@ -66,6 +69,9 @@ namespace UI.Main
             m_ComSkillScore = (UI_ComSkillScore)UI_ComSkillScore.Create(comp.GetChild("ComSkillScore"));
             m_txtName = (GTextField)comp.GetChild("txtName");
             m_holderTop = (GGraph)comp.GetChild("holderTop");
+            m_addScore = (GGraph)comp.GetChild("addScore");
+            m_reduceScore = (GGraph)comp.GetChild("reduceScore");
+            m_SkillScore = (GTextField)comp.GetChild("SkillScore");
             m_t0 = comp.GetTransition("t0");
             m_t1 = comp.GetTransition("t1");
         }
@@ -78,6 +84,9 @@ namespace UI.Main
             m_ComSkillScore = null;
             m_txtName = null;
             m_holderTop = null;
+            m_addScore = null;
+            m_reduceScore = null;
+            m_SkillScore = null;
             m_t0 = null;
             m_t1 = null;
             if(disposeTarget && target != null)

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

@@ -27,6 +27,7 @@ namespace UI.Main
         public UI_BtnModle2 m_btnActivityDay7;
         public UI_BtnModle2 m_btnActivityLuckyBox;
         public UI_BtnModle2 m_btnLimitedRechargeDBGift;
+        public UI_BtnModle1 m_btnActivityAfuGift;
         public UI_BtnModle m_btnFirstRecharge;
         public UI_BtnModle m_btnGiftBag1;
         public UI_BtnModle m_btnGiftBag2;
@@ -113,6 +114,7 @@ namespace UI.Main
             m_btnActivityDay7 = (UI_BtnModle2)UI_BtnModle2.Create(comp.GetChild("btnActivityDay7"));
             m_btnActivityLuckyBox = (UI_BtnModle2)UI_BtnModle2.Create(comp.GetChild("btnActivityLuckyBox"));
             m_btnLimitedRechargeDBGift = (UI_BtnModle2)UI_BtnModle2.Create(comp.GetChild("btnLimitedRechargeDBGift"));
+            m_btnActivityAfuGift = (UI_BtnModle1)UI_BtnModle1.Create(comp.GetChild("btnActivityAfuGift"));
             m_btnFirstRecharge = (UI_BtnModle)UI_BtnModle.Create(comp.GetChild("btnFirstRecharge"));
             m_btnGiftBag1 = (UI_BtnModle)UI_BtnModle.Create(comp.GetChild("btnGiftBag1"));
             m_btnGiftBag2 = (UI_BtnModle)UI_BtnModle.Create(comp.GetChild("btnGiftBag2"));
@@ -168,6 +170,8 @@ namespace UI.Main
             m_btnActivityLuckyBox = null;
             m_btnLimitedRechargeDBGift.Dispose();
             m_btnLimitedRechargeDBGift = null;
+            m_btnActivityAfuGift.Dispose();
+            m_btnActivityAfuGift = null;
             m_btnFirstRecharge.Dispose();
             m_btnFirstRecharge = null;
             m_btnGiftBag1.Dispose();

+ 9 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_StoryFightTargetScoreUI.cs

@@ -16,8 +16,11 @@ namespace UI.Main
         public UI_ProgressBarTargetScore m_proScore;
         public GComponent m_myHead;
         public GComponent m_targetHead;
+        public GGraph m_effReduceScore;
+        public GTextField m_reduceTxt;
         public Transition m_t1;
         public Transition m_t2;
+        public Transition m_t3;
         public const string URL = "ui://mfvz4q8k8xpg3w";
         public const string PACKAGE_NAME = "Main";
         public const string RES_NAME = "StoryFightTargetScoreUI";
@@ -74,8 +77,11 @@ namespace UI.Main
             m_proScore = (UI_ProgressBarTargetScore)UI_ProgressBarTargetScore.Create(comp.GetChild("proScore"));
             m_myHead = (GComponent)comp.GetChild("myHead");
             m_targetHead = (GComponent)comp.GetChild("targetHead");
+            m_effReduceScore = (GGraph)comp.GetChild("effReduceScore");
+            m_reduceTxt = (GTextField)comp.GetChild("reduceTxt");
             m_t1 = comp.GetTransition("t1");
             m_t2 = comp.GetTransition("t2");
+            m_t3 = comp.GetTransition("t3");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -92,8 +98,11 @@ namespace UI.Main
             m_proScore = null;
             m_myHead = null;
             m_targetHead = null;
+            m_effReduceScore = null;
+            m_reduceTxt = null;
             m_t1 = null;
             m_t2 = null;
+            m_t3 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 2 - 2
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Studio/UI_StudioFilingRewardUI.cs

@@ -10,7 +10,7 @@ namespace UI.Studio
         public GLoader m_bg;
         public GTextField m_txtScore;
         public GList m_list;
-        public GComponent m_btnGet;
+        public GButton m_btnGet;
         public GButton m_btnBack;
         public GGraph m_LeftTopEffect;
         public GGraph m_RightDownEffect;
@@ -64,7 +64,7 @@ namespace UI.Studio
             m_bg = (GLoader)comp.GetChild("bg");
             m_txtScore = (GTextField)comp.GetChild("txtScore");
             m_list = (GList)comp.GetChild("list");
-            m_btnGet = (GComponent)comp.GetChild("btnGet");
+            m_btnGet = (GButton)comp.GetChild("btnGet");
             m_btnBack = (GButton)comp.GetChild("btnBack");
             m_LeftTopEffect = (GGraph)comp.GetChild("LeftTopEffect");
             m_RightDownEffect = (GGraph)comp.GetChild("RightDownEffect");

+ 47 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/ActivityAfuGiftProxy.cs

@@ -0,0 +1,47 @@
+using System.Collections;
+using UnityEngine;
+using GFGGame;
+using ET;
+
+namespace ET
+{
+    public class ActivityLoginInfoProtoHandler : AMHandler<S2C_PushActivityLoginInfo>
+    {
+        protected override async ETTask Run(Session session, S2C_PushActivityLoginInfo message)
+        {
+
+            var info =  message.ActivityLoginInfo;
+            var afuGiftDataManager = ActivityAfuGiftDataManager.Instance;
+            afuGiftDataManager.SetIsBuy(info.IsBuy);
+            foreach (var rewardID in info.FreeRewardStatusList)
+            {
+                afuGiftDataManager.AddNormalReward(rewardID);
+            }
+            foreach (var superRewardID in info.PayRewardStatusList)
+            {
+                afuGiftDataManager.AddSuperReward(superRewardID);
+            }
+            //EventAgent.DispatchEvent(ConstMessage.NOTICE_PASSPORT_OPEN);
+            //EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
+            await ETTask.CompletedTask;
+        }
+    }
+}
+
+namespace GFGGame
+{
+    public class ActivityAfuGiftProxy : MonoBehaviour
+    {
+        public static async ETTask<bool> GetAfuGiftInfo()
+        {
+            var response =
+                (S2C_GetBattlePassInfo)await MessageHelper.SendToServer(new C2S_GetBattlePassInfo {  });
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+            //var responseGetType = response.Type;
+
+            return true;
+        }
+    }
+
+
+}

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

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

+ 51 - 15
GameClient/Assets/Game/HotUpdate/ServerProxy/ActivitySProxy.cs

@@ -12,7 +12,13 @@ namespace GFGGame
     {
         protected override async ETTask Run(Session session, S2C_NoticeTimeLimitLuckyBoxDropOutCount message)
         {
-            ActivityDataManager.Instance.lastDrawCount = message.Count;
+            var activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(message.ActivityId);
+
+            if (activityOpenCfg.type == ConstLimitTimeActivityType.ActLimitLuckyBox)
+                ActivityDataManager.Instance.lastDrawCount = message.Count;
+            else if (activityOpenCfg.type == ConstLimitTimeActivityType.ActLimitTsy)
+                ActivityDataManager.Instance.lastTsyDrawCount = message.Count;
+
             EventAgent.DispatchEvent(ConstMessage.ACTIVITY_LUCKY_BOX);
             await ETTask.CompletedTask;
         }
@@ -95,16 +101,33 @@ namespace GFGGame
             {
                 if (response.Error == ErrorCode.ERR_Success)
                 {
-                    if (ActivityDataManager.Instance.actLuckyBoxId != response.ActivityId)
-                    {
-                        ActivityDataManager.Instance.luckyBoxActBonusState.Clear();
+                    var activityCfg = ActivityOpenCfgArray.Instance.GetCfg(response.ActivityId);
+                    if (activityCfg.type == ConstLimitTimeActivityType.ActLimitLuckyBox) { 
+                        if (ActivityDataManager.Instance.actLuckyBoxId != response.ActivityId)
+                        {
+                            ActivityDataManager.Instance.luckyBoxActBonusState.Clear();
+                        }
+                        ActivityDataManager.Instance.actLuckyBoxId = response.ActivityId;
+                        ActivityDataManager.Instance.allPlayTimes = response.AllPlayTimes;
+                        ActivityDataManager.Instance.lastDrawCount = response.Count;
+                        for (int i = 0; i < response.KsBonusState.Count; i++)
+                        {
+                            ActivityDataManager.Instance.luckyBoxActBonusState[response.KsBonusState[i]] = response.VsBonusState[i];
+                        }
                     }
-                    ActivityDataManager.Instance.actLuckyBoxId = response.ActivityId;
-                    ActivityDataManager.Instance.allPlayTimes = response.AllPlayTimes;
-                    ActivityDataManager.Instance.lastDrawCount = response.Count;
-                    for (int i = 0; i < response.KsBonusState.Count; i++)
+                    else if (activityCfg.type == ConstLimitTimeActivityType.ActLimitTsy)
                     {
-                        ActivityDataManager.Instance.luckyBoxActBonusState[response.KsBonusState[i]] = response.VsBonusState[i];
+                        if (ActivityDataManager.Instance.actLimitTsyId != response.ActivityId)
+                        {
+                            ActivityDataManager.Instance.luckyActTsyBonusState.Clear();
+                        }
+                        ActivityDataManager.Instance.actLimitTsyId = response.ActivityId;
+                        ActivityDataManager.Instance.allTsyPlayTimes = response.AllPlayTimes;
+                        ActivityDataManager.Instance.lastTsyDrawCount = response.Count;
+                        for (int i = 0; i < response.KsBonusState.Count; i++)
+                        {
+                            ActivityDataManager.Instance.luckyActTsyBonusState[response.KsBonusState[i]] = response.VsBonusState[i];
+                        }
                     }
                     return true;
                 }
@@ -126,15 +149,28 @@ namespace GFGGame
             {
                 if (response.Error == ErrorCode.ERR_Success)
                 {
-                    if (ActivityDataManager.Instance.actLuckyBoxId != response.ActivityId)
+                    var activityCfg = ActivityOpenCfgArray.Instance.GetCfg(response.ActivityId);
+                    if (activityCfg.type == ConstLimitTimeActivityType.ActLimitLuckyBox)
                     {
-                        return false;
+                        if (ActivityDataManager.Instance.actLuckyBoxId != response.ActivityId)
+                        {
+                            return false;
+                        }
+                        ActivityDataManager.Instance.luckyBoxActBonusState[response.BonusKey] = response.BonusStatus;
                     }
-                    ActivityDataManager.Instance.luckyBoxActBonusState[response.BonusKey] = response.BonusStatus;
-
-                    int[][] bonus = ActivityLuckybonusCfgArray.Instance.GetCfgByidAndnum(response.ActivityId, response.BonusKey).bonusArr;
-                    BonusController.TryShowBonusList(bonus);
+                    else if (activityCfg.type == ConstLimitTimeActivityType.ActLimitTsy)
+                    {
+                        if (ActivityDataManager.Instance.actLimitTsyId != response.ActivityId)
+                        {
+                            return false;
+                        }
+                        ActivityDataManager.Instance.luckyActTsyBonusState[response.BonusKey] = response.BonusStatus;
+                    }
+                        
+                    // int[][] bonus = ActivityLuckybonusCfgArray.Instance.GetCfgByidAndnum(response.ActivityId, response.BonusKey).bonusArr;
+                    BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
                     EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
+                    EventAgent.DispatchEvent(ConstMessage.LUCKY_BOX_ACTIVITY_REWARD);
                     return true;
                 }
             }

+ 8 - 4
GameClient/Assets/Game/HotUpdate/ServerProxy/LuckyBoxSProxy.cs

@@ -30,18 +30,22 @@ namespace GFGGame
     public class LuckyBoxSProxy
     {
         //抽奖
-        public static async ETTask<bool> ReqGetBonus(int luckyBoxId, int times, bool free = false)
+        public static async ETTask<bool> ReqGetBonus(int luckyBoxId, int times, bool free = false,int activityId = 0)
         {
             M2C_DrawLuckyBox response = null;
-            response = (M2C_DrawLuckyBox)await MessageHelper.SendToServer(new C2M_DrawLuckyBox() { LuckyBoxId = luckyBoxId, Times = times, Free = free });
+            response = (M2C_DrawLuckyBox)await MessageHelper.SendToServer(new C2M_DrawLuckyBox() { LuckyBoxId = luckyBoxId, Times = times, Free = free, ActivityId = activityId });
             if (response != null)
             {
                 if (response.Error == ErrorCode.ERR_Success)
                 {
-                    ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(ActivityDataManager.Instance.actLuckyBoxId);
+                    ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(response.ActivityId);
                     if (activityOpenCfg != null && activityOpenCfg.paramsArr[0] == luckyBoxId)
                     {
-                        ActivityDataManager.Instance.allPlayTimes += response.Times;
+                        var activityCfg = ActivityOpenCfgArray.Instance.GetCfg(response.ActivityId);
+                        if (activityCfg.type == ConstLimitTimeActivityType.ActLimitLuckyBox)
+                            ActivityDataManager.Instance.allPlayTimes += response.Times;
+                        else if(activityCfg.type == ConstLimitTimeActivityType.ActLimitTsy)
+                            ActivityDataManager.Instance.allTsyPlayTimes += response.Times;
                     }
                     LuckyBoxDataManager.Instance.times = response.Times;
                     // LuckyBoxDataManager.Instance.luckyBoxIndex = response.LuckyBoxId;

+ 8 - 0
GameClient/Assets/Game/HotUpdate/ShakeCamera.meta

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

+ 80 - 0
GameClient/Assets/Game/HotUpdate/ShakeCamera/SC_shakeCamera.cs

@@ -0,0 +1,80 @@
+using UnityEngine;
+using System.Collections;
+public class SC_shakeCamera : MonoBehaviour
+{
+
+    private float shakeTime = 0.0f;
+    private float fps = 60.0f;
+    private float frameTime = 0.0f;
+    private float shakeDelta = 0.002f;
+    public Camera cam;
+    public static bool isshakeCamera = false;
+	public static float shakeINT = 2;
+    // Use this for initialization
+    void Start()
+    {
+        shakeTime = 0.1f;
+        fps = 60.0f;
+        frameTime = 0.01f;
+        shakeDelta = 0.002f;
+        //cam = GameObject.FindGameObjectWithTag ("MainCamera").GetComponent<Camera> ();
+        cam = gameObject.GetComponent<Camera>();
+
+    }
+
+    private void OnEnable()
+    {
+    }
+
+    private void OnDisable()
+    {
+        if (cam == null )
+        {
+            cam = gameObject.GetComponent<Camera>();
+        }
+        cam.rect = new Rect(0.0f, 0.0f, 1.0f, 1.0f);
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        if (isshakeCamera)
+        {
+            if (shakeTime > 0)
+            {
+                shakeTime -= Time.deltaTime;
+                if (shakeTime <= 0)
+                {
+                    cam.rect = new Rect(0.0f, 0.0f, 1.0f, 1.0f);
+                    isshakeCamera = false;
+                    shakeTime = 0.1f;
+                    fps = 60.0f;
+                    frameTime = 0.01f;
+                    shakeDelta = 0.002f;
+                }
+                else
+                {
+                    frameTime += Time.deltaTime;
+
+                    if (frameTime > 2.0 / fps)
+                    {
+                        frameTime = 0;
+						cam.rect = new Rect(shakeDelta * (-1.0f + shakeINT * Random.value), shakeDelta * (-1.0f + shakeINT * Random.value), 1.0f, 1.0f);
+
+                    }
+                }
+            }
+        }
+        //else if (Input.GetMouseButtonDown(0))
+        //{
+        //    shakeCamera();
+        //}
+
+    }
+
+    public static void shakeCamera(float shakeInt)
+    {
+		shakeINT = shakeInt;
+		isshakeCamera = true;
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/ShakeCamera/SC_shakeCamera.cs.meta

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

+ 53 - 0
GameClient/Assets/Game/HotUpdate/ShakeCamera/shakecameraControl.cs

@@ -0,0 +1,53 @@
+using UnityEngine;
+using System.Collections;
+
+public class shakecameraControl : MonoBehaviour {
+
+
+    private float time=0f;
+    public float StartTime = 0.7f;
+    private float Time0;
+    public float shaketime = 0.3f;
+	public float shakeInt;
+    public bool end = false;
+
+	// Use this for initialization
+	void Start () 
+    {
+
+        
+	
+	}
+
+    private void OnEnable()
+    {
+        Time0 = 0f;
+        time = 0f;
+        end = false;
+    }
+
+    private void OnDisable()
+    {
+        
+    }
+
+    // Update is called once per frame
+    void Update () 
+    {
+        if (!end)
+        {
+
+            time += Time.deltaTime;
+            if (time >= StartTime)
+            {
+                Time0+=Time.deltaTime;
+                SC_shakeCamera.shakeCamera(shakeInt);
+                if (Time0>=shaketime)
+                {
+                    end = true;
+                }
+            }
+        }
+	
+	}
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/ShakeCamera/shakecameraControl.cs.meta

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

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

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

+ 185 - 0
GameClient/Assets/Game/HotUpdate/Views/ActivityAfuGift/ActivityAfuGiftView.cs

@@ -0,0 +1,185 @@
+using System.Collections;
+using UnityEngine;
+using UI.ActivityAFuGift;
+using ET;
+using FairyGUI;
+using System;
+using UI.CommonGame;
+
+namespace GFGGame
+{
+    public class ActivityAfuGiftView : BaseWindow
+    {
+        private UI_ActivityAFuGiftUI _ui;
+        private GList _rewardListUI;
+        private struct GetState
+        {
+            public int rewardID;
+            public bool canGet;
+        }
+
+
+        public override void Dispose()
+        {
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_ActivityAFuGiftUI.PACKAGE_NAME;
+            _ui = UI_ActivityAFuGiftUI.Create();
+            viewCom = _ui.target;
+            viewCom.Center();
+            modal = true;
+            viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
+
+            _ui.m_btnClose.onClick.Add(Hide);
+
+            // Data
+            ActivityAfuGiftDataManager.Instance.InitActivityInfo();
+            
+            // UI
+            _rewardListUI = _ui.m_panel.m_scrollPane.m_list;
+            _rewardListUI.itemRenderer = RenderListReward;
+            _rewardListUI.numItems = ActivityAfuGiftDataManager.Instance.RewardCfgs.Count;
+            InitUI();
+        }
+
+        protected override void OnShown()
+        {
+            base.OnShown();
+
+            _ui.m_panel.m_scrollPane.target.scrollPane.posX = 0;
+            UpdateTime(null);
+            Timers.inst.Add(1, 0, UpdateTime);
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+            Timers.inst.Remove(UpdateTime);
+        }
+
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+        }
+
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+        }
+
+
+        private void InitUI()
+        {
+            // 112121
+            // 使列表宽度等于子节点的总宽度
+            float itemWidth = _rewardListUI.GetChildAt(0).width;
+            float columnGap = _rewardListUI.columnGap;
+            _rewardListUI.width = CalculateListWidth(_rewardListUI.numItems, itemWidth, columnGap);
+            // 根据列表 初始化进度条长度
+            float marginLeft = 147;
+            GProgressBar gProgressBar = _ui.m_panel.m_scrollPane.m_progress;
+            gProgressBar.width = marginLeft + _rewardListUI.width;
+        }
+
+        private float CalculateListWidth(int num, float itemWidth, float columnGap)
+        {
+            return num * itemWidth + (num - 1) * columnGap;
+        }
+
+        private void UpdateTime(object param)
+        {
+            long curTime = TimeHelper.ServerNow();
+            long endTime = ActivityAfuGiftDataManager.Instance.GetEndTime();
+            _ui.m_txtTime.text = TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime);
+        }
+
+        private void RenderListReward(int index, GObject item)
+        {
+            UI_reward rewardUI = UI_reward.Proxy(item);
+            rewardUI.m_day.m_day.SetVar("day", (index + 1).ToString()).FlushVars();
+
+            int itemNormalId = ActivityAfuGiftDataManager.Instance.RewardCfgs[index].bonusFreeArr[0][0];
+            int itemVipId1 = ActivityAfuGiftDataManager.Instance.RewardCfgs[index].bonusPayArr[0][0];
+            int itemVipId2 = ActivityAfuGiftDataManager.Instance.RewardCfgs[index].bonusPayArr[1][0];
+
+            LoadItem(itemNormalId, rewardUI.m_reward_normal, ActivityAfuGiftDataManager.Instance.RewardCfgs[index].bonusFreeArr[0][1]);
+            LoadItem(itemVipId1, rewardUI.m_reward_vip1, ActivityAfuGiftDataManager.Instance.RewardCfgs[index].bonusPayArr[0][1], true, true);
+            LoadItem(itemVipId2, rewardUI.m_reward_vip2, ActivityAfuGiftDataManager.Instance.RewardCfgs[index].bonusPayArr[1][1], true, true);
+
+            UI_reward.ProxyEnd();
+        }
+
+        private void LoadItem(int id, GObject obj, int num, bool isVip = false, bool isLock = false)
+        {
+            ItemCfg itemNormal = ItemCfgArray.Instance.GetCfg(id);
+            UI_ComItem comItem = UI_ComItem.Proxy(obj);
+            comItem.m_loaIcon.url = ResPathUtil.GetIconPath(itemNormal);
+            comItem.m_txtCount.text = num.ToString();
+            comItem.m_QualityType.selectedIndex = itemNormal.rarity - 1;
+
+            comItem.target.onClick.Add(OnItemClick);
+            comItem.m_Lock.selectedIndex = isLock ? 1 : 0;
+
+            int dayIndex = _rewardListUI.GetChildIndex(obj) + 1;
+            // 已经到达的日期
+            int passDay = ActivityAfuGiftDataManager.Instance.GetMaxPassDay();
+            bool arrive = dayIndex <= passDay;
+            comItem.target.data = new GetState
+            {
+                rewardID = id,
+                canGet = arrive
+            };
+            if (arrive)
+            {
+                ActivityInfo activityInfo = ActivityAfuGiftDataManager.Instance.Info;
+                bool canGet = false;
+                // Vip专属
+                if (isVip)
+                {
+                    canGet = ActivityAfuGiftDataManager.Instance.CanGetSuperReward(dayIndex);
+                }
+                else
+                {
+                    canGet = ActivityAfuGiftDataManager.Instance.CanGetNormalReward(dayIndex);
+                }
+                // 已领
+                if (!canGet)
+                {
+                    //bonus.m_imgGot.visible = true;
+                    obj.touchable = false;
+                    // 隐藏红点
+                    RedDotController.Instance.SetComRedDot(obj.asCom, false);
+                }
+                // 未领
+                else
+                {
+                    //bonus.m_imgGot.visible = false;
+                    // 显示红点
+                    RedDotController.Instance.SetComRedDot(obj.asCom, true);
+                }
+
+            }
+            UI_ComItem.ProxyEnd();
+        }
+
+        private void OnItemClick(EventContext eventContext)
+        {
+            GObject obj = (GObject)eventContext.sender;
+            GetState getState = (GetState)(obj.data);
+
+            if (getState.canGet)
+            {
+                //ActivityGlobalSProxy.ReqGetActivityBonus(_activityInfo.ActivityId, getState.rewardID).Coroutine();
+            }
+            else
+            {
+                GoodsItemTipsController.ShowItemTips(getState.rewardID);
+            }
+        }
+
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/ActivityAfuGift/ActivityAfuGiftView.cs.meta

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

+ 23 - 9
GameClient/Assets/Game/HotUpdate/Views/ActivityThemeLuckyBox/ActivityThemeLuckyBoxBonusView.cs

@@ -10,7 +10,10 @@ namespace GFGGame
     {
         private UI_ActivityThemeLuckyBoxBonusUI _ui;
         private List<ActivityLuckybonusCfg> _bonueCfgs = new List<ActivityLuckybonusCfg>();
-
+        private int _typeId = 0; //活动类型id
+        private int _activityId = 0; //活动id
+        private long _allPlayTimes = 0;
+        private Dictionary<int, int> _bonusState = new Dictionary<int, int>();
         public override void Dispose()
         {
             if (_ui != null)
@@ -43,8 +46,19 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
-            _bonueCfgs = ActivityLuckybonusCfgArray.Instance.GetCfgsByid(ActivityDataManager.Instance.actLuckyBoxId);
-            _bonueCfgs = ActivityDataManager.Instance.SortActivityLuckybonusCfg(_bonueCfgs);
+            _typeId = (int)this.viewData;
+
+            _activityId = ActivityDataManager.Instance.actLuckyBoxId;
+            _allPlayTimes = ActivityDataManager.Instance.allPlayTimes;
+            _bonusState = ActivityDataManager.Instance.luckyBoxActBonusState;
+            if (_typeId == ConstLimitTimeActivityType.ActLimitTsy) { 
+                _activityId = ActivityDataManager.Instance.actLimitTsyId;
+                _allPlayTimes = ActivityDataManager.Instance.allTsyPlayTimes;
+                _bonusState = ActivityDataManager.Instance.luckyActTsyBonusState;
+            }
+
+            _bonueCfgs = ActivityLuckybonusCfgArray.Instance.GetCfgsByid(_activityId);
+            _bonueCfgs = ActivityDataManager.Instance.SortActivityLuckybonusCfg(_bonueCfgs, _typeId);
             _ui.m_list.numItems = _bonueCfgs.Count;
         }
 
@@ -62,11 +76,11 @@ namespace GFGGame
 
         private void RenderListItem(int index, GObject obj)
         {
-            ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(ActivityDataManager.Instance.actLuckyBoxId);
+            ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(_activityId);
 
             UI_ListItem item = UI_ListItem.Proxy(obj);
 
-            item.m_txtTitle.text = string.Format("{0}限定摘星{1}次({2}/{3})", activityOpenCfg.themeName, _bonueCfgs[index].num, ActivityDataManager.Instance.allPlayTimes, _bonueCfgs[index].num);
+            item.m_txtTitle.text = string.Format("{0}限定摘星{1}次({2}/{3})", activityOpenCfg.themeName, _bonueCfgs[index].num, _allPlayTimes, _bonueCfgs[index].num);
             if (item.m_listRewards.data == null)
             {
                 item.m_listRewards.itemRenderer = RenderListRewardItem;
@@ -74,8 +88,8 @@ namespace GFGGame
             item.m_listRewards.data = _bonueCfgs[index].bonusArr;
             item.m_listRewards.numItems = _bonueCfgs[index].bonusArr.Length;
             int key = _bonueCfgs[index].num;
-            int state = ActivityDataManager.Instance.luckyBoxActBonusState.ContainsKey(key) ? ActivityDataManager.Instance.luckyBoxActBonusState[key] : 0;
-            bool canGet = state < ConstBonusStatus.GOT && ActivityDataManager.Instance.allPlayTimes >= _bonueCfgs[index].num;
+            int state = _bonusState.ContainsKey(key) ? _bonusState[key] : 0;
+            bool canGet = state < ConstBonusStatus.GOT && _allPlayTimes >= _bonueCfgs[index].num;
             item.m_c1.selectedIndex = canGet ? 1 : state;
 
             if (item.m_btnGet.data == null)
@@ -103,10 +117,10 @@ namespace GFGGame
         {
             GObject obj = context.sender as GObject;
             int key = (int)obj.data;
-            bool result = await ActivitySProxy.ReqGetTimeLimitLuckyBoxBonus(ActivityDataManager.Instance.actLuckyBoxId, key);
+            bool result = await ActivitySProxy.ReqGetTimeLimitLuckyBoxBonus(_activityId, key);
             if (result)
             {
-                _bonueCfgs = ActivityDataManager.Instance.SortActivityLuckybonusCfg(_bonueCfgs);
+                _bonueCfgs = ActivityDataManager.Instance.SortActivityLuckybonusCfg(_bonueCfgs,_typeId);
                 _ui.m_list.numItems = _bonueCfgs.Count;
             }
         }

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

@@ -107,7 +107,7 @@ namespace GFGGame
         }
         private void UpdateRedDot()
         {
-            RedDotController.Instance.SetComRedDot(_ui.m_btnLuckyBox, RedDotDataManager.Instance.GetMeiRiTeHuiRed() || RedDotDataManager.Instance.GetActLuckyBoxRewardRed() || RedDotDataManager.Instance.GetGiftBagRewardRed(), "", -90, 70);
+            RedDotController.Instance.SetComRedDot(_ui.m_btnLuckyBox, RedDotDataManager.Instance.GetMeiRiTeHuiRed() || RedDotDataManager.Instance.GetActLuckyBoxRewardRed(ConstLimitTimeActivityType.ActLimitLuckyBox) || RedDotDataManager.Instance.GetGiftBagRewardRed(), "", -90, 70);
             RedDotController.Instance.SetComRedDot(_ui.m_btnTask, RedDotDataManager.Instance.GetActLuckyBoxTaskdRed());
         }
     }

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Views/Bag/BagView.cs

@@ -117,6 +117,7 @@ namespace GFGGame
             {
                 RedDotController.Instance.SetComRedDot(item.target, false);
             }
+            UI_ComItem.ProxyEnd();
         }
 
         private void OnListItemClick(EventContext context)

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

@@ -114,7 +114,6 @@ namespace GFGGame
             _selectedItemId = (this.viewData as object[]).Length > 1 ? (int)(this.viewData as object[])[1] : 0;
             _valueBarController.OnShown();
             _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("hc_bj_1");
-            _clearDressUpList = true;
 
             UpdateClothingList(false);
 
@@ -124,6 +123,7 @@ namespace GFGGame
         protected override void OnHide()
         {
             base.OnHide();
+            _clearDressUpList = true;
             _valueBarController.OnHide();
             _ui.m_listMaterias.selectedIndex = 0;
             Timers.inst.Remove(CheckGuide);
@@ -199,6 +199,7 @@ namespace GFGGame
                 _dressUpObjUI.dressUpObj.TakeOffAll();
                 _clearDressUpList = false;
             }
+
             _dressUpObjUI.ResetSceneObj(45, true, true, null, false);
             _dressUpObjUI.dressUpObj.AddOrRemove(_selectedItemId, true);
             _imgSelected.visible = _dressUpObjUI.dressUpObj.CheckDressUpItemIsOn(_selectedItemId);

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

@@ -78,6 +78,11 @@ namespace GFGGame
             Timers.inst.Add(1, 0, UpdateTime);
             UpdateListItemData();
             UpdateRedDot();
+
+            int activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitLuckyBox);
+            ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityId);
+            if(activityOpenCfg.params2Arr.Length > 0)
+                GetWishingPoolInfo(activityId);
         }
         private void UpdateTime(object param = null)
         {
@@ -210,7 +215,7 @@ namespace GFGGame
             }
             LuckyBoxDataManager.Instance.CheckItemEnough(_luckyBoxCfg.id, LuckyBoxDataManager.ONCE_TIME, async () =>
              {
-                 bool result = await LuckyBoxSProxy.ReqGetBonus(_luckyBoxCfg.id, LuckyBoxDataManager.ONCE_TIME);
+                 bool result = await LuckyBoxSProxy.ReqGetBonus(_luckyBoxCfg.id, LuckyBoxDataManager.ONCE_TIME,false, _activityId);
                  if (result)
                  {
                      ViewManager.Show<LuckyBoxStarView>(null, new object[] { typeof(LuckyBoxActivityView).FullName, _activityId });
@@ -231,7 +236,7 @@ namespace GFGGame
             }
             LuckyBoxDataManager.Instance.CheckItemEnough(this._luckyBoxCfg.id, LuckyBoxDataManager.TEN_TIME, async () =>
             {
-                bool result = await LuckyBoxSProxy.ReqGetBonus(this._luckyBoxCfg.id, LuckyBoxDataManager.TEN_TIME);
+                bool result = await LuckyBoxSProxy.ReqGetBonus(this._luckyBoxCfg.id, LuckyBoxDataManager.TEN_TIME,false, _activityId);
                 if (result)
                 {
                     ViewManager.Show<LuckyBoxStarView>(null, new object[] { typeof(LuckyBoxActivityView).FullName, _activityId });
@@ -242,7 +247,7 @@ namespace GFGGame
 
         private void OnClikcBtnReward()
         {
-            ViewManager.Show<ActivityThemeLuckyBoxBonusView>();
+            ViewManager.Show<ActivityThemeLuckyBoxBonusView>(ConstLimitTimeActivityType.ActLimitLuckyBox);
         }
         private void OnClikcBtnShop()
         {
@@ -290,7 +295,7 @@ namespace GFGGame
 
         private void UpdateRedDot()
         {
-            RedDotController.Instance.SetComRedDot(_ui.m_btnReward, RedDotDataManager.Instance.GetActLuckyBoxRewardRed(), "", -18, 11);
+            RedDotController.Instance.SetComRedDot(_ui.m_btnReward, RedDotDataManager.Instance.GetActLuckyBoxRewardRed(ConstLimitTimeActivityType.ActLimitLuckyBox), "", -18, 11);
             RedDotController.Instance.SetComRedDot(_ui.m_btnShop, RedDotDataManager.Instance.GetGiftBagRewardRed(), "", -18, 11);
             RedDotController.Instance.SetComRedDot(_ui.m_btnGiftBag, RedDotDataManager.Instance.GetMeiRiTeHuiRed(), "", -18, 11);
         }
@@ -303,5 +308,16 @@ namespace GFGGame
         {
             base.TryCompleteGuide();
         }
+
+        private async void GetWishingPoolInfo(int activityId)
+        {
+            bool result = await LuckyBoxSProxy.ReqGetWishingPoolInfo();
+            if (result)
+            {
+                int index = LuckyBoxDataManager.Instance.KsActivityId.IndexOf(activityId);
+                if (index < 0 || !LuckyBoxDataManager.Instance.VsStatus[index])
+                    ViewManager.Show<LuckyBoxWishView>(ConstLimitTimeActivityType.ActLimitLuckyBox);
+            }
+        }
     }
 }

+ 73 - 19
GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxView.cs

@@ -92,7 +92,8 @@ namespace GFGGame
             EventAgent.AddEventListener(ConstMessage.ITEM_CHANGED, UpdateListItemData);
             EventAgent.AddEventListener(ConstMessage.NUMERIC_CHANGE, UpdateListItemData);
             EventAgent.AddEventListener(ConstMessage.LUCKY_BOX_FREE_TIME_CHANGED, UpdateFreeInfo);
-
+            EventAgent.AddEventListener(ConstMessage.LUCKY_BOX_ACTIVITY_REWARD, UpdateBtnReward);
+            EventAgent.AddEventListener(ConstMessage.ACTIVITY_LUCKY_BOX, UpdateBtnReward);
         }
         protected override void OnShown()
         {
@@ -104,7 +105,7 @@ namespace GFGGame
             _activeBoxId = 0;
             int activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitTsy);
             if (activityId > 0)
-                GetWishingPoolInfo();
+                GetWishingPoolInfo(activityId);
 
             if (LuckyBoxDataManager.Instance.RotatingId > 0)
             {
@@ -138,16 +139,15 @@ namespace GFGGame
             updateBoxEffect();
 
             Timers.inst.AddUpdate(CheckGuide);
-
             Timers.inst.Add(1f, 0, OnTimerUpdate, 1);
         }
 
-        private async void GetWishingPoolInfo()
+        private async void GetWishingPoolInfo(int activityId)
         {
             bool result = await LuckyBoxSProxy.ReqGetWishingPoolInfo();
             if (result)
             {
-                int index = LuckyBoxDataManager.Instance.KsActivityId.IndexOf(5001);
+                int index = LuckyBoxDataManager.Instance.KsActivityId.IndexOf(activityId);
                 if (index < 0 || !LuckyBoxDataManager.Instance.VsStatus[index])
                     ViewManager.Show<LuckyBoxWishView>(ConstLimitTimeActivityType.ActLimitTsy);
             }
@@ -162,7 +162,7 @@ namespace GFGGame
             if (freeTime > 0)
             {
                 long timeDifference = freeTime - TimeHelper.ServerNow();
-                if (timeDifference> 0)
+                if (timeDifference > 0)
                 {
                     comBox.m_comLuckBoxBtn.m_comCostOne.m_c1.selectedIndex = 0;
                     comBox.m_comLuckBoxBtn.m_txtFreeTime.visible = true;
@@ -174,8 +174,11 @@ namespace GFGGame
                     comBox.m_comLuckBoxBtn.m_comCostOne.m_c1.selectedIndex = 1;
                     comBox.m_comLuckBoxBtn.m_txtFreeTime.visible = false;
                 }
+                RedDotController.Instance.SetComRedDot(comBox.m_comLuckBoxBtn.m_btnBuyOne, comBox.m_comLuckBoxBtn.m_comCostOne.m_c1.selectedIndex == 1);
             }
 
+            RedDotController.Instance.SetComRedDot(_ui.m_btnLeft, LuckyBoxDataManager.Instance.RedBtnLeft(_curIndex));
+            RedDotController.Instance.SetComRedDot(_ui.m_btnRight, LuckyBoxDataManager.Instance.RedBtnRight(_curIndex),"",-60,70);
             UI_ComBox1.ProxyEnd();
         }
 
@@ -220,6 +223,7 @@ namespace GFGGame
             LuckyBoxDataManager.Instance.luckyBoxIndex = _curIndex;
         }
 
+        List<GObject> _listActivityBtnObj = new List<GObject>();
         private void UpdateListItem()
         {
             int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[_curIndex];
@@ -228,11 +232,16 @@ namespace GFGGame
 
             GObject obj = _ui.m_listBg.GetChildAt(_curIndex);
             UI_ComBox1 comBox = UI_ComBox1.Proxy(obj);
-
+            _listActivityBtnObj.Add(obj);
             int activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitTsy);
             if (activityId > 0 && boxId == LuckyBoxDataManager.BOX_ID_2) {
                 comBox.m_showActivityType.selectedIndex = 1;
                 UpGiftBox(comBox);
+                if (comBox.m_btnRule.data == null)
+                {
+                    comBox.m_btnRule.onClick.Add(RuleController.ShowRuleView);
+                    comBox.m_btnRule.data = 300024;
+                }
             }
             else
                 comBox.m_showActivityType.selectedIndex = 0;
@@ -285,7 +294,7 @@ namespace GFGGame
 
             obj.data = boxId;
 
-            comBox.m_grpTime.visible = (boxId == _activeBoxId || boxId == LuckyBoxDataManager.BOX_ID_2);
+            comBox.m_grpTime.visible = (boxId == _activeBoxId);
             if (boxId == _activeBoxId)
             {
                 long endTime = LuckyBoxDataManager.Instance.endTime;
@@ -305,9 +314,20 @@ namespace GFGGame
             UpdateFreeInfo();
         }
 
+        private void UpdateBtnReward()
+        {
+            if (_curIndex == 1) { 
+                GObject obj = _ui.m_listBg.GetChildAt(_curIndex);
+                UI_ComBox1 comBox = UI_ComBox1.Proxy(obj);
+                RedDotController.Instance.SetComRedDot(comBox.m_btnReward, RedDotDataManager.Instance.GetActLuckyBoxRewardRed(ConstLimitTimeActivityType.ActLimitTsy));
+
+                comBox.m_txtCount.SetVar("value", ActivityDataManager.Instance.lastTsyDrawCount.ToString()).FlushVars();
+            }
+        }
+
         private void OnClikcBtnReward()
         {
-            ViewManager.Show<ActivityThemeLuckyBoxBonusView>();
+            ViewManager.Show<ActivityThemeLuckyBoxBonusView>(ConstLimitTimeActivityType.ActLimitTsy);
         }
 
         private void OnClikcBtnShop()
@@ -320,7 +340,7 @@ namespace GFGGame
         {
             int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[_curIndex];
             LuckyBoxCfg cfg = LuckyBoxCfgArray.Instance.GetCfg(boxId);
-            comBox.m_txtCount.SetVar("value", ActivityDataManager.Instance.lastDrawCount.ToString()).FlushVars();
+            comBox.m_txtCount.SetVar("value", ActivityDataManager.Instance.lastTsyDrawCount.ToString()).FlushVars();
             comBox.m_txtCount.SetVar("name", cfg.name).FlushVars();
 
             var activityInfoByTypeList = ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB3);
@@ -362,6 +382,7 @@ namespace GFGGame
                     comBox.m_btnGiftBag.visible = true;
                 }
             }
+            UpdateBtnReward();
         }
 
         //限时礼包按钮点击执行方法
@@ -418,14 +439,35 @@ namespace GFGGame
             {
                 GObject item = _ui.m_listBg.GetChildAt(1);
                 if (item == null) return;
-                GObject textField = item.asCom.GetChild("txtTime");
+                GObject textField = item.asCom.GetChild("txtTsyTime");
                 if (textField == null) return;
-                long time = 100;
-                string strTime = time > TimeUtil.SECOND_PER_DAY * 100 ? TimeUtil.FormattingTimeTo_DDHHmm(time) : TimeUtil.FormattingTimeTo_HHmmss(time);
-                textField.asTextField.text = string.Format("概率提升剩余:{0}", strTime);
+                int activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitTsy);
+                var activityCfg = ActivityOpenCfgArray.Instance.GetCfg(activityId);
+                long endTime = TimeUtil.DateTimeToTimestamp(activityCfg.endTime);
+                long curTime = TimeHelper.ServerNow();
+                if (endTime < curTime)
+                {
+                    PromptController.Instance.ShowFloatTextPrompt("活动已结束");
+                    Timers.inst.Remove(UpdateTime);
+                    OnClickBtnBack();
+                    return;
+                }
+                TimeUtil.FormattingTime(curTime, endTime, out int num, out string str);
+                textField.asTextField.text = "概率提升剩余: " + TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime);
+
+                //=====限时礼包倒计时
+                //UpGiftBox();
+                //EventAgent.DispatchEvent(ConstMessage.LUCKY_BOX_TIME);
+                //=====限时礼包倒计时END
             }
         }
 
+
+        private void UpdateTime(object param = null)
+        {
+            
+        }
+
         private void updateBoxEffect()
         {
             if (isActiveBoxOpen)
@@ -456,11 +498,15 @@ namespace GFGGame
             }
             LuckyBoxDataManager.Instance.CheckItemEnough(boxId, LuckyBoxDataManager.ONCE_TIME, async () =>
              {
+                 int activityId = 0;
+                 if (boxId == LuckyBoxDataManager.BOX_ID_2) {
+                     activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitTsy);
+                 }
                  bool result = false;
                  if (freeTime > 0 && freeTime < TimeHelper.ServerNow())
-                    result = await LuckyBoxSProxy.ReqGetBonus(boxId, LuckyBoxDataManager.ONCE_TIME, true);
+                    result = await LuckyBoxSProxy.ReqGetBonus(boxId, LuckyBoxDataManager.ONCE_TIME, true, activityId);
                  else
-                    result = await LuckyBoxSProxy.ReqGetBonus(boxId, LuckyBoxDataManager.ONCE_TIME);
+                    result = await LuckyBoxSProxy.ReqGetBonus(boxId, LuckyBoxDataManager.ONCE_TIME,false, activityId);
 
                  if (result)
                  {
@@ -490,13 +536,16 @@ namespace GFGGame
             }
             LuckyBoxDataManager.Instance.CheckItemEnough(boxId, LuckyBoxDataManager.TEN_TIME, async () =>
             {
-
-                bool result = await LuckyBoxSProxy.ReqGetBonus(boxId, LuckyBoxDataManager.TEN_TIME);
+                int activityId = 0;
+                if (boxId == LuckyBoxDataManager.BOX_ID_2)
+                {
+                    activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitTsy);
+                }
+                bool result = await LuckyBoxSProxy.ReqGetBonus(boxId, LuckyBoxDataManager.TEN_TIME,false, activityId);
                 if (result)
                 {
                     ViewManager.Show<LuckyBoxStarView>(null, new object[] { typeof(LuckyBoxView).FullName, boxId });
                     LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.ZAI_XING, 2);
-
                 }
             });
         }
@@ -524,6 +573,8 @@ namespace GFGGame
             EventAgent.RemoveEventListener(ConstMessage.ITEM_CHANGED, UpdateListItemData);
             EventAgent.RemoveEventListener(ConstMessage.NUMERIC_CHANGE, UpdateListItemData);
             EventAgent.RemoveEventListener(ConstMessage.LUCKY_BOX_FREE_TIME_CHANGED, UpdateFreeInfo);
+            EventAgent.RemoveEventListener(ConstMessage.LUCKY_BOX_ACTIVITY_REWARD, UpdateBtnReward);
+            EventAgent.RemoveEventListener(ConstMessage.ACTIVITY_LUCKY_BOX, UpdateBtnReward);
         }
 
         private void OnClickBtnBack()
@@ -596,6 +647,9 @@ namespace GFGGame
                 comBox.m_comLuckBoxBtn.m_comCostOne.m_c1.selectedIndex = 0;
                 comBox.m_comLuckBoxBtn.m_txtFreeTime.visible = false;
             }
+            RedDotController.Instance.SetComRedDot(comBox.m_comLuckBoxBtn.m_btnBuyOne, comBox.m_comLuckBoxBtn.m_comCostOne.m_c1.selectedIndex == 1);
+
+            UI_ComBox1.ProxyEnd();
         }
     }
 }

+ 33 - 7
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightSingleScoreView.cs

@@ -207,7 +207,11 @@ namespace GFGGame
             bool _showCard = ScoreSystemData.Instance.IsShowCard(InstanceZonesDataManager.currentCardId, vaildSkills);
             if (_showCard)
             {
-                ViewManager.Show<StorySkillView>(skillsToShowDic);
+                //第四个参数用于分数展示,和
+                ViewManager.Show<StorySkillView>(new object[] { skillsToShowDic ,null });
+                //这里可以写卡牌加分
+                _score += _skillScore;
+                Timers.inst.Add(2.0f, 1, UpdateProgressA);
             }
             else
             {
@@ -221,24 +225,24 @@ namespace GFGGame
             switch (_currentTime)
             {
                 case SkillBeginTime.FIGHT_BEGIN:
-                    _score += _skillScore;
+                    //_score += _skillScore;
                     CheckRoundBeginSkill(null);
                     break;
                 case SkillBeginTime.ERVERY_ROUND_BEGIN:
-                    _allSkillScore += _skillScore;
+                    //_allSkillScore += _skillScore;
                     //这里不把技能分加到总分里,因为技能分会算到部件分里
                     RoundStart();
                     break;
                 case SkillBeginTime.PERFECT_CLICK:
-                    _allSkillScore += _skillScore;
+                    //_allSkillScore += _skillScore;
                     PartScoreResultStart(ClickType.PERFECT_CLICK);
                     break;
                 case SkillBeginTime.ERVERY_ROUND_END:
-                    _score += _skillScore;
+                    //_score += _skillScore;
                     UpdateProgress();
                     break;
                 case SkillBeginTime.ALL_PERFECT_START:
-                    _score += _skillScore;
+                    //_score += _skillScore;
                     UpdateProgress();
                     break;
             }
@@ -318,7 +322,8 @@ namespace GFGGame
             // _ui.m_comClick.target.touchable = false;
 
             PartScoreResultEnd();
-            _partScore = ScoreSystemData.Instance.GetRoundScore(roleData, _partId, clickType, _allSkillScore);
+            //这里后面去掉第四个参数,因为不需要他参与计算了
+            _partScore = ScoreSystemData.Instance.GetRoundScore(roleData, _partId, clickType , _allSkillScore);
             _score += _partScore;
             _ui.m_comClick.m_comResult.target.GetChild("holder" + clickType).visible = true;
             _ui.m_comClick.m_comResult.m_c1.selectedIndex = clickType;
@@ -378,6 +383,26 @@ namespace GFGGame
                 });
         }
 
+        //重写关系得分进度条
+        private void UpdateProgressA(object param = null)
+        {
+            double proportion = _score / _ui.m_proScore.target.max;
+            float width = (float)(proportion * _ui.m_proScore.target.width);
+            width = width > _ui.m_proScore.m_comBar.target.initWidth ? _ui.m_proScore.m_comBar.target.initWidth : width;
+            GTween.To(_ui.m_proScore.m_comBar.target.width, width, 0.3f).SetTarget(_ui.m_proScore.m_comBar).OnUpdate((GTweener t) =>
+            {
+                _ui.m_proScore.m_comBar.target.width = t.value.x;
+            }).OnComplete(() =>
+            {
+                FightDataManager.Instance.totalScore = _score;
+                _ui.m_proScore.m_txtCount.text = string.Format("总分 {0}", _score);
+                GetCurStar(out int star);
+                _ui.m_proScore.m_comFirstScore.m_c1.selectedIndex = star > 0 ? 1 : 0;
+                _ui.m_proScore.m_comSecondScore.m_c1.selectedIndex = star > 1 ? 1 : 0;
+                _ui.m_proScore.m_comThirdScore.m_c1.selectedIndex = star > 2 ? 1 : 0;
+            });
+        }
+
         //回合结束
         private void PartScoreEnd()
         {
@@ -519,6 +544,7 @@ namespace GFGGame
             Timers.inst.Remove(TryShowCardSkill);
             Timers.inst.Remove(Skip);
             Timers.inst.Remove(CheckRoundBeginSkill);
+            Timers.inst.Remove(UpdateProgressA);
             GTween.Kill(_ui.m_proScore.m_comBar);
 
             _ui.m_proScore.target.value = 0;

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

@@ -32,6 +32,7 @@ namespace GFGGame
         private EffectUI _effectUI13;
         private EffectUI _effectUI14;
         private EffectUI _effectUI15;
+        private EffectUI _effectUI16;
 
         private NTexture _nTexture;
         private bool _isAutoPlay = false;
@@ -84,6 +85,8 @@ namespace GFGGame
             _effectUI14 = null;
             EffectUIPool.Recycle(_effectUI15);
             _effectUI15 = null;
+            EffectUIPool.Recycle(_effectUI16);
+            _effectUI16 = null;
             if (_ui != null)
             {
                 _ui.Dispose();
@@ -108,6 +111,7 @@ namespace GFGGame
             _effectUI13 = EffectUIPool.CreateEffectUI(_ui.m_comClick.m_comAllPerfect.m_holder, "ui_fight_new", "3S_textAppear01");
             _effectUI14 = EffectUIPool.CreateEffectUI(_ui.m_comClick.m_comAllPerfect.m_holderSmokeIn, "ui_fight_new", "smoke_Approach");
             _effectUI15 = EffectUIPool.CreateEffectUI(_ui.m_comClick.m_comAllPerfect.m_holderSmokeOut, "ui_fight_new", "smoke_out");
+            _effectUI16 = EffectUIPool.CreateEffectUI(_ui.m_effReduceScore, "ui_fight_new", "CFKP_Down_end");
         }
 
         protected override void OnInit()
@@ -265,9 +269,17 @@ namespace GFGGame
         }
         private void ShowSkillCard(Dictionary<int, int> skillScoreDic, bool showCard)
         {
+            List<int> roundTimes = ScoreSystemData.Instance.GetRoundTime(roleData.cardId, roleData.skillLvs);
+            List<PassivitySkillLvlCfg> vaildSkills = ScoreSystemData.Instance.GetValidSkills(_currentTime, _partId, roleData.cardId, roleData.skillLvs, 0, null, roundTimes, new List<int>());
             if (showCard)
             {
-                ViewManager.Show<StorySkillView>(skillScoreDic);
+                _ui.m_reduceTxt.SetVar("value", _targetSkillScore.ToString()).FlushVars();
+                ViewManager.Show<StorySkillView>(new object[] { skillScoreDic, _ui.m_effReduceScore, _ui.m_t3});
+                _score += _skillScore;
+                _targetScore += _targetSkillScore;
+                _skillScore = 0;
+                _targetSkillScore = 0;
+                Timers.inst.Add(2.0f, 1, UpdateProgressA);
             }
             else
             {
@@ -540,6 +552,25 @@ namespace GFGGame
                     if (onFinish != null) onFinish();
                 });
         }
+
+
+        //重写关系得分进度条
+        private void UpdateProgressA(object param = null)
+        {
+            _ui.m_proScore.m_txtMineScore.text = " " + _score;
+            _ui.m_proScore.m_txtNpcScore.text = " " + _targetScore;
+
+            double proportion = _score + _targetScore == 0 ? 0.5 : _score / (_score + _targetScore);
+            float width = (float)(proportion * _ui.m_proScore.target.width);
+            width = width > _ui.m_proScore.m_comBar.target.initWidth ? _ui.m_proScore.m_comBar.target.initWidth : width;
+            GTween.To(_ui.m_proScore.m_comBar.target.width, width, 0.3f).SetTarget(_ui.m_proScore.m_comBar).OnUpdate((GTweener t) =>
+            {
+                _ui.m_proScore.m_comBar.target.width = t.value.x;
+            }).OnComplete(() =>
+            {
+               
+            });
+        }
         private void OnePartScoreEnd()
         {
             _partId++;
@@ -650,6 +681,8 @@ namespace GFGGame
             }
 
             Timers.inst.Remove(CheckGuide);
+
+            Timers.inst.Remove(UpdateProgressA);
         }
 
         private async void Skip(object param = null)

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

@@ -13,6 +13,14 @@ namespace GFGGame
         private Dictionary<int, int> skillScoreDic;
         private EffectUI _effectUI1;
         private EffectUI _effectUI2;
+        private EffectUI _effectUI3;
+        private EffectUI _effectUI4;
+        private GGraph _m_effReduceScore;
+        private Transition m_ReduceTxt;
+
+        private bool isFirst;
+        private GameObject mainCamera;
+        private GameObject stageCamera;
 
         public override void Dispose()
         {
@@ -20,6 +28,10 @@ namespace GFGGame
             _effectUI1 = null;
             EffectUIPool.Recycle(_effectUI2);
             _effectUI2 = null;
+            EffectUIPool.Recycle(_effectUI3);
+            _effectUI3 = null;
+            EffectUIPool.Recycle(_effectUI4);
+            _effectUI4 = null;
             if (_ui != null)
             {
                 _ui.Dispose();
@@ -34,22 +46,33 @@ namespace GFGGame
             viewCom = _ui.target;
             isfullScreen = true;
             // this.modal = false;
-            _effectUI1 = EffectUIPool.CreateEffectUI(_ui.m_comSkillShow.m_holderBottom, "ui_fight_new", "CFKP_TX_down");
-            _effectUI2 = EffectUIPool.CreateEffectUI(_ui.m_comSkillShow.m_holderTop, "ui_fight_new", "CFKP_TX_up");
+            //_effectUI1 = EffectUIPool.CreateEffectUI(_ui.m_comSkillShow.m_holderBottom, "ui_fight_new", "CFKP_TX_down");
+            //_effectUI2 = EffectUIPool.CreateEffectUI(_ui.m_comSkillShow.m_holderTop, "ui_fight_new", "CFKP_TX_up");
+            _effectUI3 = EffectUIPool.CreateEffectUI(_ui.m_comSkillShow.m_addScore, "ui_fight_new", "CFKP_UP");
+            _effectUI4 = EffectUIPool.CreateEffectUI(_ui.m_comSkillShow.m_reduceScore, "ui_fight_new", "CFKP_Down");
 
             _ui.m_comSkillShow.m_t0.ignoreEngineTimeScale = false;
             _ui.m_comSkillShow.m_t1.ignoreEngineTimeScale = false;
             _ui.m_t1.ignoreEngineTimeScale = false;
 
+            isFirst = true;
+
         }
         protected override void OnShown()
         {
             base.OnShown();
-            skillScoreDic = this.viewData as Dictionary<int, int>;
+            skillScoreDic = (this.viewData as object[])[0] as Dictionary<int, int>;
+            _m_effReduceScore = (this.viewData as object[])[1] as GGraph;
+            if ((this.viewData as object[]).Length >= 3)
+            {
+                m_ReduceTxt = (this.viewData as object[])[2] as Transition;
+            }
+            
             UpdateView();
         }
         private void UpdateView()
         {
+
             if (skillScoreDic.Count > 0)
             {
                 int skillId = 0;
@@ -63,6 +86,9 @@ namespace GFGGame
                 _ui.m_comSkillShow.m_ComSkillScore.m_txtCount.SetVar("value", skillScoreDic[skillId].ToString()).FlushVars();
                 _ui.m_comSkillShow.m_ComSkillScore.m_txtCount1.SetVar("value", Math.Abs(skillScoreDic[skillId]).ToString()).FlushVars();
                 _ui.m_comSkillShow.m_ComSkillScore.m_c1.selectedIndex = skillScoreDic[skillId] >= 0 ? 0 : 1;
+
+                _ui.m_comSkillShow.m_SkillScore.SetVar("value", skillScoreDic[skillId].ToString()).FlushVars();
+
                 string res = skillCfg.res;
 
                 res = ItemCfgArray.Instance.GetCfg(skillCfg.cardId).res;
@@ -90,6 +116,9 @@ namespace GFGGame
                         });
                     }
                 });
+
+                //战斗卡牌特效处理
+                Timers.inst.Add(0.5f, 1, SetEffVisible);
             }
             else
             {
@@ -99,11 +128,88 @@ namespace GFGGame
         protected override void OnHide()
         {
             base.OnHide();
+                _ui.m_comSkillShow.m_addScore.visible = false;
+                _ui.m_comSkillShow.m_reduceScore.visible = false;
+                if (_m_effReduceScore != null)
+                {
+                    _m_effReduceScore.visible = false;
+                }
+            SetCamera(false);
+            Timers.inst.Remove(SetEffReduceScore);
+            Timers.inst.Remove(SetEffVisible);
             _ui.m_comSkillShow.m_t0.Stop(true, false);
             _ui.m_comSkillShow.m_t1.Stop(true, false);
             _ui.m_t1.Stop(true, false);
             _ui.m_t2.Play();
             EventAgent.DispatchEvent(ConstMessage.SHOW_CARD_SKILL_END);
         }
+
+        private void SetEffReduceScore(object param)
+        {
+            _m_effReduceScore.visible = true;
+            m_ReduceTxt.Play();
+        }
+        
+        private void SetEffVisible(object param)
+        {
+            if (skillScoreDic.Count == 0)
+            {
+                return;
+            }
+            int skillId = 0;
+            foreach (int key in skillScoreDic.Keys)
+            {
+                skillId = key;
+                break;
+            }
+            //战斗卡牌特效处理
+            if (skillScoreDic[skillId] > 0)
+            {
+                _ui.m_comSkillShow.m_SkillScore.color = new Color(0.973f, 0.784f, 0.431f, 1.000f);
+                _ui.m_comSkillShow.m_reduceScore.visible = false;
+                _ui.m_comSkillShow.m_addScore.visible = true;  
+                SetCamera(true);
+            }
+            else if (skillScoreDic[skillId] < 0)
+            {
+                _ui.m_comSkillShow.m_SkillScore.color = new Color(0.906f, 0.894f, 0.894f, 1.000f);
+                _ui.m_comSkillShow.m_addScore.visible = false;
+                _ui.m_comSkillShow.m_reduceScore.visible = true;
+                Timers.inst.Add(1.5f, 1, SetEffReduceScore);
+            }
+        }
+
+        private void SetCamera(bool isshake)
+        {
+            if (isFirst)
+            {
+                mainCamera = Camera.main.gameObject;
+                mainCamera.AddComponent<SC_shakeCamera>();
+                mainCamera.AddComponent<shakecameraControl>();
+                stageCamera = GameObject.Find("Stage Camera").gameObject;
+                stageCamera.AddComponent<SC_shakeCamera>();
+                stageCamera.AddComponent<shakecameraControl>();
+                mainCamera.GetComponent<SC_shakeCamera>().enabled = false;
+                mainCamera.GetComponent<shakecameraControl>().enabled = false;
+                stageCamera.GetComponent<SC_shakeCamera>().enabled = false;
+                stageCamera.GetComponent<shakecameraControl>().enabled = false;
+                isFirst = false;
+            }
+            if (isshake)
+            {
+                mainCamera.GetComponent<SC_shakeCamera>().enabled = true;
+                mainCamera.GetComponent<shakecameraControl>().enabled = true;
+                stageCamera.GetComponent<SC_shakeCamera>().enabled = true;
+                stageCamera.GetComponent<shakecameraControl>().enabled = true;
+            }
+            else
+            {
+                mainCamera.GetComponent<SC_shakeCamera>().enabled = false;
+                mainCamera.GetComponent<shakecameraControl>().enabled = false;
+                stageCamera.GetComponent<SC_shakeCamera>().enabled = false;
+                stageCamera.GetComponent<shakecameraControl>().enabled = false;
+            }
+
+        }
     }
 }

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

@@ -136,6 +136,9 @@ namespace GFGGame
             _btnHaoYou.onClick.Add(OnClickBtnHaoYou);
             _btnGongGao.onClick.Add(OnClickBtnGongGao);
             _btnRenWu.onClick.Add(OnClickBtnRenWu);
+            //_ui.m_btnActivityAfuGift.target.visible = false;
+            _ui.m_btnActivityAfuGift.target.onClick.Add(OnClickBtnAfuGift);
+            _ui.m_btnActivityAfuGift.target.visible = false;
             _btnActivityDay7.onClick.Add(OnClickBtnDay7);
             _ui.m_btnFirstRecharge.target.onClick.Add(OnClickBtnFirstRecharge);
             // _btnStudio.onClick.Add(OnClickBtnStudio);
@@ -206,6 +209,7 @@ namespace GFGGame
             UpdateRoleLvl();
             UpdateHead();
             UpdateBtnFirstRecharge();
+            CheckProbabilityUp();
             _valueBarController.OnShown();
 
 
@@ -612,6 +616,10 @@ namespace GFGGame
             // ViewManager.Show<DailyTaskView>();
         }
 
+        private void OnClickBtnAfuGift()
+        {
+            ViewManager.Show<ActivityAfuGiftView>(null, new[] { typeof(MainUIView).FullName, this.viewData });
+        }
         private void OnClickBtnDay7()
         {
             ViewManager.Show<ActivityDay7View>(null, new[] { typeof(MainUIView).FullName, this.viewData });
@@ -773,7 +781,17 @@ namespace GFGGame
                 _ui.m_btnActivityLuckyBox.m_txtTime.text = time > TimeUtil.SECOND_PER_DAY * 1000 ? TimeUtil.FormattingTimeTo_DDHHmm(time) : TimeUtil.FormattingTimeTo_HHmmss(time);
             }
 
-            List<int> actListChargeIds = ActivityGlobalDataManager.Instance.GetActivityInfoIdsByType(ConstLimitTimeActivityType.ActLimitChargeId);
+            int actLimitTsyId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitTsy);
+            if (actLimitTsyId > 0)
+            {
+                if (actLimitTsyId != ActivityDataManager.Instance.lastActLimitTsyId)
+                {
+                    ActivitySProxy.ReqGetTimeLimitLuckyBoxInfo(actLimitTsyId).Coroutine();
+                    ActivityDataManager.Instance.lastActLimitTsyId = actLimitTsyId;
+                }
+            }
+
+             List<int> actListChargeIds = ActivityGlobalDataManager.Instance.GetActivityInfoIdsByType(ConstLimitTimeActivityType.ActLimitChargeId);
             int actLimitChargeId = actListChargeIds.Count > 0 ? actListChargeIds[0] : 0;
             if (ActivityDataManager.Instance.lastActLimitChargeId != actLimitChargeId)
             {
@@ -899,6 +917,8 @@ namespace GFGGame
             itemIndex = itemIndex == _ui.m_comListAd.m_listAd.numItems ? 0 : itemIndex;
             _ui.m_comListAd.m_listAdSelect.selectedIndex = itemIndex;
             _ui.m_comListAd.m_listAd.scrollPane.ScrollRight(0.8f, true);
+
+            CheckProbabilityUp();
         }
         private void RenderListAdItem(int index, GObject obj)
         {
@@ -989,14 +1009,24 @@ namespace GFGGame
             RedDotController.Instance.SetComRedDot(_ui.m_btnTravel.target, RedDotDataManager.Instance.GetTravelRed(), "", -36, 32);
             RedDotController.Instance.SetComRedDot(_btnLeague, RedDotDataManager.Instance.GetLeagueRed(), "", -8);
             RedDotController.Instance.SetComRedDot(_ui.m_btnDailyWelfare.target, RedDotDataManager.Instance.GetDailyWelfareRed(), "", 9, -1);
-            RedDotController.Instance.SetComRedDot(_ui.m_btnActivityLuckyBox.target, RedDotDataManager.Instance.GetMeiRiTeHuiRed() || RedDotDataManager.Instance.GetActLuckyBoxRewardRed() || RedDotDataManager.Instance.GetActLuckyBoxTaskdRed() || RedDotDataManager.Instance.GetGiftBagRewardRed(), "", 9, -1);
+            RedDotController.Instance.SetComRedDot(_ui.m_btnActivityLuckyBox.target, RedDotDataManager.Instance.GetMeiRiTeHuiRed() || RedDotDataManager.Instance.GetActLuckyBoxRewardRed(ConstLimitTimeActivityType.ActLimitLuckyBox) || RedDotDataManager.Instance.GetActLuckyBoxTaskdRed() || RedDotDataManager.Instance.GetGiftBagRewardRed(), "", 9, -1);
             RedDotController.Instance.SetComRedDot(_btnBag, RedDotDataManager.Instance.GetMainBagGiftRed(), "", -8);
             RedDotController.Instance.SetComRedDot(_ui.m_btnActivityDay7.target, RedDotDataManager.Instance.GetActivityDay7Red());
             RedDotController.Instance.SetComRedDot(_ui.m_btnLimitedRechargeDBGift.target, RedDotDataManager.Instance.GetLimitedRechargeDBGiftRed());
-
-
+            
             RedDotController.Instance.SetComRedDot(_ui.m_btnXiuFang.target, RedDotDataManager.Instance.GetClothingFosterRed() || RedDotDataManager.Instance.GetClothingSyntheticRed(), "", -10, 20);
             RedDotController.Instance.SetComRedDot(_ui.m_btnCiPai.target, RedDotDataManager.Instance.GetCardRed(), "", -10, 20);
+
+            RedDotController.Instance.SetComRedDot(_ui.m_btnZhaiXing.target, RedDotDataManager.Instance.GetActLuckyBoxRewardRed(ConstLimitTimeActivityType.ActLimitTsy) || RedDotDataManager.Instance.GetLuckyBoxFreeTimes());
+        }
+
+        private void CheckProbabilityUp()
+        {
+            int activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitTsy);
+            if (activityId > 0)
+                _ui.m_btnZhaiXing.m_ProbabilityUpType.selectedIndex = 1;
+            else
+                _ui.m_btnZhaiXing.m_ProbabilityUpType.selectedIndex = 0;
         }
 
         private void CheckGuide(object param)

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

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

BIN
GameClient/Assets/ResIn/UI/ActivityAFuGift/ActivityAFuGift_atlas0!a.png


+ 96 - 0
GameClient/Assets/ResIn/UI/ActivityAFuGift/ActivityAFuGift_atlas0!a.png.meta

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

BIN
GameClient/Assets/ResIn/UI/ActivityAFuGift/ActivityAFuGift_atlas0.png


+ 96 - 0
GameClient/Assets/ResIn/UI/ActivityAFuGift/ActivityAFuGift_atlas0.png.meta

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

BIN
GameClient/Assets/ResIn/UI/ActivityAFuGift/ActivityAFuGift_fui.bytes


+ 7 - 0
GameClient/Assets/ResIn/UI/ActivityAFuGift/ActivityAFuGift_fui.bytes.meta

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

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


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


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


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


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


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


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


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


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


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


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


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


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


+ 96 - 0
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_6!a.png.meta

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

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


+ 96 - 0
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_6.png.meta

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

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


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


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


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


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


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


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


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


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


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


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


+ 96 - 0
GameClient/Assets/ResIn/UI/Main/Main_atlas0_10!a.png.meta

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

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


+ 96 - 0
GameClient/Assets/ResIn/UI/Main/Main_atlas0_10.png.meta

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

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


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


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


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


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


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


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


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


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


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


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


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


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


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


Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно