少年修仙传客户端代码仓库
hch
2 天以前 3d9bdfea2fee9906c3f877e5dd267f84c831bf2d
10431 【英文】看广告获得限时代金券
8个文件已修改
388 ■■■■■ 已修改文件
Core/SDK/ynmbxxjUtil.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MiniGame/PushCoin/PushCoinWin.cs 225 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/RechargeWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/VipModel.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/VoucherWin.cs 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/VourcherRechargeCell.cs 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/EnumHelper.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/UIHelper.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/SDK/ynmbxxjUtil.cs
@@ -669,6 +669,14 @@
                    Application.Quit();
                }
                break;
            case CodeA2U.AdCallBack:
                if (_json["type"].ToString() == "3" && bool.Parse(_json["success"].ToString()))
                {
                    var SendInfo = new CA504_tagCMPlayerGetReward();
                    SendInfo.RewardType = 81;
                    GameNetSystem.Instance.SendInfo(SendInfo);
                }
                break;
        }
        onSdkMsg?.Invoke(_code, _json);
    }
@@ -745,6 +753,7 @@
        public const int PingfenCallBack = 113;  //评分回调 和 GotoShopOK 不一样 具体看使用区分
        public const int GotoShopOK = 115;  //前往商店成功
        public const int GotoFBOK = 116;
        public const int AdCallBack = 117;
        #endregion
    }
@@ -828,6 +837,7 @@
        public const int FansHouse = 120; //粉丝屋 论坛等
        public const int GotoShop = 121; //前往商店
        public const int TrackEvent = 122; //自定义事件
        public const int AdRequest = 123; //请求广告
        /**
         * 极光推送
         * */
@@ -936,6 +946,17 @@
        AndroidJavaObject _jo = _jc.GetStatic<AndroidJavaObject>("currentActivity");
        _jo.Call("BindPhone");
#endif
    }
    //adType 2 插屏 3 激励广告
    public void AdRequest(int adType, string stageValue)
    {
        m_Json.Clear();
        m_Json["code"] = CodeU2A.AdRequest;
        m_Json["adType"] = adType;
        m_Json["stageValue"] = stageValue;
        SendMessageToSDK(m_Json);
    }
    /// <summary>
