From 71145f55a91c00ce99dbb940cca39514df8bc01a Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 14 一月 2020 18:50:26 +0800
Subject: [PATCH] 0312 调整活跃放置,增加日常红点

---
 System/OpenServerActivity/BossFirstBloodWin.cs |    2 
 System/DailyQuest/ActivityPlaceWin.cs          |  100 ++++++++++++++++++++++++++++++++++++++++---------
 System/DailyQuest/DailyQuestModel.cs           |   14 +++++++
 3 files changed, 96 insertions(+), 20 deletions(-)

diff --git a/System/DailyQuest/ActivityPlaceWin.cs b/System/DailyQuest/ActivityPlaceWin.cs
index fbbba0f..744aed6 100644
--- a/System/DailyQuest/ActivityPlaceWin.cs
+++ b/System/DailyQuest/ActivityPlaceWin.cs
@@ -16,6 +16,7 @@
     {
         [SerializeField] Button m_Close;
         [SerializeField] Text m_Finding;
+        [SerializeField] Transform m_FindTrans;
         [SerializeField] Text m_DownTime;
         [SerializeField] Button FinishNow;
         [SerializeField] RawImage m_RawRole;
@@ -29,6 +30,8 @@
         int m_itemID = 0;
         int m_Money = 0;
         int OneTimes = 0;
+        int maxCnt = 0;
+        int useActivity = 0;
         int ButtonModel = 0; //涓変釜鐘舵�� 0. 寮�濮嬫帰绱紝1.缁х画鎺㈢储  2. 棰嗗彇X娆″鍔�
         DailyQuestModel dailyModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
         PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
@@ -36,9 +39,10 @@
         #region Built-in
         protected override void BindController()
         {
-            OneTimes = int.Parse(FuncConfigConfig.Get("ActivityPlace").Numerical3);
-
-            var configNum1 = FuncConfigConfig.Get("ActivityPlace").Numerical5;
+            OneTimes = int.Parse(FuncConfigConfig.Get("ActivityPlace").Numerical3); //鍗曟鏀剧疆鎺㈢储鏃堕棿
+            useActivity = int.Parse(FuncConfigConfig.Get("ActivityPlace").Numerical2); //鍗曟娑堣�楁椿璺冪偣
+            maxCnt = int.Parse(FuncConfigConfig.Get("ActivityPlace").Numerical4); //鏈�澶у鍔辩疮璁℃鏁�
+            var configNum1 = FuncConfigConfig.Get("ActivityPlace").Numerical5; // 蹇�熷畬鎴愭秷鑰�
             var _jsonDataC = LitJson.JsonMapper.ToObject(configNum1);
             m_itemID = int.Parse(_jsonDataC[0].ToString());
             m_Money = int.Parse(_jsonDataC[1].ToString());
@@ -68,6 +72,8 @@
             Display();
         }
 
+
+
         private void OnRefreshItemCell(ScrollerDataType type, CellView cell)
         {
             switch (type)
@@ -83,22 +89,49 @@
                     break;
             }
         }
