Browse Source

同时开多个限时累充

zhaoyang 2 years ago
parent
commit
6ce4d23065

+ 1 - 1
FGUIProject/assets/CommonGame/package.xml

@@ -338,7 +338,7 @@
     <image id="qqhzk" name="an_yellow_1.png" path="/imagesNew/" exported="true"/>
     <image id="idkdtnc" name="xsqg_zsx.png" path="/imagesNew/" exported="true"/>
     <component id="volstnd" name="ComIcon003.xml" path="/components/"/>
-    <image id="volstne" name="lm_fl_db.png" path="/bgimg/" exported="true"/>
+    <image id="volstne" name="lm_fl_db.png" path="/bgimg/" exported="true" scale="9grid" scale9grid="269,804,538,315"/>
     <component id="volstnf" name="BtnStyle005.xml" path="/components/" exported="true"/>
     <component id="volstng" name="BtnStyle006.xml" path="/components/" exported="true"/>
     <component id="volstnh" name="ComItem003.xml" path="/components/" exported="true"/>

+ 8 - 7
FGUIProject/assets/DailyWelfare/ComList.xml

@@ -1,24 +1,25 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="987,1514" overflow="scroll">
   <displayList>
-    <component id="n4_fqor" name="btnLimitChargeAddUp" src="qik1u" fileName="components/Button1.xml" xy="0,0" group="n30_idkd" controller="c1,1,c2,0">
-      <Button title="限时累充" icon="ui://t8nwuj7ivols1q"/>
-    </component>
-    <component id="n5_fqor" name="btnSevenDayLogin" src="qik1u" fileName="components/Button1.xml" xy="0,351" group="n30_idkd" controller="c2,1">
+    <list id="n32_ofwu" name="listLimitCharge" xy="0,0" size="987,371" group="n30_idkd" overflow="hidden" defaultItem="ui://t8nwuj7iqik1u">
+      <item/>
+      <item/>
+    </list>
+    <component id="n5_fqor" name="btnSevenDayLogin" src="qik1u" fileName="components/Button1.xml" xy="0,382" group="n30_idkd" controller="c2,1">
       <Button title="一周黄历"/>
       <property target="loaIcon" propertyId="1" value="ui://t8nwuj7ivols20"/>
       <property target="loaTitle" propertyId="1" value="ui://t8nwuj7ivols1z"/>
     </component>
-    <component id="n28_idkd" name="btnSign" src="qik1u" fileName="components/Button1.xml" xy="0,702" group="n30_idkd" controller="c2,2">
+    <component id="n28_idkd" name="btnSign" src="qik1u" fileName="components/Button1.xml" xy="0,733" group="n30_idkd" controller="c2,2">
       <Button title="每日签到" icon="ui://t8nwuj7ivols1y"/>
       <property target="loaIcon" propertyId="1" value="ui://t8nwuj7ivols1y"/>
       <property target="loaTitle" propertyId="1" value="ui://t8nwuj7ivols1m"/>
     </component>
-    <component id="n29_idkd" name="btnSupply" src="qik1u" fileName="components/Button1.xml" xy="0,1053" group="n30_idkd" controller="c2,3">
+    <component id="n29_idkd" name="btnSupply" src="qik1u" fileName="components/Button1.xml" xy="0,1084" group="n30_idkd" controller="c2,3">
       <Button title="每日补给" icon="ui://t8nwuj7ivols1x"/>
       <property target="loaIcon" propertyId="1" value="ui://t8nwuj7ivols1x"/>
       <property target="loaTitle" propertyId="1" value="ui://t8nwuj7ivols21"/>
     </component>
-    <group id="n30_idkd" name="n30" xy="0,0" size="987,1393" advanced="true" layout="vt" lineGap="11" excludeInvisibles="true"/>
+    <group id="n30_idkd" name="n30" xy="0,0" size="987,1424" advanced="true" layout="vt" lineGap="11" excludeInvisibles="true"/>
   </displayList>
 </component>

