浏览代码

消暑礼包

zhangyuqian 1 年之前
父节点
当前提交
b42449fffc
共有 23 个文件被更改,包括 582 次插入4 次删除
  1. 1 0
      GameClient/Assets/Game/HotUpdate/Controller/GameController.cs
  2. 30 0
      GameClient/Assets/Game/HotUpdate/Data/ActivityAfuGiftDataManager.cs
  3. 1 1
      GameClient/Assets/Game/HotUpdate/Data/RedDotDataManager.cs
  4. 83 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreSummerGiftUI.cs
  5. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreSummerGiftUI.cs.meta
  6. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreUI.cs
  7. 80 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_SummerGiftRewardItem.cs
  8. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_SummerGiftRewardItem.cs.meta
  9. 60 1
      GameClient/Assets/Game/HotUpdate/ServerProxy/ActivityAfuGiftSProxy.cs
  10. 1 0
      GameClient/Assets/Game/HotUpdate/ServerProxy/CommonSProxy.cs
  11. 264 0
      GameClient/Assets/Game/HotUpdate/Views/Store/StoreSummerGiftView.cs
  12. 11 0
      GameClient/Assets/Game/HotUpdate/Views/Store/StoreSummerGiftView.cs.meta
  13. 26 2
      GameClient/Assets/Game/HotUpdate/Views/Store/StoreView.cs
  14. 二进制
      GameClient/Assets/ResIn/UI/RoleInfo/RoleInfo_fui.bytes
  15. 二进制
      GameClient/Assets/ResIn/UI/Store/Store_atlas0!a.png
  16. 二进制
      GameClient/Assets/ResIn/UI/Store/Store_atlas0.png
  17. 二进制
      GameClient/Assets/ResIn/UI/Store/Store_atlas0_1!a.png
  18. 二进制
      GameClient/Assets/ResIn/UI/Store/Store_atlas0_1.png
  19. 二进制
      GameClient/Assets/ResIn/UI/Store/Store_atlas0_2!a.png
  20. 二进制
      GameClient/Assets/ResIn/UI/Store/Store_atlas0_2.png
  21. 二进制
      GameClient/Assets/ResIn/UI/Store/Store_atlas0_4!a.png
  22. 二进制
      GameClient/Assets/ResIn/UI/Store/Store_atlas0_4.png
  23. 二进制
      GameClient/Assets/ResIn/UI/Store/Store_fui.bytes

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

@@ -276,6 +276,7 @@ namespace GFGGame
             LeagueSproxy.GetTeapartyMatchingInfos(RoleDataManager.roleId).Coroutine();
             ActivitySProxy.ReqGetActivitySignInfos().Coroutine();
             ShopSProxy.ReqGetGrowthFundInfo().Coroutine();
+            ActivityAfuGiftSProxy.GetSummerGiftInfo().Coroutine();
             //RoleInfoSProxy.ReqNewRoleGetSuitStatus().Coroutine();
 
             int storageAutoPlay = StorageDataManager.Instance.GetStorageValue(ConstStorageId.STORAGE_AUTO_PLAY);

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

@@ -21,6 +21,15 @@ namespace GFGGame
         private List<ActivityLoginCfg> _rewardCfgs;
         public List<ActivityLoginCfg> RewardCfgs { get => _rewardCfgs; set => _rewardCfgs = value; }
 
+        //消暑礼包
+        public int SummerActivityID = 3003;
+        public bool IsSummerGiftBuy = false;
+        public Dictionary<int, List<int>> SummerGiftRewardState = new Dictionary<int, List<int>>()
+        {
+            [0] = new List<int>(),
+            [1] = new List<int>()
+        };
+
         private bool _isOpen;
         public bool IsOpen { get => _isOpen; set => _isOpen = value; }
 
@@ -113,5 +122,26 @@ namespace GFGGame
             //_normalRewards.Clear();
             //_superRewards.Clear();
         }