+
+        //IEnumerator PlayAnimate()
+        //{
+        //    List<int> valueList = new List<int> { 1, 10, 11, 12, 13};
+        //    int i = 0;
+        //    while (true)
+        //    {
+        //        if (i >= valueList.Count)
+        //        {
+        //            i = 0;
+        //        }
+        //        if (UI3DModelExhibition.Instance.playerModel != null)
+        //        {
+        //            UI3DModelExhibition.Instance.playerModel.Play(valueList[0]);
+        //        }
+        //        i++;
+        //        yield return new WaitForSeconds(1);
+        //    }
+        //}
+
         private void Display()
         {
+            UI3DModelExhibition.Instance.ShowPlayer(m_RawRole, PlayerDatas.Instance.baseData.Job);
+            if (UI3DModelExhibition.Instance.playerModel != null)
+            {
+                UI3DModelExhibition.Instance.playerModel.SitDown();
+            }
             var remindCount = dailyModel.ActivityPlaceInfo.PlaceCount;
             if (remindCount == 0)
             {
-                m_DownTime.gameObject.SetActive(false);
-                m_Finding.text = string.Empty;
+                m_FindTrans.gameObject.SetActive(false);
                 ShowMainButton(0);
                 NoItem.gameObject.SetActive(true);
                 m_Scroller.gameObject.SetActive(false);
+
             }
             else
             {
-                m_DownTime.gameObject.SetActive(true);
+                m_FindTrans.gameObject.SetActive(true);
                 ShowDownTime();
                 m_Finding.text = Language.Get("ActivityPlaceFinding", dailyModel.ActivityPlaceInfo.PlaceCount);
+                m_RawRole.gameObject.SetActive(true);
+
             }
 
             if (dailyModel.ActivityPlaceInfo.RewardCount <= 0)
@@ -139,21 +172,53 @@
             {
                 case 0:
                     m_ButtonText.text = Language.Get("ActivityPlaceFinding1");
-                    m_Button.SetListener(()=> {
-                        var send = new CB027_tagCMActivityPlaceStart();
-                        GameNetSystem.Instance.SendInfo(send);
+                    m_Button.SetListener(() => {
+                        if (dailyModel.usableActivePoint < useActivity)
+                        {
+                            SysNotifyMgr.Instance.ShowTip("DailyquestNothingToGet");
+                            return;
+                        }
+                        int findCnt = Math.Min(dailyModel.usableActivePoint / useActivity, maxCnt - dailyModel.ActivityPlaceInfo.RewardCount - dailyModel.ActivityPlaceInfo.PlaceCount);
+                        ConfirmCancel.ShowPopConfirm(
+                            Language.Get("Mail101"),
+                            Language.Get("ActivityPlaceFinding2", findCnt * useActivity, findCnt),
+                            (bool _ok) =>
+                            {
+                                if (_ok)
+                                {
+                                    var send = new CB027_tagCMActivityPlaceStart();
+                                    GameNetSystem.Instance.SendInfo(send);
+                                }
+                            }
+                            );
                     });
+
                     break;
                 case 1:
                     m_ButtonText.text = Language.Get("ActivityPlaceFinding3");
                     m_Button.SetListener(() => {
-                        var send = new CB027_tagCMActivityPlaceStart();
-                        GameNetSystem.Instance.SendInfo(send);
-                        WindowCenter.Instance.Close<ActivityPlaceWin>();
+                        if (dailyModel.usableActivePoint < useActivity)
+                        {
+                            SysNotifyMgr.Instance.ShowTip("DailyquestNothingToGet");
+                            return;
+                        }
+                        int findCnt = Math.Min(dailyModel.usableActivePoint / useActivity, maxCnt - dailyModel.ActivityPlaceInfo.RewardCount - dailyModel.ActivityPlaceInfo.PlaceCount);
+                        ConfirmCancel.ShowPopConfirm(
+                            Language.Get("Mail101"),
+                            Language.Get("ActivityPlaceFinding2", findCnt * useActivity, findCnt),
+                            (bool _ok) =>
+                            {
+                                if (_ok)
+                                {
+                                    var send = new CB027_tagCMActivityPlaceStart();
+                                    GameNetSystem.Instance.SendInfo(send);
+                                }
+                            }
+                            );
                     });
                     break;
                 case 2:
-                    m_ButtonText.text = Language.Get("ActivityPlaceFinding4", dailyModel.ActivityPlaceInfo.RewardCount);
+                    m_ButtonText.text = Language.Get("TaskBoxWin_BtnGetReward_Text_1");
                     m_Button.SetListener(() => {
                         CA504_tagCMPlayerGetReward getReward = new CA504_tagCMPlayerGetReward();
                         getReward.RewardType = (byte)GotServerRewardType.Def_RewardType_ActivityPlace;
@@ -170,18 +235,14 @@
 
         private void ShowFindCountSys()
         {
-            int useActivity = int.Parse(FuncConfigConfig.Get("ActivityPlace").Numerical2); //鍗曟娑堣�楁椿璺冪偣
-            int maxCnt = int.Parse(FuncConfigConfig.Get("ActivityPlace").Numerical4);
-            int findCnt = Math.Min(dailyModel.usableActivePoint / useActivity, maxCnt - dailyModel.ActivityPlaceInfo.RewardCount - dailyModel.ActivityPlaceInfo.PlaceCount);
-
             switch (ButtonModel)
             {
                 case 0:
                 case 1:
-                    FindCountSys.text = Language.Get("ActivityPlaceFinding2", findCnt* useActivity, findCnt);
+                    FindCountSys.text = Language.Get("ActivityPlaceFinding5", useActivity);
                     break;
                 case 2:
-                    FindCountSys.text = string.Empty;
+                    FindCountSys.text = Language.Get("ActivityPlaceFinding6", dailyModel.ActivityPlaceInfo.RewardCount);
                     break;
             }
         }
@@ -214,6 +275,7 @@
             dailyModel.ActivityPlaceInfoEvent -= Display;
             m_Scroller.OnRefreshCell -= OnRefreshItemCell;
             dailyModel.usableActivePointUpdateEvent -= ShowFindCountSys;
+            UI3DModelExhibition.Instance.StopShow();
         }
 
         protected override void OnAfterClose()
diff --git a/System/DailyQuest/DailyQuestModel.cs b/System/DailyQuest/DailyQuestModel.cs
index a2f83d8..bda7ed7 100644
--- a/System/DailyQuest/DailyQuestModel.cs
+++ b/System/DailyQuest/DailyQuestModel.cs
@@ -70,6 +70,9 @@
             }
         }
 
+        int useActivity = 0; //鍗曟鎺㈢储鐨勬椿璺冩秷鑰�
+
+        // 鍙娇鐢ㄧ殑娲昏穬鐐�
         int m_UsableActivePoint = 0;
         public int usableActivePoint {
             get { return m_UsableActivePoint; }
@@ -82,6 +85,8 @@
                     {
                         usableActivePointUpdateEvent();
                     }
+                    if (useActivity > 0)
+                        UpdateDailyActionRedpoint((int)DailyQuestType.ActivityPlace);
                 }
             }
         }
@@ -155,6 +160,8 @@
             allianceBossModel.allianceBossStateRefresh += AllianceBossStateRefresh;
             RedpointCenter.Instance.redpointValueChangeEvent += RedpointValueChangeEvent;
             TaskModel.Event_FairyAuTask += OnFairyTaskRefresh;
+
+            //ActivityPlaceInfoEvent usableActivePointUpdateEvent
         }
 
         public override void UnInit()