+ 3 - 3
FGUIProject/assets/DailyWelfare/DailyWelfareUI.xml

@@ -2,9 +2,9 @@
 <component size="1080,1920">
   <displayList>
     <loader id="n27_fqor" name="loaBg" xy="540,960" pivot="0.5,0.5" anchor="true" size="1080,2400" fill="scaleMatchWidth">
-      <relation target="" sidePair="width-width,height-height,center-center,middle-middle"/>
+      <relation target="" sidePair="center-center,middle-middle"/>
     </loader>
-    <image id="n31_vols" name="n31" src="volstne" fileName="bgimg/lm_fl_db.png" pkg="eg2y0ldp" xy="-77,0" size="1235,2071" aspect="true">
+    <image id="n31_vols" name="n31" src="volstne" fileName="bgimg/lm_fl_db.png" pkg="eg2y0ldp" xy="-77,0" pivot="0.5,0" size="1235,2071">
       <relation target="" sidePair="width-width,height-height,top-top"/>
     </image>
     <image id="n32_vols" name="n32" src="vols1s" fileName="images/hdrk_biaotz.png" xy="232,67"/>
@@ -16,7 +16,7 @@
     </component>
     <group id="n3_fqor" name="grpTop" xy="0,80" size="1080,96"/>
     <component id="n4_fqor" name="comList" src="vols22" fileName="ComList.xml" xy="46,210" size="987,1709">
-      <relation target="" sidePair="height-height"/>
+      <relation target="n31_vols" sidePair="top-top,bottomext-bottom"/>
     </component>
     <image id="n34_vols" name="n34" src="vols1t" fileName="images/hdrk_zz.png" xy="43,1667">
       <relation target="" sidePair="center-center,bottom-bottom"/>

+ 11 - 3
GameClient/Assets/Game/HotUpdate/Data/RedDotDataManager.cs