+
+        public bool GetSummerGiftRewardAllState()
+        {
+            long curTime = TimeHelper.ServerNow();
+            var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(SummerActivityID);
+            if (activityInfo == null)
+            {
+                return false;
+            }
+            foreach (var item in SummerGiftRewardState)
+            {
+                foreach(var state in item.Value)
+                {
+                    if(state == 1)
+                    {
+                        return true;
+                    }
+                }
+            }
+            return false;
+        }
     }
 }

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

@@ -679,7 +679,7 @@ namespace GFGGame
         /// <returns></returns>
         public bool GetShopRed()
         {
-            return GetChargeAddUpRewardRed() || GetGiftBagRewardRed() || GetGoldCardRewardRed() || GetBlackCardRewardRed() || GetBlackCardClothingRed() || GetStoreBrocadeWeavRewardRed() || GetGiftBagRebateRed() || GetGrowthFundRewardRed();
+            return GetChargeAddUpRewardRed() || GetGiftBagRewardRed() || GetGoldCardRewardRed() || GetBlackCardRewardRed() || GetBlackCardClothingRed() || GetStoreBrocadeWeavRewardRed() || GetGiftBagRebateRed() || GetGrowthFundRewardRed() || ActivityAfuGiftDataManager.Instance.GetSummerGiftRewardAllState();
         }
         //商店-充值-会员中心
         public bool GetChargeAddUpRewardRed()

+ 83 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreSummerGiftUI.cs

