浏览代码

新年红包修改

huangxiaoyue 1 年之前
父节点
当前提交
122bbbeb95

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

@@ -232,7 +232,6 @@ namespace GFGGame
             ItemProxy.ReqGetItemCollect().Coroutine();
             MainStorySProxy.GetStoryBonusInfos().Coroutine();
             CardSProxy.GetCardInfos().Coroutine();
-            NewYearRedEnvelopeSProxy.ReqGetRedPacketInfo().Coroutine();
             TaskSProxy.GetTaskInfos();
             BattlePassTaskSProxy.GetBattlePassInfo().Coroutine();     
             DailyTaskSProxy.ReqDailyTaskInfos().Coroutine();

+ 11 - 1
GameClient/Assets/Game/HotUpdate/Data/NewYearRedEnvelopeDataManager.cs

@@ -1,10 +1,20 @@
 namespace GFGGame
 {
-    public class NewYearRedEnvelopeDataManager
+    public class NewYearRedEnvelopeDataManager : SingletonBase<NewYearRedEnvelopeDataManager>
     {
         public static int Status = RedPacketStatus.None;  //红包领取状态
         public static int ItemId = 0;  //红包奖励物品
         public static long ItemNum = 0;  //奖励数量(单倍)
 
+        public bool CheckNewYearRedEnvelopeRed()
+        {
+            int actRedPacketId = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.NewYearRedPacket);
+            if (actRedPacketId > 0 && NewYearRedEnvelopeDataManager.Status == RedPacketStatus.None)
+            {
+                return true;
+            }
+
+            return false;
+        }
     }
 }

+ 15 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/NewYearLogin/UI_ComLoginItem.cs

