| System/OpenServerActivity/FlashSaleModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/OpenServerActivity/FlashSaleWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Vip/LimitedTimePackageModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Vip/LimitedTimePackageWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Welfare/ConsumeRebateModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Welfare/ConsumeRebateWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Welfare/GiftPackageClass.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Welfare/OperationBase.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Welfare/OperationConsumeRebate.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Welfare/OperationFlashSale.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Welfare/OperationTimeHepler.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/OpenServerActivity/FlashSaleModel.cs
@@ -169,7 +169,7 @@ if (operationBase != null && operationBase.InTime(TimeUtility.ServerNow)) { OperationFlashSale operation = operationBase as OperationFlashSale; var index = operation.IndexOfFlashShop(); var index = operation.IndexOfFlashSale(TimeUtility.ServerNow); if (index != -1 && index < operation.flashShops.Count) { var flashShop = operation.flashShops[index]; System/OpenServerActivity/FlashSaleWin.cs
@@ -80,7 +80,7 @@ OperationFlashSale operation = operationBase as OperationFlashSale; m_OpreationTime.text = StringUtility.Contact(Language.Get("ExpActivity_Text1"), operation.ToDisplayTime()); m_RefreshGiftTime.gameObject.SetActive(operation.allDay); var index = operation.IndexOfFlashShop(); var index = operation.IndexOfFlashSale(TimeUtility.ServerNow); if (index != -1 && index < operation.flashShops.Count) { var flashSale = operation.flashShops[index]; @@ -133,7 +133,7 @@ if (operationBase != null) { OperationFlashSale operation = operationBase as OperationFlashSale; seconds = operation.GetSurplusTime(operation.IndexOfFlashShop()); seconds = operation.GetSurplusTime(); } if (seconds > 0) { System/Vip/LimitedTimePackageModel.cs
@@ -141,7 +141,7 @@ if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.GiftPackage, out operationBase)) { GiftPackageClass operation = operationBase as GiftPackageClass; var index = operation.IndexOfFlashShop(); var index = operation.IndexOfGift(TimeUtility.ServerNow); if (index != -1 && index < operation.giftpackage1.Count) { var giftpackage = operation.giftpackage1[index]; System/Vip/LimitedTimePackageWin.cs
@@ -90,7 +90,7 @@ { GiftPackageClass operation = operationBase as GiftPackageClass; // m_Text_ActivityTimeTo.text = StringUtility.Contact(Language.Get("ExpActivity_Text1"), operation.ToDisplayTime()); var index = operation.IndexOfFlashShop(); var index = operation.IndexOfGift(TimeUtility.ServerNow); if (index != -1 && index < operation.giftpackage1.Count) { var giftpackage = operation.giftpackage1[index]; System/Welfare/ConsumeRebateModel.cs
@@ -14,7 +14,7 @@ PlayerDatas.Instance.PlayerDataRefreshInfoEvent += PlayerDataRefreshInfoEvent; OperationTimeHepler.Instance.operationStartEvent += OperationStartEvent; OperationTimeHepler.Instance.operationEndEvent += OperationEndEvent; GlobalTimeEvent.Instance.secondEvent += SecondEvent; OperationTimeHepler.Instance.dayResetEvent += DayResetEvent; OpenServerActivityCenter.Instance.Register(1, this); } @@ -26,7 +26,6 @@ public void OnPlayerLoginOk() { UpdateRedpoint(); rebateOpenDayIndex = OperationTimeHepler.Instance.IndexOfOperationDays(Operation.ConsumeRebate); } public override void UnInit() @@ -34,7 +33,7 @@ PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= PlayerDataRefreshInfoEvent; OperationTimeHepler.Instance.operationStartEvent -= OperationStartEvent; OperationTimeHepler.Instance.operationEndEvent -= OperationEndEvent; GlobalTimeEvent.Instance.secondEvent -= SecondEvent; OperationTimeHepler.Instance.dayResetEvent -= DayResetEvent; } public bool IsOpen @@ -60,8 +59,6 @@ return consumeRebateRedpoint.state == RedPointState.GetReward; } } int rebateOpenDayIndex = -1; public bool IsRebateGot(int day, int _index) { @@ -89,13 +86,15 @@ } } private void SecondEvent() private void DayResetEvent(int resetType) { var index = OperationTimeHepler.Instance.IndexOfOperationDays(Operation.ConsumeRebate); if (index != rebateOpenDayIndex) OperationBase operationBase; if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.ConsumeRebate, out operationBase)) { rebateOpenDayIndex = index; UpdateRedpoint(); if (resetType == operationBase.resetType) { UpdateRedpoint(); } } } @@ -189,7 +188,6 @@ { return; } rebateOpenDayIndex = OperationTimeHepler.Instance.IndexOfOperationDays(Operation.ConsumeRebate); OperationBase operationBase; if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.ConsumeRebate, out operationBase)) { System/Welfare/ConsumeRebateWin.cs
@@ -20,8 +20,6 @@ [SerializeField] ScrollerController m_Controller; int rebateOpenDayIndex = -1; ConsumeRebateModel model { get { return ModelCenter.Instance.GetModel<ConsumeRebateModel>(); } } #region Built-in protected override void BindController() @@ -37,11 +35,9 @@ protected override void OnPreOpen() { Display(); rebateOpenDayIndex = OperationTimeHepler.Instance.IndexOfOperationDays(Operation.ConsumeRebate); TimeUtility.OnServerOpenDayRefresh += OnServerOpenDayRefresh; GlobalTimeEvent.Instance.secondEvent += SecondEvent; model.consumeRebateUpdateEvent += ConsumeRebateUpdateEvent; OperationTimeHepler.Instance.operationTimeUpdateEvent += OperationTimeUpdateEvent; OperationTimeHepler.Instance.dayResetEvent += DayResetEvent; } protected override void OnAfterOpen() @@ -50,10 +46,9 @@ protected override void OnPreClose() { GlobalTimeEvent.Instance.secondEvent -= SecondEvent; TimeUtility.OnServerOpenDayRefresh -= OnServerOpenDayRefresh; model.consumeRebateUpdateEvent -= ConsumeRebateUpdateEvent; OperationTimeHepler.Instance.operationTimeUpdateEvent -= OperationTimeUpdateEvent; OperationTimeHepler.Instance.dayResetEvent -= DayResetEvent; } protected override void OnAfterClose() @@ -86,23 +81,15 @@ m_Controller.m_Scorller.RefreshActiveCellViews(); } private void SecondEvent() private void DayResetEvent(int resetType) { var index = OperationTimeHepler.Instance.IndexOfOperationDays(Operation.ConsumeRebate); if (index != rebateOpenDayIndex) OperationBase operationBase; if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.ConsumeRebate, out operationBase)) { rebateOpenDayIndex = index; DisplayRebate(); } } private void OnServerOpenDayRefresh() { var index = OperationTimeHepler.Instance.IndexOfOperationDays(Operation.ConsumeRebate); if (index != rebateOpenDayIndex) { rebateOpenDayIndex = index; DisplayRebate(); if (resetType == operationBase.resetType) { DisplayRebate(); } } } System/Welfare/GiftPackageClass.cs
@@ -1,4 +1,5 @@ using System.Collections; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; namespace Snxxz.UI @@ -7,33 +8,45 @@ { public List<Gift_Package> giftpackage1 = new List<Gift_Package>(); public int IndexOfFlashShop() public int IndexOfGift(DateTime time) { if (giftpackage1.Count == 1) if (allDay) { return 0; } var _timeIndex = IndexOfOpenTime(TimeUtility.ServerNow); if (_timeIndex == -1) { return -1; } return Mathf.Min(giftpackage1.Count - 1, allDay ? 0 : _timeIndex); } public GiftPackageGift GetFlashSaleGift(int _index, int _id) { if (_index < giftpackage1.Count) { for (int i = 0; i < giftpackage1[_index].gifts.Length; i++) if (!dayReset) { if (giftpackage1[_index].gifts[i].id == _id) { return giftpackage1[_index].gifts[i]; } return 0; } var index = IndexOfDays(time); switch (resetType) { case 0: return index; case 1: if (time.Hour < DayResetHour) { return Mathf.Max(0, index - 1); } else { return index; } default: return index; } } return default(GiftPackageGift); else { var index = 0; for (int i = 0; i < times.Count; i++) { if (times[i].InTime(time)) { index = i; break; } } return index; } } public override bool SatisfyOpenCondition() @@ -60,6 +73,40 @@ return textBuilder.ToString(); } public void ParsePackage(HAA12_tagMCFlashGiftbagInfo package) { for (int i = 0; i < package.GiftbagTypeCount; i++) { var GiftbagType = new Gift_Package(); var Giftbag = package.GiftbagTypeInfo[i]; GiftbagType.gifts = new GiftPackageGift[Giftbag.GiftbagCount]; for (int k = 0; k < Giftbag.GiftbagCount; k++) { var gift = new GiftPackageGift(); var pakGift = Giftbag.GiftbagInfo[k]; gift.id = (int)pakGift.GiftID; gift.limitNum = pakGift.BuyCountLimit; gift.rmb = (int)pakGift.RMB; gift.rmbOriginal = (int)pakGift.RMBOriginal; gift.OrderInfo = pakGift.OrderInfo; gift.OrderInfoLength = pakGift.OrderInfoLen; gift.items = new GiftPackageItem[pakGift.GiftItemCount]; for (int q = 0; q < pakGift.GiftItemCount; q++) { var item = new GiftPackageItem(); item.itemId = (int)pakGift.ItemInfo[q].ItemID; item.isBind = pakGift.ItemInfo[q].IsBind; item.itemCount = pakGift.ItemInfo[q].ItemCount; item.isMainItem = pakGift.ItemInfo[q].IsMainItem == 1; gift.items[q] = item; } GiftbagType.gifts[k] = gift; } giftpackage1.Add(GiftbagType); } } public struct Gift_Package { public GiftPackageGift[] gifts; System/Welfare/OperationBase.cs
@@ -108,7 +108,7 @@ return date >= startDate && date <= endDate; } public int IndexOfDays(DateTime time) protected int IndexOfDays(DateTime time) { if (!InDay(time)) { @@ -116,26 +116,6 @@ } DateTime s = new DateTime(startDate.year, startDate.month, startDate.day); return (time - s).Days; } public int IndexOfOpenTime(DateTime time) { if (!InTime(time)) { return -1; } if (allDay) { return 0; } for (int i = 0; i < times.Count; i++) { if (times[i].InTime(time)) { return i; } } return -1; } public int GetSurplusTime(DateTime time) System/Welfare/OperationConsumeRebate.cs
@@ -31,18 +31,82 @@ rebates.Clear(); } public void ParseRebate(HAA09_tagMCCostRebateInfo package) { for (int i = 0; i < package.AwardDays; i++) { var _rebate = package.AwardDayInfo[i]; Rebate rebate = new Rebate(); for (int k = 0; k < _rebate.AwardCount; k++) { RebateGrade rebateGrade = new RebateGrade(); rebateGrade.needGold = (int)_rebate.AwardInfo[k].NeedGold; rebateGrade.index = _rebate.AwardInfo[k].AwardIndex; for (int q = 0; q < _rebate.AwardInfo[k].AwardItemCount; q++) { var _item = _rebate.AwardInfo[k].AwardItem[q]; rebateGrade.items.Add(new Item() { itemId = (int)_item.ItemID, count = _item.ItemCount, isBind = _item.IsBind, }); } rebate.rebateGrades.Add(rebateGrade); } rebates.Add(rebate); } } public Rebate GetRebate(DateTime time) { if (rebates.Count == 0) { return null; } var index = IndexOfDays(time); if (index != -1 && index < rebates.Count) var index = Mathf.Min(rebates.Count - 1, IndexOfRebates(time)); return rebates[index]; } public int IndexOfRebates(DateTime time) { if (allDay) { return rebates[index]; if (!dayReset) { return 0; } var index = IndexOfDays(time); switch (resetType) { case 0: return index; case 1: if (time.Hour < DayResetHour) { return Mathf.Max(0, index - 1); } else { return index; } default: return index; } } return rebates[rebates.Count - 1]; else { var index = 0; for (int i = 0; i < times.Count; i++) { if (times[i].InTime(time)) { index = i; break; } } return index; } } public class Rebate System/Welfare/OperationFlashSale.cs
@@ -8,18 +8,45 @@ { public List<FlashSale> flashShops = new List<FlashSale>(); public int IndexOfFlashShop() public int IndexOfFlashSale(DateTime time) { if (flashShops.Count == 1) if (allDay) { return 0; if (!dayReset) { return 0; } var index = IndexOfDays(time); switch (resetType) { case 0: return index; case 1: if (time.Hour < DayResetHour) { return Mathf.Max(0, index - 1); } else { return index; } default: return index; } } var _timeIndex = IndexOfOpenTime(TimeUtility.ServerNow); if (_timeIndex == -1) else { return -1; var index = 0; for (int i = 0; i < times.Count; i++) { if (times[i].InTime(time)) { index = i; break; } } return index; } return Mathf.Min(flashShops.Count - 1, allDay ? 0 : _timeIndex); } public FlashSaleGift GetFlashSaleGift(int _index, int _id) @@ -61,30 +88,86 @@ return textBuilder.ToString(); } public int GetSurplusTime(int index) public int GetSurplusTime() { if (!InTime(TimeUtility.ServerNow)) var time = TimeUtility.ServerNow; if (!InTime(time)) { return 0; } var seconds = 0; if (times.Count == 0) if (allDay) { DateTime endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month, TimeUtility.Day, 0, 0, 0); endOperationTime = endOperationTime.AddDays(1); seconds = (int)(endOperationTime - TimeUtility.ServerNow).TotalSeconds; if (!dayReset) { return GetSurplusTime(time); } if (resetType == 0) { DateTime endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month, TimeUtility.Day, 0, 0, 0); endOperationTime = endOperationTime.AddDays(1); seconds = (int)(endOperationTime - TimeUtility.ServerNow).TotalSeconds; } else if (resetType == 1) { DateTime endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month, TimeUtility.Day, DayResetHour, 0, 0); if (time.Hour >= DayResetHour) { endOperationTime = endOperationTime.AddDays(1); } seconds = (int)(endOperationTime - TimeUtility.ServerNow).TotalSeconds; } } if (index >= 0 && index < times.Count) else { var _endTime = times[index]; DateTime endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month, TimeUtility.Day, _endTime.endHour, _endTime.endMinute, 0); seconds = (int)(endOperationTime - TimeUtility.ServerNow).TotalSeconds; for (int i = 0; i < times.Count; i++) { if (times[i].InTime(time)) { DateTime endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month, TimeUtility.Day, times[i].endHour, times[i].endMinute, 0); seconds = (int)(endOperationTime - TimeUtility.ServerNow).TotalSeconds; break; } } } return seconds; } public void ParsePackage(HAA11_tagMCSpringSaleInfo package) { for (int i = 0; i < package.ShopCount; i++) { var flashShop = new FlashSale(); var shop = package.ShopInfo[i]; flashShop.gifts = new FlashSaleGift[shop.GiftbagCount]; for (int k = 0; k < shop.GiftbagCount; k++) { var gift = new FlashSaleGift(); var pakGift = shop.GiftbagInfo[k]; gift.id = (int)pakGift.GiftID; gift.limitNum = pakGift.BuyCountLimit; gift.moneyNumber = (int)pakGift.MoneyNumber; gift.moneyType = pakGift.MoneyType; gift.moneyOriginal = (int)pakGift.MoneyOriginal; gift.items = new FlashSaleItem[pakGift.GiftItemCount]; for (int q = 0; q < pakGift.GiftItemCount; q++) { var item = new FlashSaleItem(); item.itemId = (int)pakGift.ItemInfo[q].ItemID; item.isBind = pakGift.ItemInfo[q].IsBind; item.itemCount = pakGift.ItemInfo[q].ItemCount; item.isMainItem = pakGift.ItemInfo[q].IsMainItem == 1; gift.items[q] = item; } flashShop.gifts[k] = gift; } flashShops.Add(flashShop); } } public struct FlashSale { public FlashSaleGift[] gifts; System/Welfare/OperationTimeHepler.cs
@@ -105,22 +105,9 @@ { OperationBase operation = null; operationDict.TryGetValue(Operation.MultipleExp, out operation); if (package.StartDate == null || package.StartDate.Equals(string.Empty) || package.EndtDate == null || package.EndtDate.Equals(string.Empty)) if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate)) { if (operationDict.ContainsKey(Operation.MultipleExp)) { operationDict.Remove(Operation.MultipleExp); } if (operationServerCloseEvent != null) { operationServerCloseEvent(Operation.MultipleExp); } if (operationEndEvent != null) { operationEndEvent(Operation.MultipleExp, 0); operationEndEvent(Operation.MultipleExp, 1); } ForceStopOperation(Operation.MultipleExp); } else { @@ -145,6 +132,7 @@ } } } /// <summary> /// 消费返利 /// </summary> @@ -153,22 +141,9 @@ { OperationBase operationBase = null; operationDict.TryGetValue(Operation.ConsumeRebate, out operationBase); if (package.StartDate == null || package.StartDate.Equals(string.Empty) || package.EndtDate == null || package.EndtDate.Equals(string.Empty)) if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate)) { if (operationDict.ContainsKey(Operation.ConsumeRebate)) { operationDict.Remove(Operation.ConsumeRebate); } if (operationServerCloseEvent != null) { operationServerCloseEvent(Operation.ConsumeRebate); } if (operationEndEvent != null) { operationEndEvent(Operation.ConsumeRebate, 0); operationEndEvent(Operation.ConsumeRebate, 1); } ForceStopOperation(Operation.ConsumeRebate); } else { @@ -183,35 +158,14 @@ operation.startDate = ParseOperationDate(package.StartDate); operation.endDate = ParseOperationDate(package.EndtDate); operation.dayReset = package.IsDayReset == 1; for (int i = 0; i < package.AwardDays; i++) { var _rebate = package.AwardDayInfo[i]; OperationConsumeRebate.Rebate rebate = new OperationConsumeRebate.Rebate(); for (int k = 0; k < _rebate.AwardCount; k++) { OperationConsumeRebate.RebateGrade rebateGrade = new OperationConsumeRebate.RebateGrade(); rebateGrade.needGold = (int)_rebate.AwardInfo[k].NeedGold; rebateGrade.index = _rebate.AwardInfo[k].AwardIndex; for (int q = 0; q < _rebate.AwardInfo[k].AwardItemCount; q++) { var _item = _rebate.AwardInfo[k].AwardItem[q]; rebateGrade.items.Add(new OperationConsumeRebate.Item() { itemId = (int)_item.ItemID, count = _item.ItemCount, isBind = _item.IsBind, }); } rebate.rebateGrades.Add(rebateGrade); } operation.rebates.Add(rebate); } operation.ParseRebate(package); if (operationTimeUpdateEvent != null) { operationTimeUpdateEvent(Operation.ConsumeRebate); } } } /// <summary> /// 限时特惠 /// </summary> @@ -222,19 +176,7 @@ operationDict.TryGetValue(Operation.FlashSale, out operationBase); if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate)) { if (operationDict.ContainsKey(Operation.FlashSale)) { operationDict.Remove(Operation.FlashSale); } if (operationServerCloseEvent != null) { operationServerCloseEvent(Operation.FlashSale); } if (operationEndEvent != null) { operationEndEvent(Operation.FlashSale, 0); operationEndEvent(Operation.FlashSale, 1); } ForceStopOperation(Operation.FlashSale); } else { @@ -254,65 +196,25 @@ operation.times.Add(ParseOperationTime(package.ActivityTime[i].StartTime, package.ActivityTime[i].EndtTime)); } for (int i = 0; i < package.ShopCount; i++) { var flashShop = new OperationFlashSale.FlashSale(); var shop = package.ShopInfo[i]; flashShop.gifts = new OperationFlashSale.FlashSaleGift[shop.GiftbagCount]; for (int k = 0; k < shop.GiftbagCount; k++) { var gift = new OperationFlashSale.FlashSaleGift(); var pakGift = shop.GiftbagInfo[k]; gift.id = (int)pakGift.GiftID; gift.limitNum = pakGift.BuyCountLimit; gift.moneyNumber = (int)pakGift.MoneyNumber; gift.moneyType = pakGift.MoneyType; gift.moneyOriginal = (int)pakGift.MoneyOriginal; gift.items = new OperationFlashSale.FlashSaleItem[pakGift.GiftItemCount]; for (int q = 0; q < pakGift.GiftItemCount; q++) { var item = new OperationFlashSale.FlashSaleItem(); item.itemId = (int)pakGift.ItemInfo[q].ItemID; item.isBind = pakGift.ItemInfo[q].IsBind; item.itemCount = pakGift.ItemInfo[q].ItemCount; item.isMainItem = pakGift.ItemInfo[q].IsMainItem == 1; gift.items[q] = item; } flashShop.gifts[k] = gift; } operation.flashShops.Add(flashShop); } operation.ParsePackage(package); if (operationTimeUpdateEvent != null) { operationTimeUpdateEvent(Operation.FlashSale); } } } /// <summary> /// 限时礼包 /// </summary> /// <param name="package"></param> /// public void UpdateGiftPackage(HAA12_tagMCFlashGiftbagInfo package) { OperationBase operationBase = null; operationDict.TryGetValue(Operation.GiftPackage, out operationBase); if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate)) { if (operationDict.ContainsKey(Operation.GiftPackage)) { operationDict.Remove(Operation.GiftPackage); } if (operationServerCloseEvent != null) { operationServerCloseEvent(Operation.GiftPackage); } if (operationEndEvent != null) { operationEndEvent(Operation.GiftPackage, 0); operationEndEvent(Operation.GiftPackage, 1); } ForceStopOperation(Operation.GiftPackage); } else { @@ -332,36 +234,7 @@ operation.times.Add(ParseOperationTime(package.ActivityTime[i].StartTime, package.ActivityTime[i].EndtTime)); } for (int i = 0; i < package.GiftbagTypeCount; i++) { var GiftbagType = new GiftPackageClass.Gift_Package(); var Giftbag = package.GiftbagTypeInfo[i]; GiftbagType.gifts = new GiftPackageClass.GiftPackageGift[Giftbag.GiftbagCount]; for (int k = 0; k < Giftbag.GiftbagCount; k++) { var gift = new GiftPackageClass.GiftPackageGift(); var pakGift = Giftbag.GiftbagInfo[k]; gift.id = (int)pakGift.GiftID; gift.limitNum = pakGift.BuyCountLimit; gift.rmb = (int)pakGift.RMB; gift.rmbOriginal = (int)pakGift.RMBOriginal; gift.OrderInfo = pakGift.OrderInfo; gift.OrderInfoLength = pakGift.OrderInfoLen; gift.items = new GiftPackageClass.GiftPackageItem[pakGift.GiftItemCount]; for (int q = 0; q < pakGift.GiftItemCount; q++) { var item = new GiftPackageClass.GiftPackageItem(); item.itemId = (int)pakGift.ItemInfo[q].ItemID; item.isBind = pakGift.ItemInfo[q].IsBind; item.itemCount = pakGift.ItemInfo[q].ItemCount; item.isMainItem = pakGift.ItemInfo[q].IsMainItem == 1; gift.items[q] = item; } GiftbagType.gifts[k] = gift; } operation.giftpackage1.Add(GiftbagType); } operation.ParsePackage(package); if (operationTimeUpdateEvent != null) { operationTimeUpdateEvent(Operation.GiftPackage); @@ -374,21 +247,7 @@ { if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate)) { if (operationDict.ContainsKey(Operation.BossReborn)) { operationDict.Remove(Operation.BossReborn); } if (operationServerCloseEvent != null) { operationServerCloseEvent(Operation.BossReborn); } if (operationEndEvent != null) { operationEndEvent(Operation.BossReborn, 0); operationEndEvent(Operation.BossReborn, 1); } ForceStopOperation(Operation.BossReborn); } else { @@ -417,22 +276,9 @@ { OperationBase operation = null; operationDict.TryGetValue(Operation.FairyCeremony, out operation); if (package.StartDate == null || package.StartDate.Equals(string.Empty) || package.EndtDate == null || package.EndtDate.Equals(string.Empty)) if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate)) { if (operationDict.ContainsKey(Operation.FairyCeremony)) { operationDict.Remove(Operation.FairyCeremony); } if (operationServerCloseEvent != null) { operationServerCloseEvent(Operation.FairyCeremony); } if (operationEndEvent != null) { operationEndEvent(Operation.FairyCeremony, 0); operationEndEvent(Operation.FairyCeremony, 1); } ForceStopOperation(Operation.FairyCeremony); } else { @@ -460,22 +306,9 @@ { OperationBase operation = null; operationDict.TryGetValue(Operation.MultipRealmPoint, out operation); if (package.StartDate == null || package.StartDate.Equals(string.Empty) || package.EndtDate == null || package.EndtDate.Equals(string.Empty)) if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate)) { if (operationDict.ContainsKey(Operation.MultipRealmPoint)) { operationDict.Remove(Operation.MultipRealmPoint); } if (operationServerCloseEvent != null) { operationServerCloseEvent(Operation.MultipRealmPoint); } if (operationEndEvent != null) { operationEndEvent(Operation.MultipRealmPoint, 0); operationEndEvent(Operation.MultipRealmPoint, 1); } ForceStopOperation(Operation.MultipRealmPoint); } else { @@ -493,6 +326,23 @@ { operationTimeUpdateEvent(Operation.MultipRealmPoint); } } } void ForceStopOperation(Operation operationType) { if (operationDict.ContainsKey(operationType)) { operationDict.Remove(operationType); } if (operationServerCloseEvent != null) { operationServerCloseEvent(operationType); } if (operationEndEvent != null) { operationEndEvent(operationType, 0); operationEndEvent(operationType, 1); } } @@ -563,16 +413,6 @@ { SysNotifyMgr.Instance.ShowTip("InOperationTimeError"); } } public int IndexOfOperationDays(Operation type) { OperationBase operation; if (TryGetOperationTime(type, out operation)) { return operation.IndexOfDays(TimeUtility.ServerNow); } return -1; } OperationDate ParseOperationDate(string date)