@@ -715,10 +715,18 @@ namespace GFGGame
         /// <returns></returns>
         public bool GetLimiteChargeRewardRed()
         {
-            if (ActivityDataManager.Instance.actLimitChargeId == 0) return false;
-            ActivityInfo _activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(ActivityDataManager.Instance.actLimitChargeId);
+            List<ActivityInfo> _limitChargeInfo = ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLC);
+            for (int i = 0; i < _limitChargeInfo.Count; i++)
+            {
+                if (GetLimiteChargeRewardRed(_limitChargeInfo[i].ActivityId)) return true;
+            }
+            return false;
+        }
+        public bool GetLimiteChargeRewardRed(int activityId)
+        {
+            ActivityInfo _activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(activityId);
             if (_activityInfo == null) return false;
-            List<ActivityRechargeCfg> _rechargeCfgs = ActivityRechargeCfgArray.Instance.GetCfgsByactivityId(ActivityDataManager.Instance.actLimitChargeId);
+            List<ActivityRechargeCfg> _rechargeCfgs = ActivityRechargeCfgArray.Instance.GetCfgsByactivityId(activityId);
             for (int i = 0; i < _rechargeCfgs.Count; i++)
             {
                 if (_activityInfo.CountValue >= _rechargeCfgs[i].value && _activityInfo.GetRewards.IndexOf(_rechargeCfgs[i].id) < 0)

+ 3 - 4
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/DailyWelfare/UI_ComList.cs

@@ -7,7 +7,7 @@ namespace UI.DailyWelfare
     public partial class UI_ComList
     {
         public GComponent target;
-        public UI_Button1 m_btnLimitChargeAddUp;
+        public GList m_listLimitCharge;
         public UI_Button1 m_btnSevenDayLogin;
         public UI_Button1 m_btnSign;
         public UI_Button1 m_btnSupply;
@@ -58,15 +58,14 @@ namespace UI.DailyWelfare
 
         private void Init(GComponent comp)
         {
-            m_btnLimitChargeAddUp = (UI_Button1)UI_Button1.Create(comp.GetChild("btnLimitChargeAddUp"));
+            m_listLimitCharge = (GList)comp.GetChild("listLimitCharge");
             m_btnSevenDayLogin = (UI_Button1)UI_Button1.Create(comp.GetChild("btnSevenDayLogin"));
             m_btnSign = (UI_Button1)UI_Button1.Create(comp.GetChild("btnSign"));
             m_btnSupply = (UI_Button1)UI_Button1.Create(comp.GetChild("btnSupply"));
         }
         public void Dispose(bool disposeTarget = false)
         {
-            m_btnLimitChargeAddUp.Dispose();
-            m_btnLimitChargeAddUp = null;
+            m_listLimitCharge = null;
             m_btnSevenDayLogin.Dispose();
             m_btnSevenDayLogin = null;
             m_btnSign.Dispose();

+ 45 - 17
GameClient/Assets/Game/HotUpdate/Views/DailyWelfare/DailyWelfareView.cs

@@ -12,6 +12,7 @@ namespace GFGGame
     {
         private UI_DailyWelfareUI _ui;
         private ValueBarController _valueBarController;
+        private List<ActivityInfo> _limitChargeInfo = new List<ActivityInfo>();
 
         private int _signCount;
         private int _month;
@@ -45,7 +46,8 @@ namespace GFGGame
 
             _ui.m_btnback.onClick.Add(OnBtnBackClick);
             // _ui.m_list.itemRenderer = ListItemRender;
-            _ui.m_comList.m_btnLimitChargeAddUp.target.onClick.Add(OnBtnLimitChargeAddUpClick);
+            // _ui.m_comList.m_btnLimitChargeAddUp.target.onClick.Add(OnBtnLimitChargeAddUpClick);
+            _ui.m_comList.m_listLimitCharge.itemRenderer = RenderListLimitChargeItem;
             _ui.m_comList.m_btnSevenDayLogin.target.onClick.Add(OnBtnSevenDayLoginClick);
             _ui.m_comList.m_btnSign.target.onClick.Add(OnBtnSignClick);
             _ui.m_comList.m_btnSupply.target.onClick.Add(OnBtnSupplyClick);
@@ -67,15 +69,11 @@ namespace GFGGame
             _ui.m_comList.m_btnSevenDayLogin.target.visible = !(!FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(SevenDayLoginView).Name, false)
             || (ActivityDataManager.Instance.sevenDayLoginLoginId >= 7 && ActivityDataManager.Instance.sevenDayLoginBonusStatus == ConstBonusStatus.GOT));
 
-            _ui.m_comList.m_btnLimitChargeAddUp.target.visible = ActivityDataManager.Instance.actLimitChargeId > 0;
-            ActivityOpenCfg openCfg = ActivityOpenCfgArray.Instance.GetCfg(ActivityDataManager.Instance.actLimitChargeId);
-            if (ActivityDataManager.Instance.actLimitChargeId > 0)
-            {
-                _ui.m_comList.m_btnLimitChargeAddUp.m_loaIcon.url = "ui://DailyWelfare/hdbn_xslc_" + openCfg.res;
-                _ui.m_comList.m_btnLimitChargeAddUp.m_loaTitle.url = "ui://DailyWelfare/hdbn_wz_xslc_" + openCfg.res;
-            }
+            _limitChargeInfo = ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLC);
+            _ui.m_comList.m_listLimitCharge.numItems = _limitChargeInfo.Count;
+            _ui.m_comList.m_listLimitCharge.ResizeToFit();
 
-            if (ActivityDataManager.Instance.actLimitChargeId > 0)
+            if (_limitChargeInfo.Count > 0)
             {
                 Timers.inst.Add(1, 0, UpdateTime);
             }
@@ -97,22 +95,48 @@ namespace GFGGame
         {
             if (ActivityDataManager.Instance.actLimitChargeId > 0)
             {
-                ActivityInfo activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(ActivityDataManager.Instance.actLimitChargeId);
-                long curTime = TimeHelper.ServerNow();
-                long endTime = activityInfo.EndTime;
-                if (curTime < endTime)
+                for (int i = 0; i < _limitChargeInfo.Count; i++)
                 {
-                    _ui.m_comList.m_btnLimitChargeAddUp.m_txtTime.text = string.Format("剩余时间:{0}", TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime));
+                    ActivityInfo activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(_limitChargeInfo[i].ActivityId);
+                    long curTime = TimeHelper.ServerNow();
+                    long endTime = activityInfo.EndTime;
+                    if (curTime < endTime)
+                    {
+                        GTextField txtTime = _ui.m_comList.m_listLimitCharge.GetChildAt(i).asCom.GetChild("txtTime").asTextField;
+                        txtTime.text = string.Format("剩余时间:{0}", TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime));
+                    }
                 }
             }
         }
+        private void RenderListLimitChargeItem(int index, GObject obj)
+        {
+
+            // _ui.m_comList.m_btnLimitChargeAddUp.target.visible = ActivityDataManager.Instance.actLimitChargeId > 0;
+            UI_Button1 item = UI_Button1.Proxy(obj);
+            ActivityOpenCfg openCfg = ActivityOpenCfgArray.Instance.GetCfg(_limitChargeInfo[index].ActivityId);
+            item.m_c1.selectedIndex = 1;
+            item.m_c2.selectedIndex = 0;
+            if (ActivityDataManager.Instance.actLimitChargeId > 0)
+            {
+                item.m_loaIcon.url = "ui://DailyWelfare/hdbn_xslc_" + openCfg.res;
+                item.m_loaTitle.url = "ui://DailyWelfare/hdbn_wz_xslc_" + openCfg.res;
+            }
+            if (item.target.data == null)
+            {
+                item.target.onClick.Add(OnBtnLimitChargeAddUpClick);
+            }
+            item.target.data = _limitChargeInfo[index].ActivityId;
+            UI_Button1.ProxyEnd();
+        }
         private void OnBtnBackClick()
         {
             ViewManager.GoBackFrom(typeof(DailyWelfareView).FullName);
         }
-        private void OnBtnLimitChargeAddUpClick()
+        private void OnBtnLimitChargeAddUpClick(EventContext context)
         {
-            ViewManager.Show<LimitChargeView>(null, new object[] { typeof(DailyWelfareView).FullName, this.viewData });
+            GObject gObject = context.sender as GObject;
+
+            ViewManager.Show<LimitChargeView>(new object[] { gObject.data }, new object[] { typeof(DailyWelfareView).FullName, this.viewData });
         }
         private void OnBtnSevenDayLoginClick()
         {
@@ -128,7 +152,11 @@ namespace GFGGame
         }
         private void UpdateRedDot()
         {
-            RedDotController.Instance.SetComRedDot(_ui.m_comList.m_btnLimitChargeAddUp.target, RedDotDataManager.Instance.GetLimiteChargeRewardRed(), "", -40);
+            for (int i = 0; i < _limitChargeInfo.Count; i++)
+            {
+                GComponent item = _ui.m_comList.m_listLimitCharge.GetChildAt(i).asCom;
+                RedDotController.Instance.SetComRedDot(item, RedDotDataManager.Instance.GetLimiteChargeRewardRed(_limitChargeInfo[i].ActivityId), "", -40);
+            }
             RedDotController.Instance.SetComRedDot(_ui.m_comList.m_btnSevenDayLogin.target, RedDotDataManager.Instance.GetSevenDayLoginRed(), "", -40);
             RedDotController.Instance.SetComRedDot(_ui.m_comList.m_btnSign.target, RedDotDataManager.Instance.DailySignRed(), "", -40);
             RedDotController.Instance.SetComRedDot(_ui.m_comList.m_btnSupply.target, RedDotDataManager.Instance.DailySupplyRed(), "", -40);

+ 6 - 10
GameClient/Assets/Game/HotUpdate/Views/DailyWelfare/LimitChargeView.cs

@@ -12,7 +12,7 @@ namespace GFGGame
     {
         private UI_LimitChargeUI _ui;
         private List<ActivityRechargeCfg> _rechargeCfgs;
-
+        private int _activityId = 0;
         private ActivityInfo _activityInfo;
 
         public override void Dispose()
@@ -37,9 +37,6 @@ namespace GFGGame
 
             _ui.m_btnBack.onClick.Add(OnBtnBackClick);
             _ui.m_btnCharge.onClick.Add(OnBtnChargeClick);
-            ActivityOpenCfg openCfg = ActivityOpenCfgArray.Instance.GetCfg(ActivityDataManager.Instance.actLimitChargeId);
-            // _ui.m_loaBg.url = ResPathUtil.GetBgImgPath(openCfg.res);
-
         }
         protected override void AddEventListener()
         {
@@ -51,11 +48,10 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
-            _rechargeCfgs = ActivityRechargeCfgArray.Instance.GetCfgsByactivityId(ActivityDataManager.Instance.actLimitChargeId);
+            _activityId = (int)(this.viewData as object[])[0];
+            _rechargeCfgs = ActivityRechargeCfgArray.Instance.GetCfgsByactivityId(_activityId);
             UpdateView();
 
-            ActivityOpenCfg openCfg = ActivityOpenCfgArray.Instance.GetCfg(ActivityDataManager.Instance.actLimitChargeId);
-
             Timers.inst.Add(1, 0, UpdateTime);
 
         }
@@ -89,10 +85,10 @@ namespace GFGGame
 
         private void UpdateView()
         {
-            _activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(ActivityDataManager.Instance.actLimitChargeId);
+            _activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(_activityId);
             _rechargeCfgs = SoreCfg(_rechargeCfgs);
             _ui.m_list.numItems = _rechargeCfgs.Count;
-            ActivityOpenCfg openCfg = ActivityOpenCfgArray.Instance.GetCfg(ActivityDataManager.Instance.actLimitChargeId);
+            ActivityOpenCfg openCfg = ActivityOpenCfgArray.Instance.GetCfg(_activityId);
             _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("xslc_banner_" + openCfg.res);
         }
         private void RenderListItem(int index, GObject obj)
@@ -141,7 +137,7 @@ namespace GFGGame
         {
             GObject obj = context.sender as GObject;
             int id = (int)obj.data;
-            ActivityGlobalSProxy.ReqGetActivityBonus(ActivityDataManager.Instance.actLimitChargeId, id).Coroutine();
+            ActivityGlobalSProxy.ReqGetActivityBonus(_activityId, id).Coroutine();
         }
         private List<ActivityRechargeCfg> SoreCfg(List<ActivityRechargeCfg> rechargeCfgs)
         {

+ 9 - 3
GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs

@@ -947,14 +947,20 @@ namespace GFGGame
             {
                 item.m_loaRes.onClick.Add(OnBtnAdJump);
             }
-            item.m_loaRes.data = _adIds[index].jumpId;
+            item.m_loaRes.data = _adIds[index];
 
             UI_ListAdItem.ProxyEnd();
         }
         private void OnBtnAdJump(EventContext context)
         {
-            string jumpId = (context.sender as GObject).data.ToString();
-            ViewManager.Show($"GFGGame.{jumpId}");
+            GObject obj = context.sender as GObject;
+            AdCfg adCfg = obj.data as AdCfg;
+            object[] param = null;
+            if (adCfg.jumpId == nameof(LimitChargeView))
+            {
+                param = new object[] { adCfg.activityId };
+            }
+            ViewManager.Show($"GFGGame.{adCfg.jumpId}", param);
         }
         private void OnListAdScrollEnd()
         {

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


BIN
GameClient/Assets/ResIn/UI/DailyWelfare/DailyWelfare_fui.bytes