@@ -1059,7 +1080,7 @@
    public void GotoBuy(string title, float money, string cpInfo)
    {
        // 提示是否使用代金券
        var gameCash = PlayerDatas.Instance.baseData.ExAttr11;
        var gameCash = PlayerDatas.Instance.baseData.ExAttr11 + UIHelper.GetMoneyCnt(98);
        bool isBuyGameCash = false; //代金券本身的充值不能用代金券购买 造成循环
        int ctgID = ModelCenter.Instance.GetModel<VipModel>().orderInfoToCTGID[cpInfo];
MiniGame/PushCoin/PushCoinWin.cs
@@ -1,18 +1,18 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Friday, March 01, 2019
//--------------------------------------------------------
using LitJson;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Friday, March 01, 2019
//--------------------------------------------------------
using LitJson;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace vnxbqy.UI
{
    public class PushCoinWin : Window
{
    public class PushCoinWin : Window
    {
        [SerializeField] Button closeBtn;
        [SerializeField] Button startBtn;
@@ -34,7 +34,9 @@
        [SerializeField] Button ruleBtn;
        [SerializeField] UIEffect ruleEffect;
        #region Built-in
        [SerializeField] Button adWinBtn;
        #region Built-in
        List<UIAlphaTween> selectImags = new List<UIAlphaTween>();
@@ -44,12 +46,13 @@
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        }
        protected override void AddListeners()
        {
            closeBtn.AddListener(() => { CloseImmediately(); });
            startBtn.AddListener(() => {
            closeBtn.AddListener(() => { CloseImmediately(); });
            startBtn.AddListener(() =>
            {
                if (UIHelper.GetMoneyCnt(48) == 0)
                {
@@ -59,14 +62,16 @@
                startBtn.interactable = false;
                closeBtn.interactable = false;
                model.PushCoinPack(0);
            });
            superPushBtn.AddListener(OnSuperPush);
            ruleBtn.AddListener(() => { WindowCenter.Instance.Open<HowToPlayPushCoinWin>(); });
        }
        protected override void OnPreOpen()
                model.PushCoinPack(0);
            });
            superPushBtn.AddListener(OnSuperPush);
            ruleBtn.AddListener(() => { WindowCenter.Instance.Open<HowToPlayPushCoinWin>(); });
            adWinBtn.AddListener(() => { WindowCenter.Instance.Open<VipRechargeWin>(false, 2); });
        }
        protected override void OnPreOpen()
        {
            WindowJumpMgr.Instance.ClearJumpData();
            WindowCenter.Instance.CloseAll();
@@ -94,20 +99,20 @@
            {
                ruleEffect.Stop();
            }
        }
        }
        protected override void OnActived()
        {
        }
        protected override void OnAfterOpen()
        }
        protected override void OnAfterOpen()
        {
            RestoreCoin();
            ShowSuperPushState();
        }
        protected override void OnPreClose()
        }
        protected override void OnPreClose()
        {
            PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerDataRefreshEvent;
            vipModel.rechargeCountEvent -= VipModel_rechargeCountEvent;
@@ -116,14 +121,14 @@
            UI3DPushCoinStage.Instance.Close();
            ShowSuperPush();
            
        }
        protected override void OnAfterClose()
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
        #endregion
        void OnGetPrize(int index)
        {
@@ -140,22 +145,22 @@
            {
                ShowSuperPushState();
            }
        }
        }
        void ShowSurpriseCard(int mark)
        {
            surpriseCardObj.SetActive(true);
            surpriseWord.SetSprite(string.Format("Show90OffCard" + mark));
            surpriseWord.SetNativeSize();
            Clock.AlarmAfter(2f, () => {
        {
            surpriseCardObj.SetActive(true);
            surpriseWord.SetSprite(string.Format("Show90OffCard" + mark));
            surpriseWord.SetNativeSize();
            Clock.AlarmAfter(2f, () => {
                surpriseCardObj.SetActive(false);
                ShowSuperPushState();
            });
        }
                ShowSuperPushState();
            });
        }
        void ShowSuperPush()
        {
        {
            if (!DayRemind.Instance.GetDayRemind(DayRemind.SuperPush))
            { 
                VipModel.RechargeCount rechargeCount;
@@ -164,42 +169,42 @@
                {
                    WindowCenter.Instance.Open<SuperPushWin>();
                    DayRemind.Instance.SetDayRemind(DayRemind.SuperPush, true);
                }
                }
            }
        }
        }
        void OnPlayerDataRefreshEvent(PlayerDataType type)
        {
            switch (type)
            {
                case PlayerDataType.Gold:
                case PlayerDataType.GoldPaper:
                case PlayerDataType.Silver:
                case PlayerDataType.ExAttr6:
                case PlayerDataType.default5:
                case PlayerDataType.default6:
                    ShowMoney();
        {
            switch (type)
            {
                case PlayerDataType.Gold:
                case PlayerDataType.GoldPaper:
                case PlayerDataType.Silver:
                case PlayerDataType.ExAttr6:
                case PlayerDataType.default5:
                case PlayerDataType.default6:
                    ShowMoney();
                    break;
                case PlayerDataType.default40:
                    countText.text = Language.Get("HFTurntable_2", UIHelper.GetMoneyCnt(48));
                    break;
                case PlayerDataType.LV2:
                    ShowSurpriseCard(1);
                    break;
            }
        }
        float lastClickTime = 0;
                case PlayerDataType.default40:
                    countText.text = Language.Get("HFTurntable_2", UIHelper.GetMoneyCnt(48));
                    break;
                case PlayerDataType.LV2:
                    ShowSurpriseCard(1);
                    break;
            }
        }
        float lastClickTime = 0;
        void OnSuperPush()
        {
            if (!model.IsActiveSuperPush())
            {
                WindowCenter.Instance.Open<SuperPushWin>();
            }
            else
            }
            else
            {
                if (Time.time - lastClickTime > 5)
                {
@@ -212,8 +217,8 @@
                            UI3DPushCoinStage.Instance.InitPushPanel(); 
                    });
                }
            }
            }
        }
        void ShowSuperPushState()