@@ -7,7 +7,11 @@ namespace UI.NewYearLogin
     public partial class UI_ComLoginItem
     {
         public GComponent target;
-        public Controller m_c1;
+        public Controller m_bgType;
+        public GLoader m_loaIcon;
+        public GTextField m_txtNum;
+        public GTextField m_txtName;
+        public GImage m_imgGot;
         public const string URL = "ui://euyo6bk3t2f05";
         public const string PACKAGE_NAME = "NewYearLogin";
         public const string RES_NAME = "ComLoginItem";
@@ -55,11 +59,19 @@ namespace UI.NewYearLogin
 
         private void Init(GComponent comp)
         {
-            m_c1 = comp.GetController("c1");
+            m_bgType = comp.GetController("bgType");
+            m_loaIcon = (GLoader)comp.GetChild("loaIcon");
+            m_txtNum = (GTextField)comp.GetChild("txtNum");
+            m_txtName = (GTextField)comp.GetChild("txtName");
+            m_imgGot = (GImage)comp.GetChild("imgGot");
         }
         public void Dispose(bool disposeTarget = false)
         {
-            m_c1 = null;
+            m_bgType = null;
+            m_loaIcon = null;
+            m_txtNum = null;
+            m_txtName = null;
+            m_imgGot = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 3 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/NewYearLogin/UI_NewYearLoginUI.cs

@@ -7,7 +7,7 @@ namespace UI.NewYearLogin
     public partial class UI_NewYearLoginUI
     {
         public GComponent target;
-        public GList m_ListLogin;
+        public GList m_listLogin;
         public const string URL = "ui://euyo6bk3t2f00";
         public const string PACKAGE_NAME = "NewYearLogin";
         public const string RES_NAME = "NewYearLoginUI";
@@ -55,11 +55,11 @@ namespace UI.NewYearLogin
 
         private void Init(GComponent comp)
         {
-            m_ListLogin = (GList)comp.GetChild("ListLogin");
+            m_listLogin = (GList)comp.GetChild("listLogin");
         }
         public void Dispose(bool disposeTarget = false)
         {
-            m_ListLogin = null;
+            m_listLogin = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 8 - 2
GameClient/Assets/Game/HotUpdate/ServerProxy/NewYearRedEnvelopeSproxy.cs

@@ -9,6 +9,8 @@ namespace ET
         protected override async ETTask Run(Session session, S2C_NoticeRedPacketDouble message)
         {
             NewYearRedEnvelopeDataManager.Status = RedPacketStatus.Double;
+            EventAgent.DispatchEvent(ConstMessage.NEW_YEAR_RED_ENVELOPE_INFO);
+            ET.Log.Debug("打印测试========走推送========" + message.ItemNum);
             var itemData = ItemUtil.CreateItemDataList(message.ItemId, message.ItemNum);
             BonusController.TryShowBonusList(itemData);
             await ETTask.CompletedTask;
@@ -26,13 +28,13 @@ namespace GFGGame
             int activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.NewYearRedPacket);
             if (activityId <= 0)
                 return false;
-
             S2C_GetRedPacketInfo response = null;
             response = (S2C_GetRedPacketInfo)await MessageHelper.SendToServer(new C2S_GetRedPacketInfo() { ActivityId = activityId });
             if (response != null)
             {
                 if (response.Error == ErrorCode.ERR_Success)
                 {
+                    ET.Log.Debug("打印测试=====获取红包信息===========" + response.Status);
                     NewYearRedEnvelopeDataManager.Status = response.Status;
                     NewYearRedEnvelopeDataManager.ItemId = response.ItemId;
                     NewYearRedEnvelopeDataManager.ItemNum = response.ItemNum;
@@ -52,6 +54,8 @@ namespace GFGGame
                 if (response.Error == ErrorCode.ERR_Success)
                 {
                     NewYearRedEnvelopeDataManager.Status = RedPacketStatus.Open;
+                    NewYearRedEnvelopeDataManager.ItemId = response.ItemId;
+                    NewYearRedEnvelopeDataManager.ItemNum = response.ItemNum;
                     var itemData = ItemUtil.CreateItemDataList(response.ItemId, response.ItemNum);
                     BonusController.TryShowBonusList(itemData);
                     var ramdomInt = Random.Range(1, 4).ToString();
@@ -74,7 +78,9 @@ namespace GFGGame
                     ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(NewYearRedEnvelopeDataManager.ItemId);
                     if (!AntiAddictionController.CheckAntiAddictionRecharge(1))
                     {
-                        ShopSProxy.ReqShopBuy(itemCfg.id, 1).Coroutine();
+                        NewYearRedEnvelopeDataManager.Status = 2;
+                        ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityId);
+                        ShopSProxy.ReqShopBuy(activityOpenCfg.paramsArr[0], 1).Coroutine();
                         LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.SHANG_CHENG, 2);
                     }
                     return true;

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

@@ -155,6 +155,7 @@ namespace GFGGame
             EventAgent.AddEventListener(ConstMessage.AFU_GIFT_CHANGED, ChangeAfuActivityState);
             EventAgent.AddEventListener(ConstMessage.VIEW_CLOSED, CheckAutoShowViews);
             EventAgent.AddEventListener(ConstMessage.AFTER_DATA_INITED, OnAfterDataInited);
+            EventAgent.AddEventListener(ConstMessage.NEW_YEAR_RED_ENVELOPE_INFO, RefreshBtnNewYearRedEnvelope);
         }
 
         protected override void RemoveEventListener()
@@ -167,6 +168,7 @@ namespace GFGGame
             EventAgent.RemoveEventListener(ConstMessage.AFU_GIFT_CHANGED, ChangeAfuActivityState);
             EventAgent.RemoveEventListener(ConstMessage.VIEW_CLOSED, CheckAutoShowViews);
             EventAgent.RemoveEventListener(ConstMessage.AFTER_DATA_INITED, OnAfterDataInited);
+            EventAgent.RemoveEventListener(ConstMessage.NEW_YEAR_RED_ENVELOPE_INFO, RefreshBtnNewYearRedEnvelope);
         }
 
         protected override void OnShown()
@@ -269,7 +271,16 @@ namespace GFGGame
 
         private async void UpdateButtons()
         {
+            var result = await NewYearRedEnvelopeSProxy.ReqGetRedPacketInfo();
+            if (result) {
+                RefreshBtnNewYearRedEnvelope();
+            }
+        }
 
+        private void RefreshBtnNewYearRedEnvelope()
+        {
+            int actRedPacketId = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.NewYearRedPacket);
+            _ui.m_btnNewYearRedEnvelope.target.visible = (actRedPacketId > 0 && NewYearRedEnvelopeDataManager.Status != RedPacketStatus.Double);
         }
 
         private void AddEffect()
@@ -660,9 +671,6 @@ namespace GFGGame
                 ActivityDataManager.Instance.AllSevenDayBonusGot()));
             }
 
