| System/Vip/LimitedTimePackageItemBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Vip/LimitedTimePackageItemBehaviour.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Vip/LimitedTimePackageItemCell.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Vip/LimitedTimePackageItemCell.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Vip/LimitedTimePackageModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Vip/LimitedTimePackageWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Welfare/GiftPackageClass.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/Vip/LimitedTimePackageItemBehaviour.cs
New file @@ -0,0 +1,119 @@ using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class LimitedTimePackageItemBehaviour : MonoBehaviour { [SerializeField] RectTransform m_ContainerOpen; [SerializeField] RectTransform m_ContainerClose; [SerializeField] Text m_MoneyClose; [SerializeField] Text m_MoneyOpen; [SerializeField] Image m_OpenRedpoint; [SerializeField] Image m_CloseRedpoint; [SerializeField] Button m_Select; LimitedTimePackageItemClassModel model { get { return ModelCenter.Instance.GetModel<LimitedTimePackageItemClassModel>(); } } int selectIndex = -1; private void Awake() { m_Select.onClick.AddListener(Select); } private void OnEnable() { model.selectUpdate += SelectUpdate; // model.accumulateRechargeUpdate += AccumulateRechargeUpdate; model.onStateUpdate += OnStateUpate; } private void OnDisable() { model.selectUpdate -= SelectUpdate; // model.accumulateRechargeUpdate -= AccumulateRechargeUpdate; model.onStateUpdate -= OnStateUpate; } private void OnStateUpate(int obj) { DisplayRedpoint(); } private void AccumulateRechargeUpdate() { DisplayRedpoint(); } public void Display(int index) { selectIndex = index; OperationBase operationBase; if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.GiftPackage, out operationBase)) { GiftPackageClass operation = operationBase as GiftPackageClass; GiftPackageClass.Gift_Package reward; if (operation.TryGetGift(TimeUtility.ServerNow, out reward)) { if (index < reward.gifts.Length) { var recharge = reward.gifts[index]; m_MoneyClose.text = reward.gifts[index].rmb.ToString(); m_MoneyOpen.text = reward.gifts[index].rmb.ToString(); DisplayRedpoint(); DisplaySelect(); } } } } void DisplaySelect() { m_ContainerOpen.gameObject.SetActive(model.selectIndex == selectIndex); m_ContainerClose.gameObject.SetActive(model.selectIndex != selectIndex); } void DisplayRedpoint() { OperationBase operationBase; bool satisfyGet = false; if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.GiftPackage, out operationBase)) { GiftPackageClass operation = operationBase as GiftPackageClass; GiftPackageClass.Gift_Package reward; if (operation.TryGetGift(TimeUtility.ServerNow, out reward)) { if (selectIndex < reward.gifts.Length && selectIndex >= 0) { var recharge = reward.gifts[selectIndex]; satisfyGet = model.IsExpired(selectIndex) && model.IsOpen; } } } m_OpenRedpoint.gameObject.SetActive(satisfyGet); m_CloseRedpoint.gameObject.SetActive(satisfyGet); } private void SelectUpdate(int index) { m_ContainerOpen.gameObject.SetActive(index == selectIndex); m_ContainerClose.gameObject.SetActive(index != selectIndex); } private void Select() { if (model.selectIndex != selectIndex && selectIndex != -1) { model.selectIndex = selectIndex; } } } } System/Vip/LimitedTimePackageItemBehaviour.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: a459a5b1953711d4485b92ae9669bdf9 timeCreated: 1565187180 licenseType: Free MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/Vip/LimitedTimePackageItemCell.cs
New file @@ -0,0 +1,17 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; namespace Snxxz.UI { public class LimitedTimePackageItemCell : CellView { [SerializeField] LimitedTimePackageItemBehaviour m_LimitedTimePackage; public void Display(int index) { m_LimitedTimePackage.Display(index); } } } System/Vip/LimitedTimePackageItemCell.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 0685125230372a1499a223a15cd89b20 timeCreated: 1565187804 licenseType: Free MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/Vip/LimitedTimePackageModel.cs
@@ -4,15 +4,28 @@ //-------------------------------------------------------- using Snxxz.UI; using System; using System.Collections; using System.Collections.Generic; using System.Text.RegularExpressions; using UnityEngine; [XLua.LuaCallCSharp] public class LimitedTimePackageItemClassModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk, IOpenServerActivity public class LimitedTimePackageItemClassModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk, IOpenServerActivity { int m_SelectIndex = 0; public int selectIndex { get { return m_SelectIndex; } set { if (m_SelectIndex != value) { if (selectUpdate != null) { selectUpdate(value); } } m_SelectIndex = value; } } public event Action<int> selectUpdate; public Dictionary<int, int> DicBuyPackage = new Dictionary<int, int>(); public event Action UpdateLimitedTimePackageItem; public event Action<int> onStateUpdate; @@ -82,7 +95,7 @@ { if (obj == Operation.GiftPackage) { // IsShowTip(); // IsShowTip(); if (onStateUpdate != null) { onStateUpdate(7); @@ -111,7 +124,7 @@ bool Isbool = !IsExpired(); if (day != GetDayOfYear && !IsExpired()) { // LocalSave.SetInt("IsOpenLimitedTime", GetDayOfYear); // LocalSave.SetInt("IsOpenLimitedTime", GetDayOfYear); redPointStre1.state = RedPointState.Simple; } else @@ -153,10 +166,11 @@ // DesignDebug.LogErrorFormat("礼包标题{0},所需金额{1},商品编号{2}", Title, RMBNum, OrderInfo); } public bool IsExpired() public bool IsExpired(int index = 0) { bool IsSatisfyAliveCondition = false; IsSatisfyAliveCondition = (OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.GiftPackage) || OperationTimeHepler.Instance.SatisfyAdvanceCondition(Operation.GiftPackage)); IsSatisfyAliveCondition = (OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.GiftPackage) || OperationTimeHepler.Instance.SatisfyAdvanceCondition(Operation.GiftPackage)); bool IsBuyBool = false; OperationBase operationBase; if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.GiftPackage, out operationBase)) @@ -167,8 +181,8 @@ { if (gift.gifts.Length > 0) { int BuyCountLimit = gift.gifts[0].limitNum;//限购数量 int GiftID = gift.gifts[0].id;//礼包ID int BuyCountLimit = gift.gifts[index].limitNum;//限购数量 int GiftID = gift.gifts[index].id;//礼包ID if (DicBuyPackage.ContainsKey(GiftID) && DicBuyPackage[GiftID] >= BuyCountLimit) { IsBuyBool = true; System/Vip/LimitedTimePackageWin.cs
@@ -21,6 +21,11 @@ [SerializeField] GameObject m_BoughtObj;//已购买 [SerializeField] Transform m_Horizontal; [SerializeField] RectTransform m_ContaienrLess; [SerializeField] LimitedTimePackageItemBehaviour[] m_LimitedTimePackageItems; [SerializeField] RectTransform m_ContainerMore; [SerializeField] ScrollerController m_ScrollerControl; [SerializeField] Text m_Money1;//原价 [SerializeField] Text m_Money2;//现价 [SerializeField] Text m_Text_ActivityTimeTo;//活动时间 @@ -28,7 +33,7 @@ private float time = 0; #region Built-in LimitedTimePackageItemClassModel limitedTimePackageItemModel { get { return ModelCenter.Instance.GetModel<LimitedTimePackageItemClassModel>(); } } protected override void BindController() { } @@ -51,9 +56,15 @@ OperationTimeHepler.Instance.operationTimeUpdateEvent += OperationTimeUpdateEvent; limitedTimePackageItemModel.UpdateLimitedTimePackageItem += UpdateLimitedTimePackageItem; GlobalTimeEvent.Instance.secondEvent += secondEvent; limitedTimePackageItemModel.selectUpdate += SelectChanged; time = 0; m_Buy_Btn.interactable = true; DisPlay(); } private void SelectChanged(int select) { DisPlay(select); } protected override void OnAfterOpen() @@ -64,7 +75,6 @@ LocalSave.SetInt("IsOpenLimitedTime", GetDayOfYear); limitedTimePackageItemModel.IsShowTip(); } } private void UpdateLimitedTimePackageItem() @@ -80,7 +90,7 @@ } } private void DisPlay() private void DisPlay(int _index = 0) { for (int i = 0; i < m_Horizontal.childCount; i++) { @@ -93,15 +103,15 @@ GiftPackageClass.Gift_Package gift; if (operation.TryGetGift(TimeUtility.ServerNow, out gift)) { if (gift.gifts.Length > 0) if (gift.gifts.Length > 0 && _index < gift.gifts.Length) { string str = string.Empty; str = gift.gifts[0].rmb + Language.Get("RMB_Package_Z"); str = gift.gifts[_index].rmb + Language.Get("RMB_Package_Z"); m_Text_PackageName.text = str; m_Money1.text = gift.gifts[0].rmbOriginal + Language.Get("RMB_Z");//原价 m_Money2.text = gift.gifts[0].rmb + Language.Get("RMB_Z");//现价 int BuyCountLimit = gift.gifts[0].limitNum;//限购数量 int GiftID = gift.gifts[0].id;//礼包ID m_Money1.text = gift.gifts[_index].rmbOriginal + Language.Get("RMB_Z");//原价 m_Money2.text = gift.gifts[_index].rmb + Language.Get("RMB_Z");//现价 int BuyCountLimit = gift.gifts[_index].limitNum;//限购数量 int GiftID = gift.gifts[_index].id;//礼包ID m_Buy_Btn.RemoveAllListeners(); m_Buy_Btn.AddListener(() => { @@ -125,7 +135,7 @@ { m_Buy_Btn.interactable = false; time = 0; limitedTimePackageItemModel.OpenFreePlat(str, gift.gifts[0].rmb, gift.gifts[0].OrderInfo); limitedTimePackageItemModel.OpenFreePlat(str, gift.gifts[_index].rmb, gift.gifts[_index].OrderInfo); return; } @@ -147,7 +157,7 @@ m_Buy_Btn.gameObject.SetActive(true); m_BoughtObj.SetActive(false); } var items = gift.gifts[0].items; var items = gift.gifts[_index].items; for (int i = 0; i < items.Length; i++) { int type = i; @@ -180,14 +190,55 @@ } } DisplaySurplusTime(); DisplayRewards(); } private void DisplayRewards() { OperationBase operationBase; GiftPackageClass.Gift_Package reward = default(GiftPackageClass.Gift_Package); if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.GiftPackage, out operationBase)) { var operation = operationBase as GiftPackageClass; operation.TryGetGift(TimeUtility.ServerNow, out reward); } m_ContaienrLess.gameObject.SetActive(reward.gifts.Length <= 4); m_ContainerMore.gameObject.SetActive(reward.gifts.Length > 4); if (reward.gifts.Length <= 4) { for (int i = 0; i < m_LimitedTimePackageItems.Length; i++) { if (i < reward.gifts.Length) { m_LimitedTimePackageItems[i].gameObject.SetActive(true); m_LimitedTimePackageItems[i].Display(i); } else { m_LimitedTimePackageItems[i].gameObject.SetActive(false); } } } else if (reward.gifts.Length > 4) { m_ScrollerControl.Refresh(); for (int i = 0; i < reward.gifts.Length; i++) { m_ScrollerControl.AddCell(ScrollerDataType.Header, i); } m_ScrollerControl.Restart(); m_ScrollerControl.JumpIndex(limitedTimePackageItemModel.selectIndex); } } protected override void OnPreClose() { OperationTimeHepler.Instance.operationTimeUpdateEvent -= OperationTimeUpdateEvent; limitedTimePackageItemModel.UpdateLimitedTimePackageItem -= UpdateLimitedTimePackageItem; GlobalTimeEvent.Instance.secondEvent -= secondEvent; limitedTimePackageItemModel.selectUpdate -= SelectChanged; } System/Welfare/GiftPackageClass.cs
@@ -1,7 +1,7 @@ using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityEngine; namespace Snxxz.UI { public class GiftPackageClass : OperationBase @@ -102,5 +102,5 @@ public bool isMainItem; } } } }