@@ -222,45 +227,45 @@
            {
                superPushBtn.GetComponent<RotationTween>().Stop();
                pushArrow.SetActive(false);
            }
            else
            }
            else
            {
                superPushBtn.GetComponent<RotationTween>().Play();
                if (!PlayerDatas.Instance.baseData.IsActive90Off)
                    pushArrow.SetActive(true);
                else
                    pushArrow.SetActive(false);
            }
        }
            }
        }
        void ShowMoney()
        {
            money3.text = ItemLogicUtility.Instance.OnChangeCoinsUnit(PlayerDatas.Instance.baseData.allCopper);
            money2.text = ItemLogicUtility.Instance.OnChangeCoinsUnit(PlayerDatas.Instance.baseData.bindDiamond);
            money1.text = UIHelper.GetMoneyCnt(1).ToString();
        }
            money3.text = ItemLogicUtility.Instance.OnChangeCoinsUnit(PlayerDatas.Instance.baseData.allCopper);
            money2.text = ItemLogicUtility.Instance.OnChangeCoinsUnit(PlayerDatas.Instance.baseData.bindDiamond);
            money1.text = UIHelper.GetMoneyCnt(1).ToString();
        }
        void DisplayAwards()
        {
            selectImags.Clear();
            for (int i = 0; i < awardObjs.Count; i++)
        {
            selectImags.Clear();
            for (int i = 0; i < awardObjs.Count; i++)
            {
                var num = model.awardsTab[i][2];
                awardObjs[i].Find("icon").GetComponent<Image>().SetSprite(string.Format("pushcointype{0}_{1}", model.awardsTab[i][0], model.awardsTab[i][2]));
                awardObjs[i].Find("num").GetComponent<Text>().text = num <= 1 ? "" : "X" + num;
                selectImags.Add(awardObjs[i].Find("selectImg").GetComponent<UIAlphaTween>());
            }
            for (int i = 0; i < selectImags.Count; i++)
            }
            for (int i = 0; i < selectImags.Count; i++)
            {
                if (i != model.stopIndex)
                    selectImags[i].canvasGroup.alpha = 0;
                else
                    selectImags[i].canvasGroup.alpha = 1;
            }
        }
            }
        }
        
        float acceleration = 2f;
@@ -533,10 +538,10 @@
            }
        }
    }
}
    }
}
System/Vip/RechargeWin.cs
@@ -123,7 +123,7 @@
        void UpdateGoldValue()
        {
            m_GoldValue.text = UIHelper.ReplaceLargeNum(UIHelper.GetMoneyCntEx(1));
            var gameCash = PlayerDatas.Instance.baseData.ExAttr11;
            var gameCash = PlayerDatas.Instance.baseData.ExAttr11 + UIHelper.GetMoneyCnt(98);
            cashObj.SetActive(gameCash > 0);
            gameCashNum.text = (gameCash/100f).ToString("0.##");// + Language.Get("GameCash");
        }
System/Vip/VipModel.cs
@@ -19,6 +19,22 @@
        private Dictionary<string, List<int>> m_CTGConfigDict = new Dictionary<string, List<int>>();
        public List<int> voucherCTGList = new List<int>();
        public int adDayMaxCnt;    //广告购买每天奖励最大次数
        //广告购买每天已使用次数
        public int adDayCnt
        {
            get
            {
                int cnt = 0;
                roleModel.playerRewardDict.TryGetValue(81, out cnt);
                return cnt;
            }
        }
        public int adAwardValue; //广告购买每天奖励代金券数量
        public List<string> stageValueList = new List<string>(); //广告场景值,不同界面的广告
        public event Action OnVipGiftEvent;
        public event Action OnVipExpEvent;
@@ -37,6 +53,7 @@
        PlayerDeadModel deadModel { get { return ModelCenter.Instance.GetModel<PlayerDeadModel>(); } }
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        RoleModel roleModel { get { return ModelCenter.Instance.GetModel<RoleModel>(); } }
        public override void Init()
        {
@@ -58,6 +75,7 @@
            //NewBieCenter.Instance.guideCompletedEvent += GuideCompletedEvent;
            packModel.refreshItemCountEvent += RefreshItemCountAct;
            StageLoad.Instance.onStageLoadFinish += OnStageLoadFinish;
            roleModel.OnPlayerRewardEvent += UpdateXsdjqRedpoint;
        }
        public override void UnInit()
@@ -72,6 +90,7 @@
            //NewBieCenter.Instance.guideCompletedEvent -= GuideCompletedEvent;
            packModel.refreshItemCountEvent -= RefreshItemCountAct;
            StageLoad.Instance.onStageLoadFinish -= OnStageLoadFinish;
            roleModel.OnPlayerRewardEvent -= UpdateXsdjqRedpoint;
        }
        public void OnBeforePlayerDataInitialize()
@@ -90,6 +109,7 @@
            RechargeTimeLismit.Clear();
            m_PlayerRecsVoucher.Clear();
        }
        private void PlayerDataRefreshInfoEvent(PlayerDataType _type)
        {
@@ -258,6 +278,14 @@
            cfg = FuncConfigConfig.Get("DaiJQCTG");
            voucherCTGList = JsonMapper.ToObject<List<int>>(cfg.Numerical1);
#if !(UNITY_IOS || UNITY_IPHONE)
            voucherCTGList.Insert(0, 0);    //广告购买代金券
#endif
            cfg = FuncConfigConfig.Get("ADAward");
            adDayMaxCnt = int.Parse(cfg.Numerical1);
            var adAwards = JsonMapper.ToObject<int[][]>(cfg.Numerical2);
            adAwardValue = adAwards[0][1];
            stageValueList = JsonMapper.ToObject<List<string>>(cfg.Numerical3);
        }
        private void ParseVipGift()