@@ -0,0 +1,83 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Store
+{
+    public partial class UI_StoreSummerGiftUI
+    {
+        public GComponent target;
+        public GTextField m_LeftTime;
+        public GButton m_tip;
+        public GButton m_btnOpen;
+        public GList m_RewardList;
+        public GButton m_btnGetAll;
+        public const string URL = "ui://p9mtgheop3fttfb";
+        public const string PACKAGE_NAME = "Store";
+        public const string RES_NAME = "StoreSummerGiftUI";
+        private static UI_StoreSummerGiftUI _proxy;
+
+        public static UI_StoreSummerGiftUI Create(GObject gObject = null)
+        {
+            var ui = new UI_StoreSummerGiftUI();
+            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_StoreSummerGiftUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_StoreSummerGiftUI();
+            }
+            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_LeftTime = (GTextField)comp.GetChild("LeftTime");
+            m_tip = (GButton)comp.GetChild("tip");
+            m_btnOpen = (GButton)comp.GetChild("btnOpen");
+            m_RewardList = (GList)comp.GetChild("RewardList");
+            m_btnGetAll = (GButton)comp.GetChild("btnGetAll");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_LeftTime = null;
+            m_tip = null;
+            m_btnOpen = null;
+            m_RewardList = null;
+            m_btnGetAll = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

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

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

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreUI.cs

@@ -7,6 +7,7 @@ namespace UI.Store
     public partial class UI_StoreUI
     {
         public GComponent target;
+        public GLoader m_bg;
         public GLoader m_loaBg;
         public GButton m_btnBack;
         public UI_ComTab m_comTab;
@@ -58,6 +59,7 @@ namespace UI.Store
 
         private void Init(GComponent comp)
         {
+            m_bg = (GLoader)comp.GetChild("bg");
             m_loaBg = (GLoader)comp.GetChild("loaBg");
             m_btnBack = (GButton)comp.GetChild("btnBack");
             m_comTab = (UI_ComTab)UI_ComTab.Create(comp.GetChild("comTab"));
@@ -65,6 +67,7 @@ namespace UI.Store
         }
         public void Dispose(bool disposeTarget = false)
         {
+            m_bg = null;
             m_loaBg = null;
             m_btnBack = null;
             m_comTab.Dispose();

+ 80 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_SummerGiftRewardItem.cs

@@ -0,0 +1,80 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Store
+{
+    public partial class UI_SummerGiftRewardItem
+    {
+        public GComponent target;
+        public Controller m_c1;
+        public GTextField m_Level;
+        public GComponent m_NormalReward;
+        public GList m_RewardList;
+        public const string URL = "ui://p9mtgheop3fttfh";
+        public const string PACKAGE_NAME = "Store";
+        public const string RES_NAME = "SummerGiftRewardItem";
+        private static UI_SummerGiftRewardItem _proxy;
+
+        public static UI_SummerGiftRewardItem Create(GObject gObject = null)
+        {
+            var ui = new UI_SummerGiftRewardItem();
+            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_SummerGiftRewardItem Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_SummerGiftRewardItem();
+            }
+            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_Level = (GTextField)comp.GetChild("Level");
+            m_NormalReward = (GComponent)comp.GetChild("NormalReward");
+            m_RewardList = (GList)comp.GetChild("RewardList");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_Level = null;
+            m_NormalReward = null;
+            m_RewardList = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

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

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

+ 60 - 1
GameClient/Assets/Game/HotUpdate/ServerProxy/ActivityAfuGiftSProxy.cs

@@ -102,7 +102,66 @@ namespace GFGGame
             EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
             return false;
         }
-    }
 
+        //消暑礼包
+        public static async ETTask GetSummerGiftInfo()
+        {
+            var response =
+                (S2C_GetActivityLoginInfoExt)await MessageHelper.SendToServer(new C2S_GetActivityLoginInfoExt {});
+            if (!(response is { Error: ErrorCode.ERR_Success })) return;
+            ActivityAfuGiftDataManager.Instance.IsSummerGiftBuy = response.ActivityLoginInfo.IsBuy;
+            ActivityAfuGiftDataManager.Instance.SummerGiftRewardState[0] = response.ActivityLoginInfo.FreeRewardStatusList;
+            ActivityAfuGiftDataManager.Instance.SummerGiftRewardState[1] = response.ActivityLoginInfo.PayRewardStatusList;
+        }
 
+        public static async ETTask<bool> ReqGetSummerGiftReward(bool ispay,int rewardDay)
+        {
+            var response =
+                (S2C_GetActivityLoginRewardExt)await MessageHelper.SendToServer(new C2S_GetActivityLoginRewardExt()
+                { IsPay = ispay, RewardDay = rewardDay });
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+            ActivityAfuGiftDataManager.Instance.IsSummerGiftBuy = response.ActivityLoginInfo.IsBuy;
+            ActivityAfuGiftDataManager.Instance.SummerGiftRewardState[0] = response.ActivityLoginInfo.FreeRewardStatusList;
+            ActivityAfuGiftDataManager.Instance.SummerGiftRewardState[1] = response.ActivityLoginInfo.PayRewardStatusList;
+            // 奖励弹窗
+            BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
+            EventAgent.DispatchEvent(ConstMessage.NUMERIC_CHANGE);
+            return false;
+        }
+        public static async ETTask<bool> ReqGetSummerGiftAllReward()
+        {
+            var response =
+                (S2C_GetAllActivityLoginRewardExt)await MessageHelper.SendToServer(new C2S_GetAllActivityLoginRewardExt() { });
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+            ActivityAfuGiftDataManager.Instance.IsSummerGiftBuy = response.ActivityLoginInfo.IsBuy;
+            ActivityAfuGiftDataManager.Instance.SummerGiftRewardState[0] = response.ActivityLoginInfo.FreeRewardStatusList;
+            ActivityAfuGiftDataManager.Instance.SummerGiftRewardState[1] = response.ActivityLoginInfo.PayRewardStatusList;
+            // 奖励弹窗
+            BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
+            EventAgent.DispatchEvent(ConstMessage.NUMERIC_CHANGE);
+            return false;
+        }
+    }
+}
+
+namespace ET
+{
+    public class ActivitySummerGiftProtoHandler : AMHandler<S2C_PushActivityLoginInfoExt>
+    {
+        /// <summary>
+        /// 消暑活动的开启/结束/充值
+        /// </summary>
+        /// <param name="session"></param>
+        /// <param name="message"></param>
+        /// <returns></returns>
+        protected override async ETTask Run(Session session, S2C_PushActivityLoginInfoExt message)
+        {
+            var info = message.ActivityLoginInfo;
+            ActivityAfuGiftDataManager.Instance.IsSummerGiftBuy = info.IsBuy;
+            ActivityAfuGiftDataManager.Instance.SummerGiftRewardState[0] = info.FreeRewardStatusList;
+            ActivityAfuGiftDataManager.Instance.SummerGiftRewardState[1] = info.PayRewardStatusList;
+            EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
+            await ETTask.CompletedTask;
+        }
+    }
 }

+ 1 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/CommonSProxy.cs

@@ -65,6 +65,7 @@ namespace GFGGame
                     await ActivitySProxy.ReqSevenDayLoginInfos();
                     await ActivityGlobalSProxy.GetActivityInfo();
                     await ActivityAfuGiftSProxy.GetAfuGiftInfo();
+                    await ActivityAfuGiftSProxy.GetSummerGiftInfo();
                     await ActivityTeaSProxy.ReqGetNPCVisitInfo();
                     await MiniGameProxy.ReqGetChallengeReward();
                     ActivitySProxy.ReqGetActivitySignInfos().Coroutine();

+ 264 - 0
GameClient/Assets/Game/HotUpdate/Views/Store/StoreSummerGiftView.cs

@@ -0,0 +1,264 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using ET;
+using FairyGUI;
+using UI.Store;
+using UI.CommonGame;
+using UnityEngine;
+using static GFGGame.ShopSProxy;
+
+namespace GFGGame
+{
+    class StoreSummerGiftView : BaseWindow
+    {
+        private UI_StoreSummerGiftUI _ui;
+
+        private List<CoolDownCfg> _rewardCfgs;
+        private ActivityOpenCfg activityOpenCfg;
+
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_StoreSummerGiftUI.PACKAGE_NAME;
+            _ui = UI_StoreSummerGiftUI.Create();
+            viewCom = _ui.target;
+            isfullScreen = true;
+            clickBlankToClose = false;
+
+            _ui.m_btnOpen.onClick.Add(OnBtnOpenClick);
+            _ui.m_btnGetAll.onClick.Add(OnBtnGetAllClick);
+            _ui.m_RewardList.itemRenderer = ListBoxRewardItemRender;
+
+            //_ui.m_tip.onClick.Add(RuleController.ShowRuleView);
+            //_ui.m_tip.data = 300012;
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+            Timers.inst.Remove(UpdateTime);
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(ActivityAfuGiftDataManager.Instance.SummerActivityID);
+            FreshReward();
+            Timers.inst.AddUpdate(UpdateTime);
+        }
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+            //监听通行证等级变化
+            EventAgent.AddEventListener(ConstMessage.SHOP_BUY, SetBuyBtnStatus);
+            EventAgent.AddEventListener(ConstMessage.NUMERIC_CHANGE, FreshReward);
+        }
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+            EventAgent.RemoveEventListener(ConstMessage.SHOP_BUY, SetBuyBtnStatus);
+            EventAgent.RemoveEventListener(ConstMessage.NUMERIC_CHANGE, FreshReward);
+        }
+        //购买礼包
+        private async void OnBtnOpenClick(EventContext context)
+        {
+            if(GetBuyStatus())
+            {
+                return;
+            }
+            await ReqShopBuy(activityOpenCfg.paramsArr[0]);
+            await ActivityAfuGiftSProxy.GetSummerGiftInfo();
+            _ui.m_RewardList.numItems = _rewardCfgs.Count;
+        }
+
+        //领取全部奖励
+        private async void OnBtnGetAllClick(EventContext context)
+        {
+            if(!ActivityAfuGiftDataManager.Instance.GetSummerGiftRewardAllState())
+            {
+                return;
+            }
+            await ActivityAfuGiftSProxy.ReqGetSummerGiftAllReward();
+            _ui.m_RewardList.numItems = _rewardCfgs.Count;
+        }
+
+        private void ListBoxRewardItemRender(int index, GObject obj)
+        {
+            var item = UI_BrocadeWeavRewardItem.Proxy(obj);
+            var level = index;
+            var battlePassCfg = _rewardCfgs[level];
+            item.m_Level.text = (index + 1).ToString();
+            //设置奖励
+            var bonusNormalArr = battlePassCfg.bonusFreeArr;
+            if (bonusNormalArr != null && bonusNormalArr.Length > 0)
+            {
+                item.m_NormalReward.visible = true;
+                ItemCfg itemNormal = ItemCfgArray.Instance.GetCfg(bonusNormalArr[0][0]);
+                UI_ComItem comItem = UI_ComItem.Proxy(item.m_NormalReward);
+                comItem.m_loaIcon.url = ResPathUtil.GetIconPath(itemNormal);
+                comItem.m_txtCount.text = bonusNormalArr[0][1].ToString();
+                comItem.m_QualityType.selectedIndex = itemNormal.rarity - 1;
+                if (index <= ActivityAfuGiftDataManager.Instance.SummerGiftRewardState[0].Count)
+                {
+                    if (ActivityAfuGiftDataManager.Instance.SummerGiftRewardState[0][index] == 2)
+                    {
+                        comItem.m_grpGot.visible = true;
+                    }
+                    else
+                    {
+                        comItem.m_grpGot.visible = false;
+                    }
+                }
+                else
+                {
+                    comItem.m_grpGot.visible = false;
+                }
+                if (comItem.target.data == null)
+                {
+                    comItem.target.onClick.Add(OnItemClick);
+                }
+                comItem.target.data = new List<int>() { 0, index, bonusNormalArr[0][0] };
+                if (index <= ActivityAfuGiftDataManager.Instance.SummerGiftRewardState[0].Count)
+                {
+                    RedDotController.Instance.SetComRedDot(item.m_NormalReward, ActivityAfuGiftDataManager.Instance.SummerGiftRewardState[0][index] == 1, "", -12, 24);
+                }
+                UI_ComItem.ProxyEnd();
+            }
+            else
+            {
+                item.m_NormalReward.data = null;
+                item.m_NormalReward.visible = false;
+            }
+            if (item.m_RewardList.data == null)
+            {
+                item.m_RewardList.itemRenderer = SpecialRewardRender;
+            }
+            item.m_RewardList.data = _rewardCfgs[index];
+            item.m_RewardList.numItems = battlePassCfg.bonusPayArr.Length;
+
+            UI_BrocadeWeavRewardItem.ProxyEnd();
+        }
+        private void SpecialRewardRender(int index, GObject obj)
+        {
+            var keyValuePair = (CoolDownCfg)obj.parent.data;
+            var itemInfo = keyValuePair.bonusPayArr;
+            int day = keyValuePair.num - 1;
+            ItemCfg itemNormal = ItemCfgArray.Instance.GetCfg(itemInfo[index][0]);
+            UI_ComItem comItem = UI_ComItem.Proxy(obj);
+            comItem.m_loaIcon.url = ResPathUtil.GetIconPath(itemNormal);
+            comItem.m_txtCount.text = itemInfo[index][1].ToString();
+            comItem.m_QualityType.selectedIndex = itemNormal.rarity - 1;
+            if (day <= ActivityAfuGiftDataManager.Instance.SummerGiftRewardState[1].Count)
+            {
+                if (ActivityAfuGiftDataManager.Instance.SummerGiftRewardState[1][day] == 2)
+                {
+                    comItem.m_grpGot.visible = true;
+                }
+                else
+                {
+                    comItem.m_grpGot.visible = false;
+                }
+            }
+            if (comItem.target.data == null)
+            {
+                comItem.target.onClick.Add(OnItemClick);
+            }
+            comItem.target.data = new List<int>() {1, day, itemInfo[index][0] };
+            if (day <= ActivityAfuGiftDataManager.Instance.SummerGiftRewardState[1].Count)
+            {
+                RedDotController.Instance.SetComRedDot(comItem.target, ActivityAfuGiftDataManager.Instance.SummerGiftRewardState[1][day] == 1, "", -12, 24);
+            }
+            UI_ComItem.ProxyEnd();
+        }
+        private void OnItemClick(EventContext eventContext)
+        {
+            GObject sender = eventContext.sender as GObject;
+            List<int> info = (List<int>)sender.data;
+            if(info[1] <= ActivityAfuGiftDataManager.Instance.SummerGiftRewardState[info[0]].Count)
+            {
+                if (ActivityAfuGiftDataManager.Instance.SummerGiftRewardState[info[0]][info[1]] == 1)
+                {
+                    if(info[0] == 0)
+                    {
+                        ActivityAfuGiftSProxy.ReqGetSummerGiftReward(false,info[1] + 1).Coroutine();
+                    }
+                    else
+                    {
+                        ActivityAfuGiftSProxy.ReqGetSummerGiftReward(true,info[1] + 1).Coroutine();
+                    }  
+                    _ui.m_RewardList.numItems = _rewardCfgs.Count;
+                    RedDotController.Instance.SetComRedDot(_ui.m_btnGetAll, ActivityAfuGiftDataManager.Instance.GetSummerGiftRewardAllState(), "");
+                }
+                else
+                {
+                    GoodsItemTipsController.ShowItemTips(info[2]);
+                }
+            }
+        }
+        private void UpdateTime(object param)
+        {
+            long curTime = TimeHelper.ServerNow();
+            var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(ActivityAfuGiftDataManager.Instance.SummerActivityID);
+            if (activityInfo != null)
+            {
+                long endTime = activityInfo.EndTime;
+                _ui.m_LeftTime.text = TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime);
+            }
+            else
+            {
+                _ui.m_LeftTime.text = "";
+            }
+        }
+        private void FreshReward()
+        {
+            //刷新奖励列表
+            _rewardCfgs = CoolDownCfgArray.Instance.dataArray.ToList();
+            //去掉第一个为0的配置
+            _ui.m_RewardList.numItems = _rewardCfgs.Count;
+            SetBuyBtnStatus();
+        }
+
+        private void SetBuyBtnStatus(EventContext context = null)
+        {
+            //通行证是否购买
+            ShopCfg shopCfg = ShopCfgArray.Instance.GetCfg(activityOpenCfg.paramsArr[0]);
+            int buyNum = ShopDataManager.Instance.GetGoodsBuyNumById(shopCfg.id);
+            if (shopCfg.maxBuyNum == 0 || buyNum < shopCfg.maxBuyNum)
+            {
+                _ui.m_btnOpen.text = "¥ 68 解 锁";
+                _ui.m_btnGetAll.visible = false;
+            }
+            else
+            {
+                _ui.m_btnOpen.text = "已解锁";
+                _ui.m_btnGetAll.visible = true;
+            }
+            RedDotController.Instance.SetComRedDot(_ui.m_btnGetAll, ActivityAfuGiftDataManager.Instance.GetSummerGiftRewardAllState(), "");
+        }
+        private bool GetBuyStatus()
+        {
+            //通行证是否购买
+            ShopCfg shopCfg = ShopCfgArray.Instance.GetCfg(activityOpenCfg.paramsArr[0]);
+            int buyNum = ShopDataManager.Instance.GetGoodsBuyNumById(shopCfg.id);
+            if (shopCfg.maxBuyNum == 0 || buyNum < shopCfg.maxBuyNum)
+            {
+                return false;
+            }
+            else
+            {
+                return true;
+            }
+        }
+
+    }
+}

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

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

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

