少年修仙传客户端代码仓库
client_linchunjie
2019-01-29 bb98d8ae9ff4d799bd8e2c11ddf3335ab4e0b017
System/OpenServerActivity/OSRedEnvelopeSendWin.cs
@@ -9,7 +9,8 @@
using UnityEngine;
using UnityEngine.UI;
using TableConfig;
namespace Snxxz.UI {
namespace Snxxz.UI
{
    public class OSRedEnvelopeSendWin : Window
    {
@@ -18,21 +19,14 @@
        [SerializeField] Text m_Count;
        [SerializeField] Button m_SendBtn;
        [SerializeField] Button m_CloseBtn;
        OSRedEnvelopeModel m_Model;
        OSRedEnvelopeModel model
        {
            get
            {
                return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<OSRedEnvelopeModel>());
            }
        }
        AchievementModel m_AchievementModel;
        AchievementModel achieveModel
        public static int achievementId = 0;
        AchievementModel model
        {
            get
            {
                return m_AchievementModel ?? (m_AchievementModel = ModelCenter.Instance.GetModel<AchievementModel>());
                return ModelCenter.Instance.GetModel<AchievementModel>();
            }
        }
        #region Built-in
@@ -43,17 +37,7 @@
        protected override void AddListeners()
        {
            m_SendBtn.onClick.AddListener(() =>
            {
                var _outDay = ModelCenter.Instance.GetModel<OSRedEnvelopeModel>().openDays;
                if (TimeUtility.OpenDay >= _outDay)
                {
                    SysNotifyMgr.Instance.ShowTip("ActiveOutTime");
                    return;
                }
                achieveModel.GetAchievementReward(model.cacheAchievement);
                CloseImmediately();
            });
            m_SendBtn.onClick.AddListener(Send);
            m_CloseBtn.onClick.AddListener(CloseClick);
        }
@@ -77,11 +61,41 @@
        private void DisplayRedEnvelope()
        {
            var _achieveCfg = Config.Instance.Get<SuccessConfig>(model.cacheAchievement);
            var _cfg = Config.Instance.Get<RedPackConfig>(_achieveCfg.RedPacketID);
            m_MoneyValue.text = _cfg.RedEnvelopeAmount.ToString();
            m_MoneyRealValue.text = _cfg.RedEnvelopeAmount.ToString();
            m_Count.text = _cfg.PacketCnt.ToString();
            var successConfig = Config.Instance.Get<SuccessConfig>(achievementId);
            var config = Config.Instance.Get<RedPackConfig>(successConfig.RedPacketID);
            m_MoneyValue.text = config.RedEnvelopeAmount.ToString();
            m_MoneyRealValue.text = config.RedEnvelopeAmount.ToString();
            m_Count.text = config.PacketCnt.ToString();
        }
        private void Send()
        {
            var successConfig = Config.Instance.Get<SuccessConfig>(achievementId);
            var config = Config.Instance.Get<RedPackConfig>(successConfig.RedPacketID);
            if (config != null)
            {
                switch (config.RedEnvelopeType)
                {
                    case 5:
                        var _outDay = ModelCenter.Instance.GetModel<OSRedEnvelopeModel>().openDays;
                        if (TimeUtility.OpenDay >= _outDay)
                        {
                            SysNotifyMgr.Instance.ShowTip("ActiveOutTime");
                            return;
                        }
                        break;
                    case FestivalRedpackModel.FESTIVALTASKREDPACKTYPE:
                        var isOpen = ModelCenter.Instance.GetModel<FestivalRedpackModel>().IsOpen;
                        if (!isOpen)
                        {
                            SysNotifyMgr.Instance.ShowTip("ActiveOutTime");
                            return;
                        }
                        break;
                }
            }
            model.GetAchievementReward(achievementId);
            CloseImmediately();
        }
    }