Просмотр исходного кода

精英关卡添加限制次数,限购id50

zhangyuqian 1 год назад
Родитель
Сommit
300901dbed

+ 7 - 0
GameClient/Assets/Game/HotUpdate/Data/InstanceZonesDataManager.cs

@@ -402,6 +402,13 @@ namespace GFGGame
                 RoleLimitData limitData = RoleLimitDataManager.GetLimitData(activityFightCfg.limit);
                 times = limitData.TotalPlayMax - limitData.PlayTimes;
             }
+            else if(type == 1 && subType == 1)
+            {
+                //精英关卡特殊处理
+                RoleLimitData limitData = RoleLimitDataManager.GetLimitData(50);
+                times = limitData.TotalPlayMax - limitData.PlayTimes;
+                times = Math.Min(times, 10);
+            }
             title = string.Format("挑战{0}次", NumberUtil.GetChiniseNumberText(times));
         }
         public static void GetTotalProgress(out int count, out int totalCount)

+ 8 - 1
GameClient/Assets/Game/HotUpdate/ServerProxy/ActivitySProxy.cs

@@ -386,7 +386,14 @@ namespace GFGGame
             S2C_GetDataRecord response = (S2C_GetDataRecord)await MessageHelper.SendToServer(new C2S_GetDataRecord() { });
             for (int i = 0; i < response.AllKs.Count; i++)
             {
-                ActivityDataManager.Instance.TipsStatusDic.Add(response.AllKs[i], response.AllVs[i]);
+                if(ActivityDataManager.Instance.TipsStatusDic.ContainsKey(response.AllKs[i]))
+                {
+                    ActivityDataManager.Instance.TipsStatusDic[response.AllKs[i]] = response.AllVs[i];
+                }
+                else
+                {
+                    ActivityDataManager.Instance.TipsStatusDic.Add(response.AllKs[i], response.AllVs[i]);
+                }
             }
         }
     }

+ 3 - 0
GameClient/Assets/Game/HotUpdate/Views/ActivityAfternoonTea/ActivityTeaMainView.cs

@@ -48,6 +48,9 @@ namespace GFGGame
             base.OnShown();
             _ui.m_Bg.url = ResPathUtil.GetBgImgPath("gfxwc_zymbj");
             _ui.m_BgOne.url = ResPathUtil.GetBgImgPath("gfxwc_zjmlp");
+            _ui.m_oneTimeIcon.visible = false;
+            _ui.m_threeTimeIcon.visible = false;
+            _ui.m_twoTimeIcon.visible = false;
             RedDotController.Instance.SetComRedDot(_ui.m_twoViewIcon, ActivityTeaDataManager.Instance.GetRewardRed()|| ActivityTeaDataManager.Instance.CheckVisitTaskRed());
             RedDotController.Instance.SetComRedDot(_ui.m_oneViewIcon, ActivityTeaDataManager.Instance.CheckHRDRed(),"",-85);
             RedDotController.Instance.SetComRedDot(_ui.m_threeViewIcon, ActivityTeaDataManager.Instance.GetActivitySyntheticRed(),"",-85);

+ 42 - 1
GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/ZCJBBuyTipsView.cs

@@ -33,7 +33,7 @@ namespace GFGGame
 
             _ui.m_btnRight.onClick.Add(OnClickBtnSure);
             _ui.m_btnLeft.onClick.Add(OnClickBtnCancel);
-            _ui.m_graphBg.onClick.Add(OnClickBtnCancel);
+            _ui.m_graph.onClick.Add(OnClickBtnCancel);
         }
 
         protected override void OnShown()
@@ -59,6 +59,8 @@ namespace GFGGame
         {
             _ui.m_txtContent.text = Desc;
             _ui.m_txtTips.text = "(购买的次数请及时使用,次日5:00重置)";
+            _ui.m_txtNumTips.text = string.Format("今日购买次数:{0}/{1}", RoleLimitDataManager.GetLimitData(limitID).BuyTimes, LimitCfgArray.Instance.GetCfg(limitID).buyNum);
+            UpdateDesc();
         }
 
         private void OnClickBtnSure()