@@ -185,7 +185,7 @@ namespace GFGGame
             else
             {
                 //成长基金单独处理
-                if (_storeTabCfgs[index][0] == "成长基金")
+                if (_storeTabCfgs[index][2] == "StoreGrowthFundView")
                 {
                     ActivityOpenCfg activityCfg = ActivityOpenCfgArray.Instance.GetCfg(3002);
                     if (RoleDataManager.lvl < activityCfg.level)
@@ -200,6 +200,19 @@ namespace GFGGame
                         item.visible = true;
                     }
                 }
+                else if(_storeTabCfgs[index][2] == "StoreSummerGiftView")
+                {
+                    long curTime = TimeHelper.ServerNow();
+                    var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(ActivityAfuGiftDataManager.Instance.SummerActivityID);
+                    if (activityInfo == null)
+                    {
+                        item.visible = false;
+                    }
+                    else
+                    {
+                        item.visible = true;
+                    }
+                }
                 item.title = _storeTabCfgs[index][0];
                 menu2 = int.Parse(_storeTabCfgs[index][1]);
             }
@@ -238,6 +251,15 @@ namespace GFGGame
             ViewManager.Hide(_curViewName);
             if (!string.IsNullOrEmpty(viewName) && viewName != "“”")
             {
+                //特殊处理
+                if(viewName == "StoreSummerGiftView")
+                {
+                    _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("xrqlzl_bg");
+                }
+                else
+                {
+                    _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("bg_fhl");
+                }
                 ViewManager.Show("GFGGame." + viewName, menu2);
             }
             _curSubTabIndex = index;
