From 333be95a8c982bfda2c4a41a0a8d78a14f6512ed Mon Sep 17 00:00:00 2001
From: client_Zxw <826696702@qq.com>
Date: 星期三, 13 二月 2019 15:12:27 +0800
Subject: [PATCH] 5314 子 【1.6】登录奖励活动

---
 System/OpenServerActivity/EntryInformationCell.cs |  175 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 166 insertions(+), 9 deletions(-)

diff --git a/System/OpenServerActivity/EntryInformationCell.cs b/System/OpenServerActivity/EntryInformationCell.cs
index facf3be..874d50f 100644
--- a/System/OpenServerActivity/EntryInformationCell.cs
+++ b/System/OpenServerActivity/EntryInformationCell.cs
@@ -5,6 +5,7 @@
 using UnityEngine;
 using System.Collections;
 using UnityEngine.UI;
+using TableConfig;
 
 namespace Snxxz.UI {
     [XLua.Hotfix]
@@ -12,19 +13,175 @@
         [SerializeField] ItemCell m_ItemCell;
         [SerializeField] Text m_Text1;
         [SerializeField] Text m_Text2;
-        [SerializeField] Button m_Button;
-        [SerializeField] Text m_ButtonText;
+        [SerializeField] Button m_Btn;
+        [SerializeField] Text m_BtnText;
+        [SerializeField] GameObject m_Miss;//閿欒繃
+        [SerializeField] GameObject m_Reach;//鏈揪鎴�
+        [SerializeField] GameObject m_Draw;//宸查鍙�
         LoginRewardModel m_LoginRewardModel;
-        LoginRewardModel loginRewardModel { get { return m_LoginRewardModel ?? (m_LoginRewardModel = ModelCenter.Instance.GetModel<LoginRewardModel>()); } }
-        public Button mButton
-        {
-            get { return m_Button; }
-            set { m_Button = value; }
-        }
-
+        LoginRewardModel loginRewardModel { get { return m_LoginRewardModel ?? (m_LoginRewardModel = ModelCenter.Instance.GetModel<LoginRewardModel>()); } }
+        ItemTipsModel m_itemTipsModel;
+        ItemTipsModel itemTipsModel { get { return m_itemTipsModel ?? (m_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>()); } }
         public void GetDisplayInformation(int id)
         {
+            var config = Config.Instance.Get<LoginRewardConfig>(id);
+            if (config == null)
+            {
+                DebugEx.LogError("鐧诲綍濂栧姳琛ㄦ病鏈夋ID"+id);
+                return;
+            }
+            if (!loginRewardModel.LoginAwardDic.ContainsKey(id))
+            {
+                DebugEx.LogError("鐧诲綍鏉$洰瀛楀吀鏌ユ棤娆D" + id);
+                return;
+            }
+            var LoginAward = loginRewardModel.LoginAwardDic[id];
+            int rewardNum = loginRewardModel.GetRewardNumber(loginRewardModel.SelectedNow, id);//宸查濂栨鏁�
+            int carryOutNum = loginRewardModel.GetCarryOutNum(loginRewardModel.SelectedNow, id);//宸插畬鎴愭鏁�
+            int number = LoginAward.TotalTimes / LoginAward.SingleTimes;
+            var RemainingNum = 0;
+            if (LoginAward.TotalTimes - rewardNum > 0)
+            {
+                RemainingNum = (LoginAward.TotalTimes - rewardNum) / LoginAward.SingleTimes;
+            }
+            if (LoginAward.TotalTimes - carryOutNum > 0 && RemainingNum > 0)
+            {
+                m_Text2.text = Language.Get("OSA_1", RemainingNum);
+            }
+            else
+            {
+                m_Text2.text = Language.Get("OSA_4");
+            }
+            if (LoginAward.WeekPartyItem.Length >= 0)
+            {
+                var Item = LoginAward.WeekPartyItem[0];
+                ItemCellModel cellModel = new ItemCellModel(Item.ItemID, true, (ulong)Item.ItemCnt, Item.IsBind);
+                m_ItemCell.Init(cellModel);
+                m_ItemCell.cellBtn.SetListener(() =>
+                {
+                    ItemAttrData attrData = new ItemAttrData(Item.ItemID, false, (ulong)Item.ItemCnt, -1, Item.IsBind);
+                    itemTipsModel.SetItemTipsModel(attrData);
+                });
+            }
+            bool IsOpenPreviewTime = OperationTimeHepler.Instance.SatisfyAdvanceCondition(Operation.LoginReward);
+            if (loginRewardModel.SelectedNow != loginRewardModel.DayNow || IsOpenPreviewTime)
+            {
+                if (loginRewardModel.SelectedNow > loginRewardModel.DayNow || IsOpenPreviewTime)//杩樻湭鍒拌揪鐨勫ぉ鏁�
+                {
+                    m_Btn.gameObject.SetActive(false);
+                    m_Miss.SetActive(false);
+                    m_Reach.SetActive(false);
+                    m_Draw.SetActive(false);
+                }
+                else//宸茶繃鐨勫ぉ鏁�
+                {
+                    int TaypeNumber = 0;
+                    if (carryOutNum - rewardNum > 0)
+                    {
+                        TaypeNumber = (carryOutNum - rewardNum) / LoginAward.SingleTimes;
+                    }
+                    if (TaypeNumber > 0)//鍙
+                    {
 
+                        //m_TextNumber.gameObject.SetActive(true);
+                        //m_TextNumber.text = SetText(ID);
+                        m_Btn.gameObject.SetActive(true);
+                        UIEffect uieffect = m_Btn.GetComponent<UIEffect>();
+                        uieffect.Play();
+                        m_BtnText.text = Language.Get("RealmPractice109");//棰嗗彇
+                        m_Miss.SetActive(false);
+                        m_Reach.SetActive(false);
+                        m_Draw.SetActive(false);
+                        m_Btn.SetListener(() =>
+                        {
+                            bool _bool = loginRewardModel.IsOpenFeatures();
+                            if (_bool)
+                            {
+                                loginRewardModel.SendLoginAwardInfo(loginRewardModel.SelectedNow, id);
+                            }
+                            else
+                            {
+                                SysNotifyMgr.Instance.ShowTip("SevenDayOver2");
+                            }
+                        });
+                    }
+                    else
+                    {
+                        if (rewardNum >= number)//宸茬粡棰嗗畬
+                        {
+                            m_Btn.gameObject.SetActive(false);
+                            m_Miss.SetActive(false);
+                            m_Reach.SetActive(false);
+                            m_Draw.SetActive(true);
+                        }
+                        else//鏈埌杈�
+                        {
+                            m_Btn.gameObject.SetActive(false);
+                            m_Miss.SetActive(false);
+                            m_Reach.SetActive(true);
+                            m_Draw.SetActive(false);
+                        }
+                    }
+                }
+            }
+            else
+            {
+                int TaypeNumber = 0;
+                if (carryOutNum - rewardNum > 0)
+                {
+                    TaypeNumber = (carryOutNum - rewardNum) / LoginAward.SingleTimes;
+                }
+                if (TaypeNumber > 0)//鍙
+                {
+                    //m_TextNumber.gameObject.SetActive(true);
+                    //m_TextNumber.text = SetText(ID);
+                    m_Btn.gameObject.SetActive(true);
+                    UIEffect uieffect = m_Btn.GetComponent<UIEffect>();
+                    uieffect.Play();
+                    m_BtnText.text = Language.Get("RealmPractice109");//棰嗗彇
+                    m_Miss.SetActive(false);
+                    m_Reach.SetActive(false);
+                    m_Draw.SetActive(false);
+                    m_Btn.SetListener(() =>
+                    {
+                        bool _bool = loginRewardModel.IsOpenFeatures();
+                        if (_bool)
+                        {
+                            loginRewardModel.SendLoginAwardInfo(loginRewardModel.SelectedNow, id);
+                        }
+                        else
+                        {
+                            SysNotifyMgr.Instance.ShowTip("SevenDayOver2");
+                        }
+                    });
+                }
+                else
+                {
+                    if (rewardNum >= LoginAward.TotalTimes)//宸茬粡棰嗗畬
+                    {                      
+                        m_Btn.gameObject.SetActive(false);
+                        m_Miss.SetActive(false);
+                        m_Reach.SetActive(false);
+                        m_Draw.SetActive(true);
+                    }
+                    else//鏈埌杈�(鍓嶅線)
+                    {
+                        //m_TextNumber.gameObject.SetActive(true);
+                        //m_TextNumber.text = SetText(ID);
+                        m_Btn.gameObject.SetActive(true);
+                        m_BtnText.text = Language.Get("RealmPractice108");//鍓嶅線
+                        UIEffect uieffect = m_Btn.GetComponent<UIEffect>();
+                        uieffect.Stop();
+                        m_Miss.SetActive(false);
+                        m_Reach.SetActive(false);
+                        m_Draw.SetActive(false);
+                        m_Btn.SetListener(() =>
+                        {
+                            WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)config.jump);
+                        });
+                    }
+                }
+            }
         }
     }
 

--
Gitblit v1.8.0