少年修仙传客户端代码仓库
client_linchunjie
2018-08-30 eed4e4b6c64f7286b608b971764b337f9ef545d0
3009【前端】运营类活动优化
5个文件已修改
4个文件已添加
189 ■■■■■ 已修改文件
Core/GameEngine/DataToCtl/PackageRegedit.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA16_tagMCSuperGiftInfo.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA16_tagMCSuperGiftInfo.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA16_tagMCSuperGiftInfo.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA16_tagMCSuperGiftInfo.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/OSGiftBehaviour.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/OSGiftModel.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/OpenServerGiftWin.cs 61 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowJump/WindowJumpMgr.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/DataToCtl/PackageRegedit.cs
@@ -11,6 +11,7 @@
    public static void Init()
    {
        // 登记相应的数据体及对应的数据转逻辑类
        Register(typeof(HAA16_tagMCSuperGiftInfo), typeof(DTCAA16_tagMCSuperGiftInfo));
        Register(typeof(HAC10_tagGCAllFamilyBossHurtInfoList), typeof(DTCAC10_tagGCAllFamilyBossHurtInfoList));
        Register(typeof(HA715_tagMCFamilyBossHurtList), typeof(DTCA715_tagMCFamilyBossHurtList));
        Register(typeof(HAB04_tagMCBossRebornInfo), typeof(DTCAB04_tagMCBossRebornInfo));
Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA16_tagMCSuperGiftInfo.cs
New file
@@ -0,0 +1,23 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Thursday, August 30, 2018
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using Snxxz.UI;
public class DTCAA16_tagMCSuperGiftInfo : DtcBasic {
    public override void Done(GameNetPackBasic vNetPack)
    {
        base.Done(vNetPack);
        var package = vNetPack as HAA16_tagMCSuperGiftInfo;
        ModelCenter.Instance.GetModel<OSGiftModel>().UpdateTime(package);
    }
}
Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA16_tagMCSuperGiftInfo.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 202ec0a13d751474ab11e14b107c5178
timeCreated: 1535599736
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA16_tagMCSuperGiftInfo.cs
New file
@@ -0,0 +1,19 @@
using UnityEngine;
using System.Collections;
// AA 16 通知超值礼包信息 #tagMCSuperGiftInfo
public class HAA16_tagMCSuperGiftInfo : GameNetPackBasic {
    public uint GiftID;    //商品ID
    public byte RemainDay;    //剩余天数
    public HAA16_tagMCSuperGiftInfo () {
        _cmd = (ushort)0xAA16;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out GiftID, vBytes, NetDataType.DWORD);
        TransBytes (out RemainDay, vBytes, NetDataType.BYTE);
    }
}
Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA16_tagMCSuperGiftInfo.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 9eb5c2d3bd7e1c44dbe9549eb0f3fd8a
timeCreated: 1535599707
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/OpenServerActivity/OSGiftBehaviour.cs
@@ -38,6 +38,8 @@
            }
        }
        OSGiftModel giftModel { get { return ModelCenter.Instance.GetModel<OSGiftModel>(); } }
        private int storeId = 0;
        private void Awake()
@@ -164,6 +166,11 @@
                    return;
                case StoreFunc.OSGift:
                    {
                        if (giftModel.IsGiftOverdue(_storeConfig.ID))
                        {
                            SysNotifyMgr.Instance.ShowTip("ActiveOutTime");
                            return;
                        }
                        ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"),
                        Language.Get("OSTimeLimitGiftConfirm", _storeConfig.MoneyNumber), (bool isOk) =>
                        {
System/OpenServerActivity/OSGiftModel.cs
@@ -31,6 +31,7 @@
        }
        public event Action<int> onStateUpate;
        public event Action timeLimitUpdate;
        public bool activate { get; private set; }
@@ -74,6 +75,31 @@
            }
        }
        public int timeOverdueGiftId { get; private set; }
        public DateTime overDueTime = DateTime.Now;
        public bool allOverdue { get; private set; }
        public void UpdateTime(HAA16_tagMCSuperGiftInfo package)
        {
            timeOverdueGiftId = (int)package.GiftID;
            var _time = new DateTime(TimeUtility.Year, TimeUtility.Month, TimeUtility.Day, 0, 0, 0);
            overDueTime = _time.AddDays(package.RemainDay);
            allOverdue = package.RemainDay == 0;
            bool _activate = CheckActivate();
            if (activate != _activate)
            {
                activate = _activate;
                if (onStateUpate != null)
                {
                    onStateUpate(6);
                }
            }
            if (timeLimitUpdate != null)
            {
                timeLimitUpdate();
            }
            UpdateRedpoint();
        }
        private void FirstChargeRewardEvent()
        {
            bool _activate = CheckActivate();
@@ -95,15 +121,36 @@
            {
                return false;
            }
            if (allOverdue)
            {
                return false;
            }
            List<StoreConfig> _list = null;
            StoreConfig.TryGetStoreConfigs((int)StoreFunc.OSGift,out _list);
            for (int i = 0; i < _list.Count; i++)
            {
                if (IsGiftOverdue(_list[i].ID))
                {
                    continue;
                }
                var _limit = storeModel.GetBuyShopLimit((uint)_list[i].ID);
                if (_limit == null || _limit.BuyCnt < _list[i].PurchaseNumber[0])
                {
                    return true;
                }
            }
            return false;
        }
        public bool IsGiftOverdue(int _id)
        {
            if (allOverdue || _id < timeOverdueGiftId)
            {
                return true;
            }
            if (_id == timeOverdueGiftId)
            {
                return TimeUtility.ServerNow >= overDueTime;
            }
            return false;
        }