-            int actRedPacketId = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.NewYearRedPacket);
-            _ui.m_btnNewYearRedEnvelope.target.visible = actRedPacketId > 0;
-
             _ui.m_btnActivityDay7.target.visible = ActivityDay7DataManager.Instance.CheckOpen();
             _ui.m_btnWanShiLi.target.visible = ActivityWanShiLiDataManager.Instance.CheckOpen();
             _ui.m_btnTea.target.visible = ActivityDataManager.Instance.GetCurOpenActiveByType(12) == 0 ? false : true;
@@ -972,9 +980,15 @@ namespace GFGGame
                 if (redPointUpdateFrame == 20)
                     RedDotController.Instance.SetComRedDot(_ui.m_btnActivityZCJB.target, ActivityDataManager.Instance.CheckZCJBRed(), "", -12, 5);
             }
+            // 新年红包活动
+            if (_ui.m_btnNewYearRedEnvelope.target.visible)
+            {
+                if (redPointUpdateFrame == 21)
+                    RedDotController.Instance.SetComRedDot(_ui.m_btnNewYearRedEnvelope.target, NewYearRedEnvelopeDataManager.Instance.CheckNewYearRedEnvelopeRed(), "", -19, 5);
+            }
 
             redPointUpdateFrame++;
-            if(redPointUpdateFrame > 21)
+            if(redPointUpdateFrame > 22)
             {
                 redPointUpdateFrame = -1;
             }

+ 25 - 12
GameClient/Assets/Game/HotUpdate/Views/NewYearLogin/NewYearLoginView.cs

@@ -30,9 +30,15 @@ namespace GFGGame
             this.modal = true;
             //viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
 
+            _ui.m_listLogin.itemRenderer = RenderListLogin;
             //_ui.m_btnOpen.onClick.Add(OnClickBtnOpen);
             //_ui.m_btnDoubleGet.target.onClick.Add(OnClickBtnDoubleGet);
         }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            _ui.m_listLogin.numItems = ActivitySignCfgArray.Instance.dataArray.Length;   
+        }
 
         protected override void AddEventListener()
         {
@@ -51,20 +57,27 @@ namespace GFGGame
             //_ui.m_btnDoubleGet.target.visible = NewYearRedEnvelopeDataManager.Status != RedPacketStatus.Double;
         }
 
-        protected override void OnShown()
+        private void RenderListLogin(int index, GObject obj)
         {
-            base.OnShown();
-
-            //int actRedPacketId = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.NewYearRedPacket);
-            //if (NewYearRedEnvelopeDataManager.Status == RedPacketStatus.None) { 
-            //    _ui.m_openType.selectedIndex = 0;
-            //    _ui.m_titleImgType.selectedIndex = 0; 
-            //}
-            //else if (NewYearRedEnvelopeDataManager.Status == RedPacketStatus.Open) { 
-            //    RefreshOpenView();
-            //}
+            UI_ComLoginItem item = UI_ComLoginItem.Proxy(obj);
+            var cfg = ActivitySignCfgArray.Instance.dataArray[index].bonusArr;
+            item.m_bgType.selectedIndex = index % 2;
 
-            //_ui.m_textGetNum.text = NewYearRedEnvelopeDataManager.ItemNum.ToString();
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(cfg[0][0]);
+            item.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg);
+            item.m_txtName.text = itemCfg.name;
+            item.m_txtNum.text = "x" + NumberUtil.ChangeNumberUnit(cfg[0][1], 10000);
+            item.m_imgGot.visible = ActivityDataManager.Instance.sevenDayLoginBonusStatusList[cfg[0][0] - 1] == ConstBonusStatus.GOT;
+            // if (cfg.id == dailyLoginId)
+            // {
+            RedDotController.Instance.SetComRedDot(item.target, ActivityDataManager.Instance.sevenDayLoginBonusStatusList[cfg[0][0] - 1] == ConstBonusStatus.CAN_GET);
+            // }
+            if (item.target.data == null)
+            {
+                //item.target.onClick.Add(OnListItemClick);
+            }
+            item.target.data = cfg;
+            UI_ComLoginItem.ProxyEnd();
         }
 
         private void OnClickBtnOpen(EventContext context)