@@ -71,8 +73,47 @@ namespace GFGGame
             {
                 return;
             }
+            UpdateDesc();
             PromptController.Instance.ShowFloatTextPrompt("次数+1");
         }
+        private void UpdateDesc()
+        {
+            LimitCfg limitcfg = LimitCfgArray.Instance.GetCfg(limitID);
+            int buyCount = RoleLimitDataManager.GetLimitData(limitID).BuyTimes; 
+            int costNum = 0;
+            if(limitcfg.moneyBuyTimesArr.Length>0)
+            {
+                for(int i=0;i< limitcfg.moneyBuyTimesArr.Length;i++)
+                {
+                    int t = buyCount - limitcfg.moneyBuyTimesArr[i];
+                    if(t<0)
+                    {
+                        costNum = limitcfg.moneyNumArr[i-1];
+                        break;
+                    }
+                    else
+                    {
+                        if (i == limitcfg.moneyBuyTimesArr.Length - 1)
+                        {
+                            costNum = limitcfg.moneyNumArr[i];
+                            break;
+                        }
+                        else
+                        {
+                            costNum = limitcfg.itemNum;
+                        }
+                    }
+                }
+            }
+            else
+            {
+                costNum = LimitCfgArray.Instance.GetCfg(limitID).moneyNumArr[0];
+            }
+            string name = ItemCfgArray.Instance.GetCfg(LimitCfgArray.Instance.GetCfg(limitID).moneyId).name;
+            string desc = string.Format("是否花费{0}{1}购买{2}次过关次数?", costNum, name, 1);
+            _ui.m_txtNumTips.text = string.Format("今日购买次数:{0}/{1}", RoleLimitDataManager.GetLimitData(limitID).BuyTimes, LimitCfgArray.Instance.GetCfg(limitID).buyNum);
+            _ui.m_txtContent.text = desc;
+        }
 
         private void OnClickBtnCancel()
         {

+ 10 - 11
GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/ZGTHgiftDCTipsView.cs

@@ -16,7 +16,10 @@ namespace GFGGame
         private int indexSuit = 0;
         private int giftItemId = 0;
         private int giftShopId = 0;
-
+        //创角时间
+        private long second_CreateRole = GameGlobal.zoneScene.GetComponent<RoleInfosComponent>().GetCurrentRole().CreateTime;
+        //折扣时间两天(豪秒)
+        private long saleSecondNum = 172800000;
         public override void Dispose()
         {
 
@@ -63,15 +66,12 @@ namespace GFGGame
             zgthdcListCfg = EverydaySaleCfgArray.Instance.GetCfgsByactivityId(6001);
             indexSuit = ReturnDiscountTimeSuitIndex();
             UpdateView();
-
             var activityInfo = zgthdcListCfg[indexSuit];
-            long endTime = 0;
             if (activityInfo != null)
             {
-                endTime = TimeUtil.DateTimeToTimestamp(activityInfo.endTime);
+                long timeSale = (second_CreateRole + (saleSecondNum * activityInfo.id)) - TimeHelper.ServerNow();
+                _ui.m_timeText.text = TimeUtil.FormattingTimeTo_DDHHmm(timeSale);
             }
-            var leftTime = endTime - TimeHelper.ServerNow();
-            _ui.m_timeText.text = TimeUtil.FormattingTimeTo_DDHHmm((int)leftTime);
 
             Timers.inst.Add(1, 0, UpdateTime);
         }
@@ -174,20 +174,19 @@ namespace GFGGame
         private void UpdateTime(object param)
         {
             var activityInfo = zgthdcListCfg[indexSuit];
-            long endTime = 0;
+            long timeSale = 0;
             if (activityInfo != null)
             {
-                endTime = TimeUtil.DateTimeToTimestamp(activityInfo.endTime);
+                timeSale = (second_CreateRole + (saleSecondNum * activityInfo.id)) - TimeHelper.ServerNow();   
             }
-            var leftTime = endTime - TimeHelper.ServerNow();
-            if (leftTime <= 0)
+            if (timeSale <= 0)
             {
                 _ui.m_timeText.text = "";
                 _ui.m_btnCharge.visible = false;
                 Timers.inst.Remove(UpdateTime);
                 return;
             }
-            _ui.m_timeText.text = TimeUtil.FormattingTimeTo_DDHHmm((int)leftTime);
+            _ui.m_timeText.text = TimeUtil.FormattingTimeTo_DDHHmm(timeSale);
         }
     }
 }

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxVideoView.cs