@@ -799,6 +827,8 @@
        public Redpoint firstRechargeRedpoint = new Redpoint(210000);//首充领取红点
        public Redpoint rechargeFuncRedpoint = new Redpoint(21, 2101);
        public Redpoint rechargeGiftRedpoint = new Redpoint(2101, 210101);//18元礼包
        public Redpoint xsdjqRedpoint = new Redpoint(35, 2102); //限时代金券
        public bool TryGetOrderInfo(int _id, out OrderInfoConfig config)
        {
@@ -1402,9 +1432,19 @@
            return 0;
        }
        public void UpdateXsdjqRedpoint()
        {
            xsdjqRedpoint.state = RedPointState.None;
            if (adDayCnt < adDayMaxCnt)
            {
                xsdjqRedpoint.state = RedPointState.Simple;
            }
        }
        private void UpdateRedpoint()
        {
            rechargeGiftRedpoint.state = RedPointState.None;
            if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Recharge))
            {
                return;
@@ -1459,6 +1499,7 @@
            }
            UpdateGiftRedpoint();
            CheckUseVipExperienceCard();
            UpdateXsdjqRedpoint();
        }
        #endregion
System/Vip/VoucherWin.cs
@@ -14,9 +14,13 @@
        [SerializeField] ScrollerController scorller;
        [SerializeField] Text djqCoin;
        [SerializeField] Button noteBtn;
        [SerializeField] Text xsdjqCoin;    //限时代金券
        VipModel vipModel { get { return ModelCenter.Instance.GetModelEx<VipModel>(); } }
        RoleModel roleModel { get { return ModelCenter.Instance.GetModel<RoleModel>(); } }
        #region Built-in
        protected override void BindController()
@@ -28,9 +32,13 @@
        protected override void OnPreOpen()
        {
            roleModel.OnPlayerRewardEvent += OnPlayerRewardEvent;
            scorller.OnRefreshCell += OnRefreshCell;
            PlayerDatas.Instance.playerDataRefreshEvent += OnRefreshPlayerInfo;
            djqCoin.text = (HeroControler.Instance.GetMoneyCntIL(99) / 100f).ToString("0.##");
            xsdjqCoin.text = Language.Get("xsdjq4", (HeroControler.Instance.GetMoneyCntIL(98) / 100f).ToString("0.##"));
        }
        protected override void OnAfterOpen()
@@ -39,11 +47,16 @@
        }
        protected override void OnPreClose()
        {
            roleModel.OnPlayerRewardEvent -= OnPlayerRewardEvent;
            scorller.OnRefreshCell -= OnRefreshCell;
            PlayerDatas.Instance.playerDataRefreshEvent -= OnRefreshPlayerInfo;
        }
        #endregion
        void OnPlayerRewardEvent()
        {
            scorller.m_Scorller.RefreshActiveCellViews();
        }
        void CreateScroller()
        {
@@ -68,6 +81,10 @@
            {
                djqCoin.text = (HeroControler.Instance.GetMoneyCntIL(99) / 100f).ToString("0.##");
            }
            else if (refreshType == PlayerDataType.default41)
            {
                xsdjqCoin.text = Language.Get("xsdjq4", (HeroControler.Instance.GetMoneyCntIL(98) / 100f).ToString("0.##"));
            }
        }
        protected override void AddListeners()
