From 82931aabaaa3e479bc04e11630a77cd9c9dd5fe3 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期五, 26 十月 2018 20:05:36 +0800
Subject: [PATCH] Merge branch 'master' into leonard
---
System/OpenServerActivity/OpenServerGiftWin.cs | 109 ++++++++++++++++++------------------------------------
1 files changed, 36 insertions(+), 73 deletions(-)
diff --git a/System/OpenServerActivity/OpenServerGiftWin.cs b/System/OpenServerActivity/OpenServerGiftWin.cs
index 42f54e8..f9788a0 100644
--- a/System/OpenServerActivity/OpenServerGiftWin.cs
+++ b/System/OpenServerActivity/OpenServerGiftWin.cs
@@ -15,7 +15,6 @@
public class OpenServerGiftWin : Window
{
[SerializeField] RectTransform m_ContainerDisplay;
- [SerializeField] Button[] m_CloseBtns;
[SerializeField] OSGiftBehaviour[] m_OSGifts;
[SerializeField] RectTransform m_ContainerTime;
[SerializeField] Text m_Overdue;
@@ -29,8 +28,6 @@
}
}
- int currentSelectId = 0;
-
OSGiftModel giftModel { get { return ModelCenter.Instance.GetModel<OSGiftModel>(); } }
#region Built-in
protected override void BindController()
@@ -39,24 +36,20 @@
protected override void AddListeners()
{
- for (int i = 0; i < m_CloseBtns.Length; i++)
- {
- m_CloseBtns[i].onClick.AddListener(OnCloseClick);
- }
}
protected override void OnPreOpen()
{
- WindowCenter.Instance.windowAfterOpenEvent += WindowAfterOpenEvent;
- WindowCenter.Instance.windowAfterCloseEvent += windowAfterCloseEvent;
- model.RefreshBuyShopLimitEvent += RefreshBuyShopLimitEvent;
- TimeUtility.OnServerOpenDayRefresh += OnServerOpenDayRefresh;
- GlobalTimeEvent.Instance.secondEvent += SecondEvent;
- giftModel.timeLimitUpdate += TimeLimitUpdate;
- giftModel.SetDayRemind();
- Display();
+ if (!giftModel.alreadyOpens.Contains(giftModel.selectIndex))
+ {
+ giftModel.selectIndex = giftModel.alreadyOpens[0];
+ }
- m_ContainerDisplay.gameObject.SetActive(!WindowCenter.Instance.IsOpen<OffLineOnHookWin>());
+ model.RefreshBuyShopLimitEvent += RefreshBuyShopLimitEvent;
+ GlobalTimeEvent.Instance.secondEvent += SecondEvent;
+ giftModel.onSelectUpdate += OnSelectUpdate;
+ giftModel.jumpGiftId = 0;
+ Display();
}
protected override void OnAfterOpen()
@@ -65,12 +58,9 @@
protected override void OnPreClose()
{
- WindowCenter.Instance.windowAfterOpenEvent -= WindowAfterOpenEvent;
- WindowCenter.Instance.windowAfterCloseEvent -= windowAfterCloseEvent;
model.RefreshBuyShopLimitEvent -= RefreshBuyShopLimitEvent;
- TimeUtility.OnServerOpenDayRefresh -= OnServerOpenDayRefresh;
GlobalTimeEvent.Instance.secondEvent -= SecondEvent;
- giftModel.timeLimitUpdate -= TimeLimitUpdate;
+ giftModel.onSelectUpdate -= OnSelectUpdate;
}
protected override void OnAfterClose()
@@ -78,28 +68,12 @@
}
#endregion
- private void WindowAfterOpenEvent(Window _win)
- {
- if(_win is OffLineOnHookWin)
- {
- m_ContainerDisplay.gameObject.SetActive(false);
- }
- }
-
- private void windowAfterCloseEvent(Window _win)
- {
- if (_win is OffLineOnHookWin)
- {
- m_ContainerDisplay.gameObject.SetActive(true);
- }
- }
-
- private void RefreshBuyShopLimitEvent()
+ private void OnSelectUpdate()
{
Display();
}
- private void OnServerOpenDayRefresh()
+ private void RefreshBuyShopLimitEvent()
{
Display();
}
@@ -109,59 +83,48 @@
DisplayTimer();
}
- private void TimeLimitUpdate()
- {
- Display();
- }
-
void DisplayTimer()
{
- var seconds = (int)(giftModel.overDueTime - TimeUtility.ServerNow).TotalSeconds;
- if (giftModel.IsGiftOverdue(currentSelectId) || seconds <= 0)
+ if (giftModel.selectIndex >= 0 && giftModel.selectIndex < giftModel.gifts.Count)
{
- 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);
+ var gift = giftModel.gifts[giftModel.selectIndex];
+ var startTime = TimeUtility.GetTime(giftModel.startSeconds);
+ var endTime = startTime.AddDays(gift.openDays);
+ endTime = new DateTime(endTime.Year, endTime.Month, endTime.Day, 0, 0, 0);
+ var seconds = (int)(endTime - TimeUtility.ServerNow).TotalSeconds;
+ if (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;
- StoreConfig.TryGetStoreConfigs((int)StoreFunc.OSGift, out _list);
var _index = 0;
- for (int i = 0; i < _list.Count; i++)
+ for (int i = 0; i < giftModel.gifts.Count; i++)
{
- if (!giftModel.IsGiftOverdue(_list[i].ID))
+ if (giftModel.selectIndex == 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])
- {
- _index = i;
- currentSelectId = _list[i].ID;
- m_OSGifts[i].Display(_list[i].ID);
- break;
- }
+ m_OSGifts[i].Display(giftModel.gifts[i].giftId);
+ _index = i;
+ break;
}
- _index = i;
}
+ giftModel.SetDayRemind(giftModel.selectIndex);
for (int i = 0; i < m_OSGifts.Length; i++)
{
m_OSGifts[i].gameObject.SetActive(_index == i);
}
DisplayTimer();
- }
-
- private void OnCloseClick()
- {
- CloseImmediately();
}
}
--
Gitblit v1.8.0