@@ -119,6 +119,7 @@ namespace GFGGame
             StopAllCoroutines();
             videoPlayer.Stop();
             videoPlayer.loopPointReached -= OnVideoEnded;
+            MusicManager.Instance.PlayCroutine(ResPathUtil.GetMusicPath(ConstMusicName.DEFAULT));
             handle.Release();
             handle = null;
             videoHandle.Release();

+ 36 - 6
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryLevelInfoView.cs

@@ -221,6 +221,17 @@ namespace GFGGame
                 UpdateVisitNum();
                 UI_ComCostCurrency.ProxyEnd();
             }
+            else if(levelCfg.subType == 1 && levelCfg.type == 1)
+            {
+                _ui.m_ctrlNeed.selectedIndex = 0;
+                EventAgent.AddEventListener(ConstMessage.NOTICE_LIMIT_CHANGED, UpdateVisitNum);
+                _ui.m_comCostCurrent.visible = true;
+                _ui.m_btnBg.url = "ui://Main/zx_jq_dituditu";
+                UI_ComCostCurrency com = UI_ComCostCurrency.Proxy(_ui.m_comCostCurrent);
+                com.m_c1.selectedIndex = 2;
+                UpdateVisitNum();
+                UI_ComCostCurrency.ProxyEnd();
+            }
             else
             {
                 _ui.m_btnBg.url = "ui://Main/zx_jq_dituditu";
@@ -357,17 +368,36 @@ namespace GFGGame
         private void UpdateVisitNum()
         {
             UI_ComCostCurrency com = UI_ComCostCurrency.Proxy(_ui.m_comCostCurrent);
-            RoleLimitData limitData = RoleLimitDataManager.GetLimitData(ActivityFightCfgArray.Instance.GetCfg(61001).limit);
+            RoleLimitData limitData;
+            int limitID;
+            if (_type == 1 && _storyType == 1)
+            {
+                limitData = RoleLimitDataManager.GetLimitData(50);
+                limitID = 50;
+            }
+            else
+            {
+                limitData = RoleLimitDataManager.GetLimitData(ActivityFightCfgArray.Instance.GetCfg(61001).limit);
+                limitID = ActivityFightCfgArray.Instance.GetCfg(61001).limit;
+            }
             int time = limitData.TotalPlayMax - limitData.PlayTimes;
             com.m_limitNum.text = "今日免费次数:" + time + "/" + limitData.MaxStorageCount;
-            com.m_addBtn.onClick.Add(OnClickAddBtn);
+            if(com.m_addBtn.data == null)
+            {
+                com.m_addBtn.onClick.Add(OnClickAddBtn);
+            }
+
+            com.m_addBtn.data = limitID;
             UI_ComCostCurrency.ProxyEnd();
         }
-        private void OnClickAddBtn()
+        private void OnClickAddBtn(EventContext context)
         {
-            string name = ItemCfgArray.Instance.GetCfg(LimitCfgArray.Instance.GetCfg(500).moneyId).name;
-            string desc = string.Format("是否花费{0}{1}购买{2}次过关次数?", LimitCfgArray.Instance.GetCfg(500).moneyNumArr[0],name, 1);
-            ViewManager.Show<ZCJBBuyTipsView>(new object[] { desc,500 });
+            // GObject obj, int type
+            GObject sender = context.sender as GObject;
+            int id = (int)sender.data;
+            string name = ItemCfgArray.Instance.GetCfg(LimitCfgArray.Instance.GetCfg(id).moneyId).name;
+            string desc = string.Format("是否花费{0}{1}购买{2}次过关次数?", LimitCfgArray.Instance.GetCfg(id).moneyNumArr[0],name, 1);
+            ViewManager.Show<ZCJBBuyTipsView>(new object[] { desc, id });
         }
         //******************//
         private void CheckGuide(object param)

+ 54 - 22
GameClient/Assets/Game/HotUpdate/Views/Store/StoreZGDCView.cs

@@ -20,6 +20,12 @@ namespace GFGGame
         private int muem2;
         private List<int> listIndex = new List<int>();
         private List<EffectUI> _effectUIs = new List<EffectUI>();
+
+        //创角时间
+        private long day_CreateRole = 0;
+        private long second_CreateRole = 0;
+        //折扣时间两天(豪秒)
+        private long saleSecondNum = 172800000;
         public override void Dispose()
         {
             if (_valueBarController != null)
@@ -71,6 +77,9 @@ namespace GFGGame
             base.OnShown();
             _valueBarController.OnShown();
             muem2 = (int)this.viewData;
+            long time = GameGlobal.zoneScene.GetComponent<RoleInfosComponent>().GetCurrentRole().CreateTime;
+            second_CreateRole = time;
+            day_CreateRole = TimeUtil.DaysDifference(TimeHelper.ServerNow() / 1000, time / 1000);
             AddgiftBagID();
             ReturnDiscountTimeSuitIndex();
             UpdateView();
@@ -107,7 +116,7 @@ namespace GFGGame
             ClearItemEff();
             _shopCfgs = ShopCfgArray.Instance.GetCfgsBymenu1Andmenu2(102, muem2);
             _shopCfgs = ShopDataManager.Instance.RemoveNotOpenCfg(_shopCfgs);
-            _shopCfgs = ShopDataManager.Instance.RemoveNotSaleCfg(_shopCfgs);
+            _shopCfgs = SortSaleCfg();
             _shopCfgs = ShopDataManager.Instance.SortShopGoodsCfgs(_shopCfgs);
             //UpdateShopCfg();
             _ui.m_suitList.numItems = giftBagList.Count;
@@ -216,7 +225,7 @@ namespace GFGGame
             item.m_suitIcon.url = string.Format("ui://Store/{0}", suitCfg.res);
             item.m_txtName.text = suitCfg.name;
             ////判断是否在折扣时间内,是否显示
-            if (IsDisountTime(EverydaySaleCfgArray.Instance.dataArray[index]))
+            if (!IsDisountTime(EverydaySaleCfgArray.Instance.dataArray[index]))
             {
                 //不在
                 item.m_DiscountGroud.visible = false;
@@ -231,17 +240,19 @@ namespace GFGGame
                 item.m_DiscountGroud.visible = true;
                 item.m_timeText.visible = true;
                 long endTime;
-                if (EverydaySaleCfgArray.Instance.dataArray[index].endTime == "" || EverydaySaleCfgArray.Instance.dataArray[index].endTime == null)
+                if (EverydaySaleCfgArray.Instance.dataArray[index].activityId == 6002)
                 {
                     var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(EverydaySaleCfgArray.Instance.dataArray[index].activityId);
                     endTime = activityInfo.EndTime;
+                    var leftTime = endTime - TimeHelper.ServerNow();
+                    item.m_timeText.text = TimeUtil.FormattingTimeTo_DDHHmm(leftTime);
                 }
                 else
                 {
-                    endTime = TimeUtil.DateTimeToTimestamp(EverydaySaleCfgArray.Instance.dataArray[index].endTime);
+                    long timeSale = (second_CreateRole+(saleSecondNum*(index+1))) - TimeHelper.ServerNow();
+                    item.m_timeText.text = TimeUtil.FormattingTimeTo_DDHHmm(timeSale);
                 }
-                var leftTime = endTime - TimeHelper.ServerNow();
-                item.m_timeText.text = TimeUtil.FormattingTimeTo_DDHHmm(leftTime);
+
             }
             if(suitCfg.rarity == 5)
             {
@@ -299,43 +310,64 @@ namespace GFGGame
             itemIndex = itemIndex == _ui.m_suitList.numItems ? 0 : itemIndex;
             _ui.m_suitList.scrollPane.ScrollRight(0.8f, true);
         }
-        private int GetDiscountTimeID()
+        
+        public List<ShopCfg> SortSaleCfg()
         {
-            //判断当前indexSuit是否在折扣时间内,根据配置表返回不同的直购id
-            return 0;//activityInfo.StartTime <= TimeHelper.ServerNow() && activityInfo.EndTime > TimeHelper.ServerNow();
+            List<ShopCfg> shopCfgs = new List<ShopCfg>();
+            for (int i = 0; i < EverydaySaleCfgArray.Instance.dataArray.Length; i++)
+            {
+                ShopCfg shopcfg = ShopCfgArray.Instance.GetCfg(giftBagList[i]);
+                var item = EverydaySaleCfgArray.Instance.dataArray[i];
+                if (item.openTime == "" || item.openTime == null)
+                {
+                    shopCfgs.Add(shopcfg);
+                    break;
+                }
+                if (IsDisountTime(item) || day_CreateRole >= item.id*2)
+                {
+                    shopCfgs.Add(shopcfg);
+                }    
+            }
+            return shopCfgs;
         }
         private bool IsDisountTime(EverydaySaleCfg item)
         {
-            long endTime;
-            long startTime;
-            if(item.openTime == "" || item.openTime == null)
+            if(item.activityId == 6002 && item.openTime == "")
+            {
+                return ActivityGlobalDataManager.Instance.IsActivityOpen(item.activityId);
+            }
+            long second = TimeHelper.ServerNow() - second_CreateRole;
+            if (second < (saleSecondNum * item.id) && second >= (saleSecondNum*(item.id-1)))
+            {
+                return true;
+            }
+                return false;
+        }
+        private bool IsSaleTime(EverydaySaleCfg item)
+        {
+            if (item.activityId == 6002 && item.openTime == "")
             {
                 return !ActivityGlobalDataManager.Instance.IsActivityOpen(item.activityId);
             }
-            endTime = TimeUtil.DateTimeToTimestamp(item.endTime);
-            startTime = TimeUtil.DateTimeToTimestamp(item.openTime);
-            if (startTime <= TimeHelper.ServerNow() && endTime > TimeHelper.ServerNow())
+            long second = TimeHelper.ServerNow() - second_CreateRole;
+            if (second < (saleSecondNum * item.id) && second >= (saleSecondNum * (item.id - 1)))
             {
                 return false;
             }
-                return true;
+            return true;
         }
         private void ReturnDiscountTimeSuitIndex()
         {
             int count = 0;
-            long endTime;
-            long startTime;
             foreach (var item in EverydaySaleCfgArray.Instance.dataArray)
             {
-                if(item.openTime == "" || item.openTime == null)
+                if(item.activityId == 6002)
                 {
                     listIndex.Add(giftBagList[count]);
                     count++;
                     break;
                 }
-                endTime = TimeUtil.DateTimeToTimestamp(item.endTime);
-                startTime = TimeUtil.DateTimeToTimestamp(item.openTime);
-                if (startTime <= TimeHelper.ServerNow() && endTime > TimeHelper.ServerNow())
+                if (IsDisountTime(item))
                 {
                     listIndex.Add(giftBagList[count]);
                 }