zhangyuqian пре 1 година
родитељ
комит
84827b249e

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

@@ -24,9 +24,9 @@ namespace Assets.Game.HotUpdate.Data
                    activityInfo.EndTime > TimeHelper.ServerNow();
         }
 
-        public long GetEndTime()
+        public long GetEndTime(int id)
         {
-            var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.TEA);
+            var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(id);
             return activityInfo.EndTime;
         }
     }

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAfternoonTea/UI_ActivityTeaVisitUI.cs

@@ -8,6 +8,7 @@ namespace UI.ActivityAfternoonTea
     {
         public GComponent target;
         public GLoader m_loaBg;
+        public GGraph m_effectBg;
         public GButton m_btnBack;
         public GTextField m_time;
         public GLoader m_ruleIcon;
@@ -62,6 +63,7 @@ namespace UI.ActivityAfternoonTea
         private void Init(GComponent comp)
         {
             m_loaBg = (GLoader)comp.GetChild("loaBg");
+            m_effectBg = (GGraph)comp.GetChild("effectBg");
             m_btnBack = (GButton)comp.GetChild("btnBack");
             m_time = (GTextField)comp.GetChild("time");
             m_ruleIcon = (GLoader)comp.GetChild("ruleIcon");
@@ -72,6 +74,7 @@ namespace UI.ActivityAfternoonTea
         public void Dispose(bool disposeTarget = false)
         {
             m_loaBg = null;
+            m_effectBg = null;
             m_btnBack = null;
             m_time = null;
             m_ruleIcon = null;

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAfternoonTea/UI_ActivityVIsitRewardItemUI.cs

@@ -8,6 +8,7 @@ namespace UI.ActivityAfternoonTea
     {
         public GComponent target;
         public Controller m_c1;
+        public Controller m_c2;
         public GTextField m_txtDesc;
         public GList m_listTaskReward;
         public GTextField m_txtCount;
@@ -62,6 +63,7 @@ namespace UI.ActivityAfternoonTea
         private void Init(GComponent comp)
         {
             m_c1 = comp.GetController("c1");
+            m_c2 = comp.GetController("c2");
             m_txtDesc = (GTextField)comp.GetChild("txtDesc");
             m_listTaskReward = (GList)comp.GetChild("listTaskReward");
             m_txtCount = (GTextField)comp.GetChild("txtCount");
@@ -72,6 +74,7 @@ namespace UI.ActivityAfternoonTea
         public void Dispose(bool disposeTarget = false)
         {
             m_c1 = null;
+            m_c2 = null;
             m_txtDesc = null;
             m_listTaskReward = null;
             m_txtCount = null;

+ 21 - 0
GameClient/Assets/Game/HotUpdate/Views/ActivityAfternoonTea/ActivityTeaVisitView.cs

@@ -1,6 +1,9 @@
 using UnityEngine;
 using FairyGUI;
 using UI.ActivityAfternoonTea;
+using System;
+using Assets.Game.HotUpdate.Data;
+using ET;
 
 namespace GFGGame
 {
@@ -8,8 +11,11 @@ namespace GFGGame
     {
         private UI_ActivityTeaVisitUI _ui;
         private int time;
+        private EffectUI _effectUI1;
         public override void Dispose()
         {
+            EffectUIPool.Recycle(_effectUI1);
+            _effectUI1 = null;
             if (_ui != null)
             {
                 _ui.Dispose();
@@ -37,6 +43,8 @@ namespace GFGGame
             _ui.m_visitNumTips.onClick.Add(RuleController.ShowRuleView);
             _ui.m_taskList.itemRenderer = RenderTaskList;
 
+            _effectUI1 = EffectUIPool.CreateEffectUI(_ui.m_effectBg, "ui_Activity", "XNBH_BG_tx");
+
         }
 
         protected override void OnShown()
@@ -50,10 +58,16 @@ namespace GFGGame
             RoleLimitData limitData = RoleLimitDataManager.GetLimitData(ActivityVisitCfgArray.Instance.dataArray[0].limitId);
             time = limitData.TotalPlayMax - limitData.PlayTimes;
             _ui.m_visitNum.text = "当前拜访次数:" + time + "/" + limitData.TotalPlayMax;
+
+            long timeActivity = ActivityTeaDataManager.Instance.GetEndTime(ActivityType.NewYearVisit) - TimeHelper.ServerNow();
+            _ui.m_time.text = timeActivity > TimeUtil.SECOND_PER_DAY * 1000 ? TimeUtil.FormattingTimeTo_DDHHmm(timeActivity) : TimeUtil.FormattingTimeTo_HHmmss(timeActivity);
+
+            Timers.inst.Add(60.0f, 0, UpdateTime);
         }
 
         protected override void OnHide()
         {
+            Timers.inst.Remove(UpdateTime);
             base.OnHide();
         }
 
@@ -62,6 +76,13 @@ namespace GFGGame
         {
             ViewManager.GoBackFrom(typeof(ActivityTeaVisitView).FullName);
         }
+        
+        private void UpdateTime(object param = null)
+        {
+            long timeActivity = ActivityTeaDataManager.Instance.GetEndTime(ActivityType.NewYearVisit) - TimeHelper.ServerNow();
+            _ui.m_time.text = timeActivity > TimeUtil.SECOND_PER_DAY * 1000 ? TimeUtil.FormattingTimeTo_DDHHmm(timeActivity) : TimeUtil.FormattingTimeTo_HHmmss(timeActivity);
+
+        }
 
         private void RenderTaskList(int index,GObject obj)
         {

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Views/ActivityAfternoonTea/ActivityVisitNpcView.cs

@@ -149,6 +149,7 @@ namespace GFGGame
             var tasks = (List<TaskCfg>)obj.parent.data;
             var taskCfg = tasks[index];
             item.m_c1.selectedIndex = TaskDataManager.Instance.GetTaskStateById(taskCfg.id);
+            item.m_c2.selectedIndex = taskCfg.jumpId == "" ? 1 : 0;
             item.m_txtDesc.text = TaskDataManager.Instance.GetTaskDesc(taskCfg.id);
             item.m_txtCount.text =
                 $"{TaskDataManager.Instance.GetTaskProgressById(taskCfg.id)}/{taskCfg.GetTargetCount()}";

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

@@ -664,7 +664,7 @@ namespace GFGGame
         {
             if (_ui.m_btnTea.target.visible)
             {
-                long time = ActivityTeaDataManager.Instance.GetEndTime() - TimeHelper.ServerNow();
+                long time = ActivityTeaDataManager.Instance.GetEndTime(ActivityType.TEA) - TimeHelper.ServerNow();
                 _ui.m_btnTea.m_txtTime.text = time > TimeUtil.SECOND_PER_DAY * 1000 ? TimeUtil.FormattingTimeTo_DDHHmm(time) : TimeUtil.FormattingTimeTo_HHmmss(time);
             }
             if (_ui.m_btnActivityDay7.target.visible)

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Views/MiniGame/Card.cs

@@ -38,8 +38,8 @@ public class Card : GButton
 
     public void Turn()
     {
-        //if (GTween.IsTweening(this))
-        //    return;
+        if (GTween.IsTweening(this))
+            return;
 
         bool toOpen = !_front.visible;
         GTween.To(0, 180, 0.5f).SetTarget(this).SetEase(EaseType.QuadOut).OnUpdate(TurnInTween).SetUserData(toOpen);

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Views/MiniGame/ChallengeRewardView.cs

@@ -97,7 +97,7 @@ namespace GFGGame
         {
             UI_ChallengeRewardItemUI item = UI_ChallengeRewardItemUI.Proxy(obj);
             int starNum = 3 - index;
-            item.m_rewardDesc.text = string.Format("{0}游戏首次{1}星通关",MiniGameArray.Instance.GetCfg(gameList[0]).typeName, starNum);
+            item.m_rewardDesc.text = string.Format("{0}首次{1}星通关",MiniGameArray.Instance.GetCfg(gameList[0]).typeName, starNum);
             item.m_rewardList.itemRenderer = RenditemReward;
             //var reward;
             item.m_getBtn.m_c1.selectedIndex = MiniGameDateManager.Instance.gameinfoList[0].StarRewardStatus[2 - index];
@@ -122,7 +122,7 @@ namespace GFGGame
         {
             UI_ChallengeRewardItemUI item = UI_ChallengeRewardItemUI.Proxy(obj);
             int starNum = 3 - index;
-            item.m_rewardDesc.text = string.Format("{0}游戏关卡{1}首次通关", MiniGameArray.Instance.GetCfg(gameList[2]).typeName,index+1);
+            item.m_rewardDesc.text = string.Format("{0}关卡{1}首次通关", MiniGameArray.Instance.GetCfg(gameList[2]).typeName,index+1);
             item.m_rewardList.itemRenderer = RenditemReward;
             //读表
             //var reward;

+ 48 - 17
GameClient/Assets/Game/HotUpdate/Views/MiniGame/FlipGameView.cs

@@ -58,6 +58,7 @@ namespace GFGGame
         private bool StartHit = true;
         private bool firstHit = true;
         private bool canHit = true;
+        List<Dictionary<string, int>> removeList = new List<Dictionary<string, int>>();
 
 
         private EffectUI _effectUI1;
@@ -120,7 +121,7 @@ namespace GFGGame
             Timers.inst.Remove(UpdateBar);
             Timers.inst.Remove(UpdateHit);
             Timers.inst.Remove(StartTime);
-            
+            Timers.inst.Remove(UpdateCard);
             base.OnHide();
 
         }
@@ -310,16 +311,11 @@ namespace GFGGame
 
             _ui.m_cardList.touchable = false;
             canHit = false;
-            UpdateCard();
-        }
-        //这里是处理已翻开的数量
-        private void UpdateCard()
-        {
-            Timers.inst.Remove(StartTime);
-            List<Dictionary<string, int>> removeList = new List<Dictionary<string, int>>();
-            for (int i = 1; i < cardList.Count; i+= 2)
+
+            removeList = new List<Dictionary<string, int>>();
+            for (int i = 1; i < cardList.Count; i += 2)
             {
-                if(cardList[i]["id"] == cardList[i-1]["id"])
+                if (cardList[i]["id"] == cardList[i - 1]["id"])
                 {
                     cardList[i]["state"] = 2;
                     //消除
@@ -327,30 +323,65 @@ namespace GFGGame
                     item1.m_t0.Play();
                     UI_cardItem.ProxyEnd();
 
-                    UI_cardItem item2 = UI_cardItem.Proxy(_ui.m_cardList.GetChildAt(cardList[i-1]["index"]));
+                    UI_cardItem item2 = UI_cardItem.Proxy(_ui.m_cardList.GetChildAt(cardList[i - 1]["index"]));
                     item2.m_t0.Play();
                     UI_cardItem.ProxyEnd();
 
                     currentCardNum -= 2;
-                    removeList.Add(cardList[i-1]);
+                    removeList.Add(cardList[i - 1]);
                     removeList.Add(cardList[i]);
                 }
             }
-            if(currentCardNum <= 0)
+            if (currentCardNum <= 0)
             {
                 Gameover(true);
                 return;
-            }     
+            }
             //先处理消除的列表
-            for(int i = 0;i<removeList.Count;i++)
+            for (int i = 0; i < removeList.Count; i++)
             {
                 cardList.Remove(removeList[i]);
             }
             removeList.Clear();
+
             //后处理翻牌的列表
-            for (int i = 1; i < cardList.Count; i++)
+            for (int i = 1; i < cardList.Count - 1; i++)
             {
 
+                UI_cardItem item = UI_cardItem.Proxy(_ui.m_cardList.GetChildAt(cardList[i - 1]["index"]));
+                //翻回去
+                Card card = (Card)item.m_card;
+                card.Turn();
+                item.m_flipEffect.visible = false;
+                cardList[i - 1]["state"] = 0;
+                UI_cardItem.ProxyEnd();
+                if (cardList.Count % 2 == 0 && i == cardList.Count - 1)
+                {
+                    UI_cardItem carditem = UI_cardItem.Proxy(_ui.m_cardList.GetChildAt(cardList[i]["index"]));
+                    //翻回去
+                    Card cardLast = (Card)carditem.m_card;
+                    cardLast.Turn();
+                    carditem.m_flipEffect.visible = false;
+                    cardList[i]["state"] = 0;
+                    UI_cardItem.ProxyEnd();
+                }
+            }
+
+            Timers.inst.Add(0.5f,1, UpdateCard);
+        }
+        //这里是处理已翻开的数量
+        private void UpdateCard(object param = null)
+        {
+            Timers.inst.Remove(StartTime);
+   
+
+            //后处理翻牌的列表
+            for (int i = cardList.Count - 1; i < cardList.Count; i++)
+            {
+                if( i-1 < 0)
+                {
+                    break;
+                }
                     UI_cardItem item = UI_cardItem.Proxy(_ui.m_cardList.GetChildAt(cardList[i - 1]["index"]));
                     //翻回去
                     Card card = (Card)item.m_card;
@@ -383,7 +414,7 @@ namespace GFGGame
                 }
             }
 
-            Timers.inst.Add(0.6f, 1, UpdateHit);
+            Timers.inst.Add(0.5f, 1, UpdateHit);
         }
         private void UpdateHit(object param = null)
         {

+ 2 - 4
GameClient/Assets/Game/HotUpdate/Views/MiniGame/TZFEGameCheckView.cs

@@ -97,14 +97,12 @@ namespace GFGGame
                 GameInfoProto t = MiniGameDateManager.Instance.gameinfoList[i];
                 if (t.GameType == type)
                 {
-                    _ui.m_gameLock1.visible = false;
-                    _ui.m_newGame1.visible = MiniGameDateManager.Instance.gameinfoList[i].PlayCount == 0 ? true : false;
-
                     j++;
                     switch (j)
                     {
                         case 1:
-
+                            _ui.m_gameLock1.visible = false;
+                            _ui.m_newGame1.visible = MiniGameDateManager.Instance.gameinfoList[i-1].PlayCount == 0 ? true : false;
                             break;
                         case 2:
                             _ui.m_gameLock2.visible = !MiniGameDateManager.Instance.gameinfoList[i-1].IsCleared;

BIN
GameClient/Assets/ResIn/UI/ActivityAfternoonTea/ActivityAfternoonTea_fui.bytes