Core/GameEngine/DataToCtl/PackageRegedit.cs
@@ -168,6 +168,7 @@ Register(typeof(HA317_tagMCAllEquipAttrActiveInfo), typeof(DTCA317_tagMCAllEquipAttrActiveInfo)); //得到激活全身星级和全身强化的信息 Register(typeof(HA321_tagMCPrayElixirResult), typeof(DTCA321_tagMCPrayElixirResult)); //祈福丹药结果 Register(typeof(HA921_tagUpdatePlayerNameResult), typeof(DTCA921_tagUpdatePlayerNameResult)); //玩家改名 #region 背包 Register(typeof(H0724_tagRolePackCanUseCount), typeof(DTC0724_tagRolePackCanUseCount)); Register(typeof(H0704_tagRolePackRefresh), typeof(DTC0704_tagRolePackRefresh)); @@ -372,6 +373,7 @@ Register(typeof(HAA13_tagMCFlashGiftbagPlayerInfo), typeof(DTCAA13_tagMCFlashGiftbagPlayerInfo)); Register(typeof(HAA17_tagMCFlashSaleInfo), typeof(DTCAA17_tagMCFlashSaleInfo)); Register(typeof(HAA18_tagMCFlashSaleAppointmentInfo), typeof(DTCAA18_tagMCFlashSaleAppointmentInfo)); Register(typeof(HA906_tagGCStoreServerBuyCntInfo), typeof(DTCA906_tagGCStoreServerBuyCntInfo)); #region 仙界盛典 Register(typeof(HAC09_tagGCFairyCeremonyInfo), typeof(DTCAC09_tagGCFairyCeremonyInfo)); Core/NetworkPackage/DTCFile/ServerPack/HA9_Function/DTCA906_tagGCStoreServerBuyCntInfo.cs
New file @@ -0,0 +1,20 @@ using UnityEngine; using System.Collections; using Snxxz.UI; // A9 06 商城全服购买次数通知 #tagGCStoreServerBuyCntInfo public class DTCA906_tagGCStoreServerBuyCntInfo : DtcBasic { FlashRushToBuyModel rushToBuyModel { get { return ModelCenter.Instance.GetModel<FlashRushToBuyModel>(); } } public override void Done(GameNetPackBasic vNetPack) { base.Done(vNetPack); HA906_tagGCStoreServerBuyCntInfo vNetData = vNetPack as HA906_tagGCStoreServerBuyCntInfo; rushToBuyModel.UpdateFullSeverBuyInfo(vNetData); } } Core/NetworkPackage/DTCFile/ServerPack/HA9_Function/DTCA906_tagGCStoreServerBuyCntInfo.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: bb4b404757262884e86c5225b5421efa timeCreated: 1539759234 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/NetworkPackage/ServerPack/HA9_Function/HA906_tagGCStoreServerBuyCntInfo.cs
New file @@ -0,0 +1,29 @@ using UnityEngine; using System.Collections; // A9 06 商城全服购买次数通知 #tagGCStoreServerBuyCntInfo public class HA906_tagGCStoreServerBuyCntInfo : GameNetPackBasic { public ushort Count; //数量 public tagGCStoreServerBuyCnt[] InfoList; //次数信息 public HA906_tagGCStoreServerBuyCntInfo () { _cmd = (ushort)0xA906; } public override void ReadFromBytes (byte[] vBytes) { TransBytes (out Count, vBytes, NetDataType.WORD); InfoList = new tagGCStoreServerBuyCnt[Count]; for (int i = 0; i < Count; i ++) { InfoList[i] = new tagGCStoreServerBuyCnt(); TransBytes (out InfoList[i].GoodsID, vBytes, NetDataType.DWORD); TransBytes (out InfoList[i].BuyCnt, vBytes, NetDataType.DWORD); } } public struct tagGCStoreServerBuyCnt { public uint GoodsID; //商品标识 public uint BuyCnt; //购买次数 } } Core/NetworkPackage/ServerPack/HA9_Function/HA906_tagGCStoreServerBuyCntInfo.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 01aef2eb03c4a7941bb9a6ccafaa216b timeCreated: 1539759233 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/OpenServerActivity/FlashRushToBuyModel.cs
@@ -21,7 +21,7 @@ public void OnBeforePlayerDataInitialize() { fullSeverBuyInfoDict.Clear(); } public void OnPlayerLoginOk() @@ -44,7 +44,7 @@ get { var operation = GetOperationFlashRushToBuy(); if(operation != null) if (operation != null) { return operation.SatisfyOpenCondition(); } @@ -173,10 +173,11 @@ { if (saleItems[k].shopGuid == saleItemInfo.GoodsMark) { if(saleItems[k].isAppointment != saleItemInfo.State) { saleItems[k].isAppointment = saleItemInfo.State; if(UpdateAppointmentEvent != null) if(UpdateAppointmentEvent != null && appointmentInfo.IsAll != 1) { UpdateAppointmentEvent((int)saleItemInfo.GoodsMark); } @@ -194,13 +195,28 @@ } } /// <summary> /// Value1 商品ID Value2 全服购买次数 /// </summary> /// <returns></returns> public List<GameRecInfo> GetFullServerInfo() private Dictionary<int, int> fullSeverBuyInfoDict = new Dictionary<int, int>(); public void UpdateFullSeverBuyInfo(HA906_tagGCStoreServerBuyCntInfo buyCntInfo) { return battleModel.GetBatterInfoListByType(8); for(int i = 0; i < buyCntInfo.Count; i++) { var info = buyCntInfo.InfoList[i]; if(!fullSeverBuyInfoDict.ContainsKey((int)info.GoodsID)) { fullSeverBuyInfoDict.Add((int)info.GoodsID,(int)info.BuyCnt); } else { fullSeverBuyInfoDict[(int)info.GoodsID] = (int)info.BuyCnt; } } } public int GetFullServerBuyCntById(int goodsId) { int buyCnt = 0; fullSeverBuyInfoDict.TryGetValue(goodsId,out buyCnt); return buyCnt; } /// <summary> System/OpenServerActivity/FlashRushToBuyNotify.cs
@@ -3,7 +3,6 @@ public class FlashRushToBuyNotify : OpenServerActivityNotifyBase { public FlashRushToBuyModel rushToBuyModel { get { return ModelCenter.Instance.GetModel<FlashRushToBuyModel>(); } } public const string iconKey = "TB_BGL_2"; private void OnEnable() { Display(); @@ -18,7 +17,6 @@ { base.Display(); titleText.text = "限时抢购"; activityIcon.SetSprite(iconKey); } protected override void ClickGotoBtn() System/OpenServerActivity/FlashRushToBuyWin.cs
@@ -36,6 +36,7 @@ OperationTimeHepler.Instance.operationTimeUpdateEvent += OperationTimeUpdateEvent; rushToBuyModel.UpdateSelectSaleTimeEvent += UpdateSelectSaleTime; rushToBuyModel.UpdatePresentFlashShopCloseEvent += UpdatePresentFlashShopClose; storeModel.RefreshBuyShopLimitEvent += RefreshBuyShopLimitEvent; SetDisplayModel(); Display(); } @@ -53,6 +54,8 @@ rushToBuyModel.UpdateSelectSaleTimeEvent -= UpdateSelectSaleTime; OperationTimeHepler.Instance.operationStartEvent -= OperationStartEvent; OperationTimeHepler.Instance.operationTimeUpdateEvent -= OperationTimeUpdateEvent; storeModel.RefreshBuyShopLimitEvent -= RefreshBuyShopLimitEvent; saleItemsContent.anchoredPosition3D = startPos; rushToBuyModel.ResetFlashShop(); } @@ -76,17 +79,29 @@ if (rushToBuyModel.presentFlashShop == null|| operation == null) return; opreationTimeText.text = StringUtility.Contact(Language.Get("ExpActivity_Text1"),UIHelper.GetTextColorByItemColor(TextColType.Green, operation.ToDisplayTime())); UpdateMoneyInfo(); activityOpenObj.SetActive(true); activityCloseObj.SetActive(false); CreateOperationTimes(); } private void RefreshBuyShopLimitEvent() { UpdateMoneyInfo(); } private void UpdateMoneyInfo() { if (rushToBuyModel.presentFlashShop == null || operation == null) return; if (rushToBuyModel.presentFlashShop.items.Length > 0) { var moneyType = rushToBuyModel.presentFlashShop.items[0].moneyType; moneyIcon.SetIconWithMoneyType(moneyType); moneyNumText.text = UIHelper.GetMoneyCnt(moneyType).ToString(); } activityOpenObj.SetActive(true); activityCloseObj.SetActive(false); CreateOperationTimes(); } private void UpdateSelectSaleTime() { System/OpenServerActivity/FlashSaleItemCell.cs
@@ -163,7 +163,7 @@ } else { MessageWin.Inst.ShowFixedTip("系统繁忙"); } } @@ -202,23 +202,10 @@ fullRemainNum = 0; var buyInfo = storeModel.GetBuyShopLimit((uint)saleItem.shopId); var buyCount = 0; var fullServerInfolist = rushToBuyModel.GetFullServerInfo(); if(buyState != -1) var buyCount = 0; if (buyState != -1) { fullRemainNum = saleItem.fullServerLimitNum; if (fullServerInfolist != null) { for(int i = 0; i < fullServerInfolist.Count; i++) { var fullServerInfo = fullServerInfolist[i]; if (fullServerInfo.Value1 == saleItem.shopId) { fullRemainNum = saleItem.fullServerLimitNum - fullServerInfo.Value2; break; } } } fullRemainNum = saleItem.fullServerLimitNum - rushToBuyModel.GetFullServerBuyCntById(saleItem.shopId); if (buyInfo != null) { buyCount = buyInfo.BuyCnt; System/OpenServerActivity/OpenServerActivityNotifyBase.cs
@@ -6,7 +6,6 @@ public class OpenServerActivityNotifyBase : MonoBehaviour { [SerializeField] protected Text titleText; [SerializeField] protected Image activityIcon; [SerializeField] protected Button gotoBtn; [SerializeField] protected Button closeBtn; System/OpenServerActivity/OperationFlashRushToBuy.cs
@@ -89,9 +89,12 @@ public override bool SatisfyOpenCondition() { if(PlayerDatas.Instance.baseData.LV >= limitLv && InDay(TimeUtility.ServerNow)) if(PlayerDatas.Instance.baseData.LV >= limitLv) { return true; if(InAdvanceTime(TimeUtility.ServerNow) || InTime(TimeUtility.ServerNow)) { return true; } } return false; }