| System/OpenServerActivity/FlashSaleBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/OpenServerActivity/FlashSaleCoolDown.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/OpenServerActivity/FlashSaleModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/OpenServerActivity/FlashSaleWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Welfare/OperationFlashSale.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Welfare/OperationTimeHepler.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/OpenServerActivity/FlashSaleBehaviour.cs
@@ -20,14 +20,13 @@ StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } } FlashSaleModel model { get { return ModelCenter.Instance.GetModel<FlashSaleModel>(); } } public void Display(int index, int _id) public void Display(OperationFlashSale.FlashSaleGift gift) { m_BuyButton.RemoveAllListeners(); OperationBase operationBase; if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.FlashSale, out operationBase)) { OperationFlashSale operation = operationBase as OperationFlashSale; var gift = operation.GetFlashSaleGift(index, _id); if (!gift.Equals(default(OperationFlashSale.FlashSaleGift))) { m_OriginalCostIcon.SetIconWithMoneyType(gift.moneyType); @@ -66,7 +65,7 @@ m_BuyButton.gameObject.SetActive(buyCount < gift.limitNum); m_BuyButton.AddListener(() => { model.SendBuyFlashSale(index, _id); model.SendBuyFlashSale(gift); }); } } System/OpenServerActivity/FlashSaleCoolDown.cs
@@ -15,23 +15,40 @@ DisplayTime(); GlobalTimeEvent.Instance.secondEvent -= SecondEvent; GlobalTimeEvent.Instance.secondEvent += SecondEvent; OperationTimeHepler.Instance.dayResetEvent -= DayResetEvent; OperationTimeHepler.Instance.dayResetEvent += DayResetEvent; } private void DayResetEvent(int resetType) { DisplayTime(); } private void SecondEvent() { var seconds = OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.FlashSale); m_Time.timeShow.color = seconds > 3600 ? UIHelper.GetUIColor(TextColType.Green) : UIHelper.GetUIColor(TextColType.Red); OperationBase operationBase; if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.FlashSale, out operationBase)) { var seconds = (operationBase as OperationFlashSale).GetSurplusTime(); m_Time.timeShow.color = seconds > 3600 ? UIHelper.GetUIColor(TextColType.Green) : UIHelper.GetUIColor(TextColType.Red); } } private void OnDisable() { GlobalTimeEvent.Instance.secondEvent -= SecondEvent; OperationTimeHepler.Instance.dayResetEvent -= DayResetEvent; } void DisplayTime() { var seconds = OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.FlashSale); m_Time.Begin(DateTime.Now.AddTicks(seconds * TimeSpan.TicksPerSecond)); OperationBase operationBase; if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.FlashSale, out operationBase)) { var seconds = (operationBase as OperationFlashSale).GetSurplusTime(); m_Time.timeShow.color = seconds > 3600 ? UIHelper.GetUIColor(TextColType.Green) : UIHelper.GetUIColor(TextColType.Red); m_Time.Begin(DateTime.Now.AddTicks(seconds * TimeSpan.TicksPerSecond)); } } } } System/OpenServerActivity/FlashSaleModel.cs
@@ -87,7 +87,7 @@ } } public void SendBuyFlashSale(int index, int id) public void SendBuyFlashSale(OperationFlashSale.FlashSaleGift gift) { OperationBase operationBase; if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.FlashSale, out operationBase)) @@ -98,7 +98,6 @@ SysNotifyMgr.Instance.ShowTip("ActiveOutTime"); return; } var gift = operation.GetFlashSaleGift(index, id); if (!gift.Equals(default(OperationFlashSale.FlashSaleGift))) { var buyInfo = storeModel.GetBuyShopLimit((uint)gift.id); @@ -169,10 +168,9 @@ if (operationBase != null && operationBase.InTime(TimeUtility.ServerNow)) { OperationFlashSale operation = operationBase as OperationFlashSale; var index = operation.IndexOfFlashSale(TimeUtility.ServerNow); if (index != -1 && index < operation.flashShops.Count) OperationFlashSale.FlashSale flashShop; if (operation.TryGetFlashSale(TimeUtility.ServerNow, out flashShop)) { var flashShop = operation.flashShops[index]; for (int i = 0; i < flashShop.gifts.Length; i++) { var gift = flashShop.gifts[i]; System/OpenServerActivity/FlashSaleWin.cs
@@ -80,10 +80,9 @@ 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.IndexOfFlashSale(TimeUtility.ServerNow); if (index != -1 && index < operation.flashShops.Count) OperationFlashSale.FlashSale flashSale; if (operation.TryGetFlashSale(TimeUtility.ServerNow, out flashSale)) { var flashSale = operation.flashShops[index]; if (flashSale.gifts.Length > 0) { var moneyType = flashSale.gifts[0].moneyType; @@ -95,7 +94,7 @@ if (i < flashSale.gifts.Length) { m_FlashSaleBehaviours[i].gameObject.SetActive(true); m_FlashSaleBehaviours[i].Display(index, flashSale.gifts[i].id); m_FlashSaleBehaviours[i].Display(flashSale.gifts[i]); } else { System/Welfare/OperationFlashSale.cs
@@ -8,7 +8,19 @@ { public List<FlashSale> flashShops = new List<FlashSale>(); public int IndexOfFlashSale(DateTime time) public bool TryGetFlashSale(DateTime time, out FlashSale flashSale) { flashSale = default(FlashSale); var index = IndexOfFlashSale(time); index = Mathf.Min(index, flashShops.Count - 1); if (index >= 0) { flashSale = flashShops[index]; } return index >= 0; } int IndexOfFlashSale(DateTime time) { if (allDay) { @@ -47,21 +59,6 @@ } return index; } } public FlashSaleGift GetFlashSaleGift(int _index, int _id) { if (_index < flashShops.Count) { for (int i = 0; i < flashShops[_index].gifts.Length; i++) { if (flashShops[_index].gifts[i].id == _id) { return flashShops[_index].gifts[i]; } } } return default(FlashSaleGift); } public override bool SatisfyOpenCondition() System/Welfare/OperationTimeHepler.cs
@@ -99,6 +99,10 @@ private void HourEvent() { if (!(StageManager.Instance.CurrentStage is DungeonStage)) { return; } if (TimeUtility.Hour == 0 && dayResetEvent != null) { dayResetEvent(0);