+ 21 - 18
GameClient/Assets/Game/HotUpdate/Views/NewYearRedEnvelope/NewYearRedEnvelopeView.cs

@@ -35,6 +35,23 @@ namespace GFGGame
             _ui.m_btnDoubleGet.target.onClick.Add(OnClickBtnDoubleGet);
         }
 
+        protected override void OnShown()
+        {
+            base.OnShown();
+            ET.Log.Debug("댔丹꿎桿=====댔역븐관썹충==========="+ NewYearRedEnvelopeDataManager.Status);
+            if (NewYearRedEnvelopeDataManager.Status == RedPacketStatus.None) { 
+                _ui.m_openType.selectedIndex = 0;
+                _ui.m_titleImgType.selectedIndex = 0;
+                RedDotController.Instance.SetComRedDot(_ui.m_btnOpen, true, "", -50, 100);
+            }
+            else {
+                ET.Log.Debug("댔丹꿎桿=====댔역븐관썹충=====66======");
+                RefreshOpenView();
+                RefreshViewInfo();
+            }
+            Timers.inst.Add(1, 0, UpdateTime);
+        }
+
         protected override void AddEventListener()
         {
             base.AddEventListener();
@@ -49,26 +66,10 @@ namespace GFGGame
 
         private void RefreshViewInfo()
         {
+            ET.Log.Debug("댔丹꿎桿=====댔역븐관썹충======8888=====" + NewYearRedEnvelopeDataManager.Status);
             _ui.m_btnDoubleGet.target.visible = NewYearRedEnvelopeDataManager.Status != RedPacketStatus.Double;
         }
 
-        protected override void OnShown()
-        {
-            base.OnShown();
-
-            int actRedPacketId = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.NewYearRedPacket);
-            if (NewYearRedEnvelopeDataManager.Status == RedPacketStatus.None) { 
-                _ui.m_openType.selectedIndex = 0;
-                _ui.m_titleImgType.selectedIndex = 0; 
-            }
-            else if (NewYearRedEnvelopeDataManager.Status == RedPacketStatus.Open) { 
-                RefreshOpenView();
-            }
-
-            _ui.m_textGetNum.text = NewYearRedEnvelopeDataManager.ItemNum.ToString();
-            Timers.inst.Add(1, 0, UpdateTime);
-        }
-
         private void RefreshOpenView()
         {
             _ui.m_openType.selectedIndex = 1;
@@ -82,11 +83,12 @@ namespace GFGGame
             item.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg);
             item.m_txtCount.text = NewYearRedEnvelopeDataManager.ItemNum.ToString();
             UI_ComItem.ProxyEnd();
+            _ui.m_textGetNum.text = NewYearRedEnvelopeDataManager.ItemNum.ToString();
         }
 
         private void UpdateTime(object param)
         {
-            int actLimitId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitStlyc);
+            int actLimitId = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.NewYearRedPacket);
             ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(actLimitId);
             long time = TimeUtil.DateTimeToTimestamp(activityOpenCfg.endTime) - TimeHelper.ServerNow();
             string strTime = TimeUtil.FormattingTimeTo_DDHHmm(time);
@@ -108,6 +110,7 @@ namespace GFGGame
             if (result)
             {
                 RefreshOpenView();
+                RefreshViewInfo();
             }
         }
 

二进制
GameClient/Assets/ResIn/UI/Main/Main_fui.bytes


二进制
GameClient/Assets/ResIn/UI/NewYearLogin/NewYearLogin_atlas0!a.png


二进制
GameClient/Assets/ResIn/UI/NewYearLogin/NewYearLogin_atlas0.png


二进制
GameClient/Assets/ResIn/UI/NewYearLogin/NewYearLogin_fui.bytes


二进制
GameClient/Assets/ResIn/UI/NewYearRedEnvelope/NewYearRedEnvelope_fui.bytes