@@ -280,12 +302,14 @@ namespace GFGGame
         private void UpdateStoreMonthRedDot()
         {
             RedDotController.Instance.SetComRedDot(_ui.m_comTab.m_btn1.target, RedDotDataManager.Instance.GetGoldCardRewardRed() || RedDotDataManager.Instance.GetBlackCardRewardRed() || RedDotDataManager.Instance.GetBlackCardClothingRed()
-                || RedDotDataManager.Instance.GetStoreBrocadeWeavRewardRed()||RedDotDataManager.Instance.GetGrowthFundRewardRed());
+                || RedDotDataManager.Instance.GetStoreBrocadeWeavRewardRed()||RedDotDataManager.Instance.GetGrowthFundRewardRed()|| ActivityAfuGiftDataManager.Instance.GetSummerGiftRewardAllState());
             if (_ui.m_comTab.m_c1.selectedIndex == ConstStoreTabId.STORE_MONTH_CARD)
             {
                 RedDotController.Instance.SetComRedDot(_ui.m_listSubTab.GetChildAt(ConstStoreSubId.STORE_MONTH_GOLD_CARD).asCom, RedDotDataManager.Instance.GetGoldCardRewardRed());
                 RedDotController.Instance.SetComRedDot(_ui.m_listSubTab.GetChildAt(ConstStoreSubId.STORE_MONTH_BLACK_CARD).asCom, RedDotDataManager.Instance.GetBlackCardRewardRed() || RedDotDataManager.Instance.GetBlackCardClothingRed());
                 RedDotController.Instance.SetComRedDot(_ui.m_listSubTab.GetChildAt(ConstStoreSubId.STORE_MONTH_BROCADE_WEAV).asCom, RedDotDataManager.Instance.GetStoreBrocadeWeavRewardRed());
+                RedDotController.Instance.SetComRedDot(_ui.m_listSubTab.GetChildAt(ConstStoreSubId.STORE_GROWTH_FUND).asCom, RedDotDataManager.Instance.GetGrowthFundRewardRed());
+                RedDotController.Instance.SetComRedDot(_ui.m_listSubTab.GetChildAt(4).asCom, ActivityAfuGiftDataManager.Instance.GetSummerGiftRewardAllState());
             }
         }
 

二进制
GameClient/Assets/ResIn/UI/RoleInfo/RoleInfo_fui.bytes


二进制
GameClient/Assets/ResIn/UI/Store/Store_atlas0!a.png


二进制
GameClient/Assets/ResIn/UI/Store/Store_atlas0.png


二进制
GameClient/Assets/ResIn/UI/Store/Store_atlas0_1!a.png


二进制
GameClient/Assets/ResIn/UI/Store/Store_atlas0_1.png


二进制
GameClient/Assets/ResIn/UI/Store/Store_atlas0_2!a.png


二进制
GameClient/Assets/ResIn/UI/Store/Store_atlas0_2.png


二进制
GameClient/Assets/ResIn/UI/Store/Store_atlas0_4!a.png


二进制
GameClient/Assets/ResIn/UI/Store/Store_atlas0_4.png


二进制
GameClient/Assets/ResIn/UI/Store/Store_fui.bytes