@@ -865,6 +872,10 @@
                         dailyQuest.redpoint.state = hazyRegionModel.redpoint.state;
                         break;
                     case DailyQuestType.ActivityPlace:
+                        if (usableActivePoint >= useActivity || ActivityPlaceInfo.RewardCount > 0)
+                            dailyQuest.redpoint.state = RedPointState.Simple;
+                        else
+                            dailyQuest.redpoint.state = RedPointState.None;
                         break;
                     case DailyQuestType.SkyTower:
                         var state = RedPointState.None;
@@ -1771,6 +1782,8 @@
 
             var allRewardKeys = DailyLivenessRewardConfig.GetKeys();
             m_DailyQuestTotalActiveValue = DailyLivenessRewardConfig.Get(allRewardKeys[allRewardKeys.Count - 1]).Liveness;
+
+            useActivity = int.Parse(FuncConfigConfig.Get("ActivityPlace").Numerical2); //鍗曟娑堣�楁椿璺冪偣
         }
 
         public enum DailyQuestCategory
@@ -1793,6 +1806,7 @@
         public void OnActivityPlaceInfo(HB027_tagMCActivityPlaceInfo pack)
         {
             ActivityPlaceInfo = pack;
+            UpdateDailyActionRedpoint((int)DailyQuestType.ActivityPlace);
             if (ActivityPlaceInfoEvent != null)
                 ActivityPlaceInfoEvent();
         }
diff --git a/System/OpenServerActivity/BossFirstBloodWin.cs b/System/OpenServerActivity/BossFirstBloodWin.cs
index 17f62fe..e9aa0c5 100644
--- a/System/OpenServerActivity/BossFirstBloodWin.cs
+++ b/System/OpenServerActivity/BossFirstBloodWin.cs
@@ -336,7 +336,7 @@
         {
             m_BossCtrl.OnRefreshCell -= OnRefreshCell;
             model.UpdatePersonnalKillEvent -= ShowKillInfo;
-
+            UI3DModelExhibition.Instance.StopShow();
         }
 
         protected override void OnPreOpen()

--
Gitblit v1.8.0