@@ -80,7 +97,7 @@
                    var rec = vipModel.m_PlayerRecsVoucher[i];
                    //暂只显示消耗
                    if (!string.IsNullOrEmpty(rec.UserData) && rec.Value1 == 2)
                    {
                    {
                        OrderInfoConfig orderInfo = null;
                        vipModel.TryGetOrderInfoByOrderInfo(rec.UserData, out orderInfo);
                        string name;
@@ -88,10 +105,18 @@
                            name = orderInfo.Name;
                        else
                            name = CTGConfig.Get(orderInfo.CTGID).Title;
                        //{0} 购买 <color=#109D06>{1}</color>,消耗{2}代金券,剩余{3}
                        info += StringUtility.Contact(Language.Get("CoinRecharge2", TimeUtility.GetTime(rec.Time).ToString("yyyy-MM-dd HH:mm:ss"), name,
                            (rec.Value2 / 100f).ToString("0.##"),
                            (rec.Value3 / 100f).ToString("0.##")), "\n\r");
                        //{0} 购买 <color=#109D06>{1}</color>,消耗{2}代金券,剩余{3}代金券和{4}限时代金券
                        info += StringUtility.Contact(Language.Get("CoinRecharge2", TimeUtility.GetTime(rec.Time).ToString("yyyy-MM-dd HH:mm:ss"), name,
                            (rec.Value2 / 100f).ToString("0.##"),
                            (rec.Value3 / 100f).ToString("0.##"), (rec.Value4 / 100f).ToString("0.##")), "\n\r");
                    }
                    else if (rec.Value1 == 1)
                    {
                        //CoinRecharge4    {0} 获得 <color=#109D06>{1}</color>,剩余{2}代金券和{3}限时代金券
                        info += StringUtility.Contact(Language.Get("CoinRecharge4", TimeUtility.GetTime(rec.Time).ToString("yyyy-MM-dd HH:mm:ss"),
                        (rec.Value2 / 100f).ToString("0.##"),
                        (rec.Value3 / 100f).ToString("0.##"), (rec.Value4 / 100f).ToString("0.##")), "\n\r");
                    }
                }
System/Vip/VourcherRechargeCell.cs
@@ -11,19 +11,60 @@
        [SerializeField] Text price;
        [SerializeField] Image icon;
        [SerializeField] Button buyBtn;
        [SerializeField] ImageEx adBuy; //广告购买
        [SerializeField] Text adGetText;    //广告领取次数
        VipModel vipModel { get { return ModelCenter.Instance.GetModelEx<VipModel>(); } }
        public void Display(int index)
        {
            int ctgID = vipModel.voucherCTGList[index];
            var config = CTGConfig.Get(ctgID);
            title.text = config.Title;
            price.text = Language.Get("PayMoneyNumEx", UIHelper.GetMoneyFormat(vipModel.GetPayRmb(config.RecordID)));
            icon.SetSprite(config.Icon);
            buyBtn.SetListener(() => {
                vipModel.CTG(ctgID);
            });
            if (ctgID == 0)
            {
                //广告购买
                title.text = Language.Get("xsdjq2", (vipModel.adAwardValue / 100f).ToString("0.##"));
                price.text = string.Empty;
                if (adBuy != null)
                {
                    adBuy.SetActive(true);
                    adGetText.text = Language.Get("xsdjq1", vipModel.adDayCnt, vipModel.adDayMaxCnt);
                    adBuy.gray = vipModel.adDayCnt >= vipModel.adDayMaxCnt;
                }
                icon.SetSprite("daijinquan0");
                buyBtn.SetListener(() =>
                {
                    if (vipModel.adDayCnt >= vipModel.adDayMaxCnt)
                    {
                        SysNotifyMgr.Instance.ShowTip("XBTodayMax");
                        return;
                    }
#if UNITY_EDITOR
                    var SendInfo = new CA504_tagCMPlayerGetReward();
                    SendInfo.RewardType = 81;
                    GameNetSystem.Instance.SendInfo(SendInfo);
#else
                    ynmbxxjUtil.Instance.AdRequest(3, vipModel.stageValueList[0]);
#endif
                });
            }
            else
            {
                var config = CTGConfig.Get(ctgID);
                title.text = config.Title;
                price.text = Language.Get("PayMoneyNumEx", UIHelper.GetMoneyFormat(vipModel.GetPayRmb(config.RecordID)));
                icon.SetSprite(config.Icon);
                buyBtn.SetListener(() =>
                {
                    vipModel.CTG(ctgID);
                });
                if (adBuy != null)
                {
                    adBuy.SetActive(false);
                }
            }
        }
    }
}
Utility/EnumHelper.cs
@@ -718,7 +718,7 @@
    default38,  // 266 古宝养成货币
    default39,  // 267 天道币
    default40,  // 268 推金币次数
    default41,
    default41,  // 269 过期型代金券
    default42,  // 270 仙缘积分
    default43,  // 271 幻境阁积分
    default44,  
Utility/UIHelper.cs
@@ -1113,6 +1113,11 @@
                    //幻境阁积分
                    return PlayerDatas.Instance.GetPlayerDataByType(PlayerDataType.default43);
                }
            case 98:
                {
                    //过期型代金券
                    return PlayerDatas.Instance.GetPlayerDataByType(PlayerDataType.default41);
                }
            case 99:
                {
                    return PlayerDatas.Instance.baseData.ExAttr11;