少年修仙传客户端代码仓库
Client_PangDeRong
2018-10-10 15581bb85b62920392660659921fc908645adcf7
4110 【前端】八卦炉炼丹祈福新增VIP限制
2个文件已添加
3个文件已修改
189 ■■■■■ 已修改文件
System/BlastFurnace/PrayForDrugVipLackWin.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/PrayForDrugVipLackWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/PrayForDurgModel.cs 81 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/PrayforDrugWin.cs 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/EnumHelper.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/PrayForDrugVipLackWin.cs
New file
@@ -0,0 +1,60 @@
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class PrayForDrugVipLackWin : Window
    {
        [SerializeField] Button m_ViewVip;
        [SerializeField] Button m_Close;
        [SerializeField] Text vipLvText;
        [SerializeField] Text contenetText;
        #region Built-in
        public static int vipLv = 0;
        public static string content;
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
            m_ViewVip.AddListener(ViewVip);
            m_Close.AddListener(CloseClick);
        }
        protected override void OnPreOpen()
        {
            Display();
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
        private void Display()
        {
            vipLvText.text = vipLv.ToString();
            contenetText.text = content;
        }
        private void ViewVip()
        {
            if (VersionConfig.Get().isBanShu)
            {
                SysNotifyMgr.Instance.ShowTip("FuncNoOpen_VIP");
                return;
            }
            WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.VipRechargeFunc2);
        }
    }
}
System/BlastFurnace/PrayForDrugVipLackWin.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 55268f4e1c8090748bdbe67d2162fc31
timeCreated: 1539156973
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/BlastFurnace/PrayForDurgModel.cs
@@ -18,6 +18,7 @@
        {
            SetPrayDrugCondi();
            SetPrayDrugDict();
            SetPrayVipLimit();
        }
        public override void UnInit()
@@ -31,7 +32,8 @@
            FuncOpen.Instance.OnFuncStateChangeEvent -= UpdateFuncState;
            blastModel.RefreshStoveModelEvent -= UpdateBlastLv;
            playerPack.RefreshItemSumUseCntAct -= RefreshItemUsce;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= UpdateVipLV;
        }
        public void OnAfterPlayerDataInitialize()
@@ -41,11 +43,21 @@
        public void OnPlayerLoginOk()
        {
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += UpdateVipLV;
            FuncOpen.Instance.OnFuncStateChangeEvent += UpdateFuncState;
            blastModel.RefreshStoveModelEvent += UpdateBlastLv;
            playerPack.RefreshItemSumUseCntAct += RefreshItemUsce;
            SetPrayPrivilegeByVipLv();
            prayDrugRecordKey = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "PrayDrugRecord");
            SetIsNewDay();
            UpdatePrayDanRedpoint();
        }
        private void UpdateVipLV(PlayerDataRefresh type)
        {
            if (type != PlayerDataRefresh.VIPLv) return;
            SetPrayPrivilegeByVipLv();
            UpdatePrayDanRedpoint();
        }
@@ -94,15 +106,12 @@
        }
        #region 读取本地配置
        public int costMoney { get; private set; }
        public int everyDayNum { get; private set; }
        public int costMoney { get; private set; }
        public int prayPushLv { get; private set;}
        private void SetPrayDrugCondi()
        {
            FuncConfigConfig func = Config.Instance.Get<FuncConfigConfig>("GodAlchemy");
            costMoney = int.Parse(func.Numerical2);
            everyDayNum = int.Parse(func.Numerical3);
            func = Config.Instance.Get<FuncConfigConfig>("GodAlchemyShow");
            prayPushLv = int.Parse(func.Numerical2);
        }
@@ -147,7 +156,10 @@
                if (day != TimeUtility.ServerNow.Day)
                {
                    IsNewDay = true;
                    LocalSave.SetInt(prayDrugRecordKey, TimeUtility.ServerNow.Day);
                    if (CheckIsPray())
                    {
                        LocalSave.SetInt(prayDrugRecordKey, TimeUtility.ServerNow.Day);
                    }
                }
                else
                {
@@ -157,8 +169,37 @@
            else
            {
                IsNewDay = true;
                LocalSave.SetInt(prayDrugRecordKey, TimeUtility.ServerNow.Day);
                if(CheckIsPray())
                {
                    LocalSave.SetInt(prayDrugRecordKey, TimeUtility.ServerNow.Day);
                }
            }
        }
        public int everyDayNum { get; private set; }
        public int minVipLvLimit { get; private set; }
        public void SetPrayPrivilegeByVipLv()
        {
            int vipLv = PlayerDatas.Instance.baseData.VIPLv;
            everyDayNum = VipPrivilegeConfig.GetVipPrivilegeData(VipPrivilegeType.PrayForDrug,vipLv);
        }
        public void SetPrayVipLimit()
        {
            for (int i = 0; i < 16; i++)
            {
                int prayNum = VipPrivilegeConfig.GetVipPrivilegeData(VipPrivilegeType.PrayForDrug, i);
                if(prayNum != 0)
                {
                    minVipLvLimit = i;
                    break;
                }
            }
        }
        public bool CheckIsPrayByVip()
        {
            return PlayerDatas.Instance.baseData.VIPLv >= minVipLvLimit ? true : false;
        }
        #endregion
