| Core/GameEngine/DataToCtl/PackageRegedit.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA16_tagMCSuperGiftInfo.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA16_tagMCSuperGiftInfo.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA16_tagMCSuperGiftInfo.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA16_tagMCSuperGiftInfo.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/OpenServerActivity/OSGiftBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/OpenServerActivity/OSGiftModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/OpenServerActivity/OpenServerGiftWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/WindowJump/WindowJumpMgr.cs | ●●●●● 补丁 | 查看 | 原始文档 | 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,6 +170,8 @@ public void OnBeforePlayerDataInitialize() { allOverdue = false; timeOverdueGiftId = 0; } public void SetDayRemind() 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++) { if (!giftModel.IsGiftOverdue(_list[i].ID)) { 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)