@@ -123,8 +170,10 @@
        public void OnBeforePlayerDataInitialize()
        {
            allOverdue = false;
            timeOverdueGiftId = 0;
        }
        public void SetDayRemind()
        {
            if (OSGiftRedpoint.state == RedPointState.Simple)
System/OpenServerActivity/OpenServerGiftWin.cs
@@ -17,7 +17,9 @@
        [SerializeField] RectTransform m_ContainerDisplay;
        [SerializeField] Button[] m_CloseBtns;
        [SerializeField] OSGiftBehaviour[] m_OSGifts;
        [SerializeField] RectTransform m_ContainerTime;
        [SerializeField] Text m_Overdue;
        [SerializeField] Text m_Timer;
        StoreModel m_Model;
        StoreModel model
        {
@@ -26,6 +28,8 @@
                return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<StoreModel>());
            }
        }
        int currentSelectId = 0;
        OSGiftModel giftModel { get { return ModelCenter.Instance.GetModel<OSGiftModel>(); } }
        #region Built-in
@@ -46,6 +50,9 @@
            WindowCenter.Instance.windowAfterOpenEvent += WindowAfterOpenEvent;
            WindowCenter.Instance.windowAfterCloseEvent += windowAfterCloseEvent;
            model.RefreshBuyShopLimitEvent += RefreshBuyShopLimitEvent;
            TimeUtility.OnServerOpenDayRefresh += OnServerOpenDayRefresh;
            GlobalTimeEvent.Instance.secondEvent += SecondEvent;
            giftModel.timeLimitUpdate += TimeLimitUpdate;
            giftModel.SetDayRemind();
            Display();
@@ -61,6 +68,9 @@
            WindowCenter.Instance.windowAfterOpenEvent -= WindowAfterOpenEvent;
            WindowCenter.Instance.windowAfterCloseEvent -= windowAfterCloseEvent;
            model.RefreshBuyShopLimitEvent -= RefreshBuyShopLimitEvent;
            TimeUtility.OnServerOpenDayRefresh -= OnServerOpenDayRefresh;
            GlobalTimeEvent.Instance.secondEvent -= SecondEvent;
            giftModel.timeLimitUpdate -= TimeLimitUpdate;
        }
        protected override void OnAfterClose()
@@ -89,6 +99,38 @@
            Display();
        }
        private void OnServerOpenDayRefresh()
        {
            Display();
        }
        private void SecondEvent()
        {
            DisplayTimer();
        }
        private void TimeLimitUpdate()
        {
            DisplayTimer();
        }
        void DisplayTimer()
        {
            var seconds = (int)(giftModel.overDueTime - TimeUtility.ServerNow).TotalSeconds;
            if (giftModel.allOverdue || giftModel.IsGiftOverdue(currentSelectId) || seconds <= 0)
            {
                m_ContainerTime.gameObject.SetActive(false);
                m_Overdue.gameObject.SetActive(true);
            }
            else
            {
                m_ContainerTime.gameObject.SetActive(true);
                m_Overdue.gameObject.SetActive(false);
                m_Timer.text = TimeUtility.SecondsToDHMSCHS(seconds);
                m_Timer.color = UIHelper.GetUIColor(TextColType.Green);
            }
        }
        private void Display()
        {
            List<StoreConfig> _list = null;
@@ -96,13 +138,17 @@
            var _index = 0;
            for (int i = 0; i < _list.Count; i++)
            {
                var _storeConfig = Config.Instance.Get<StoreConfig>(_list[i].ID);
                var _limit = model.GetBuyShopLimit((uint)_list[i].ID);
                if (_limit == null || _limit.BuyCnt < _storeConfig.PurchaseNumber[0])
                if (!giftModel.IsGiftOverdue(_list[i].ID))
                {
                    _index = i;
                    m_OSGifts[i].Display(_list[i].ID);
                    break;
                    var _storeConfig = Config.Instance.Get<StoreConfig>(_list[i].ID);
                    var _limit = model.GetBuyShopLimit((uint)_list[i].ID);
                    if (_limit == null || _limit.BuyCnt < _storeConfig.PurchaseNumber[0])
                    {
                        _index = i;
                        currentSelectId = _list[i].ID;
                        m_OSGifts[i].Display(_list[i].ID);
                        break;
                    }
                }
                _index = i;
            }
@@ -110,6 +156,7 @@
            {
                m_OSGifts[i].gameObject.SetActive(_index == i);
            }
            DisplayTimer();
        }
        private void OnCloseClick()
System/WindowJump/WindowJumpMgr.cs
@@ -220,7 +220,8 @@
                }
                break;
            case JumpUIType.OpenServerGift:
                if (!ModelCenter.Instance.GetModel<OSGiftModel>().activate)
                var giftModel = ModelCenter.Instance.GetModel<OSGiftModel>();
                if (!giftModel.CheckActivate())
                {
                    if (PlayerDatas.Instance.baseData.coinPointTotal <= 0
                        || !ModelCenter.Instance.GetModel<VipModel>().firstChargeRewardGet)