@@ -223,14 +264,24 @@
        }
        #region 红点
        public bool CheckIsPray()
        {
            if (blastModel.StoveLV < prayPushLv
               || alreadyPrayNum >= everyDayNum
               || GetPrayDruglist().Count < 1)
            {
                return false;
            }
            return true;
        }
        public const int PRAYDRUGREDPOINT_KEY = 110011001;
        private Redpoint prayRedpoint = new Redpoint(BlastFurnaceModel.LINGDANREDPOINT_KEY, PRAYDRUGREDPOINT_KEY);
        public void UpdatePrayDanRedpoint()
        {
            if (blastModel.StoveLV < prayPushLv
                 || alreadyPrayNum >= everyDayNum
                 || GetPrayDruglist().Count < 1
                 || !IsNewDay)
            if ( !CheckIsPray() || !IsNewDay)
            {
                prayRedpoint.state = RedPointState.None;
                return;
@@ -242,8 +293,12 @@
        public void ClearPrayRedpoint()
        {
            prayRedpoint.state = RedPointState.None;
            IsNewDay = false;
            if(prayRedpoint.state != RedPointState.None)
            {
                prayRedpoint.state = RedPointState.None;
                LocalSave.SetInt(prayDrugRecordKey, TimeUtility.ServerNow.Day);
                IsNewDay = false;
            }
        }
        #endregion
    }
System/BlastFurnace/PrayforDrugWin.cs
@@ -10,6 +10,12 @@
        [SerializeField] ScrollerController ctrl;
        [SerializeField] Button prayBtn;
        [SerializeField] Image prayBtnImg;
        [SerializeField] GameObject vipPray;
        [SerializeField] Text prayVipLimit;
        [SerializeField] GameObject unVipPray;
        [SerializeField] GameObject vipLimitText;
        [SerializeField] GameObject prayMoneyGo;
        [SerializeField] Text costText;
        [SerializeField] Button closeBtn;
        [Header("最大格子数")]
@@ -64,15 +70,36 @@
        private void UpdatePrayBtn()
        {
            prayBtn.RemoveAllListeners();
            if (PrayModel.alreadyPrayNum >= PrayModel.everyDayNum)
            if(PrayModel.CheckIsPrayByVip())
            {
                prayBtnImg.material = MaterialUtility.GetDefaultSpriteGrayMaterial();
                vipLimitText.SetActive(false);
                vipPray.SetActive(false);
                unVipPray.SetActive(true);
                if (PrayModel.alreadyPrayNum >= PrayModel.everyDayNum)
                {
                    prayBtnImg.material = MaterialUtility.GetDefaultSpriteGrayMaterial();
                }
                else
                {
                    prayBtn.AddListener(ClickPrayBtn);
                    prayBtnImg.material = MaterialUtility.GetUIDefaultGraphicMaterial();
                }
            }
            else
            {
                prayBtn.AddListener(ClickPrayBtn);
                prayBtnImg.material = MaterialUtility.GetUIDefaultGraphicMaterial();
                prayBtnImg.material = MaterialUtility.GetDefaultSpriteGrayMaterial();
                vipPray.SetActive(true);
                unVipPray.SetActive(false);
                vipLimitText.SetActive(true);
                prayVipLimit.text = StringUtility.Contact("V",PrayModel.minVipLvLimit);
                prayBtn.AddListener(()=>
                {
                    PrayForDrugVipLackWin.vipLv = PrayModel.minVipLvLimit;
                    PrayForDrugVipLackWin.content = Language.Get("BlessingHint", PrayModel.costMoney);
                    WindowCenter.Instance.Open<PrayForDrugVipLackWin>();
                });
            }
        }
        private void ClickPrayBtn()
Utility/EnumHelper.cs
@@ -1112,6 +1112,7 @@
    BossHomeAwardLimit = 27,
    DemonJarDouble = 28,
    BindJadeWheel=30,
    PrayForDrug = 31,
}