| System/HappyXB/BestXBWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/HappyXB/HappyXBGetItemWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/HappyXB/HappyXBModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/HappyXB/RuneXBWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Redpoint/RedpointBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Vip/FairyJadeInvestmentModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Welfare/OperationTimeHepler.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Welfare/WelfareCenter.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Utility/EnumHelper.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/HappyXB/BestXBWin.cs
@@ -245,13 +245,13 @@ private void RefreshXBResult() { CreateGetItem(); targetIndexs = XBModel.GetXbResultDict().Values.ToList(); targetIndexs = XBModel.rangelist; StartCoroutine(PlayXBAni(0,0)); } private void CreateGetItem() { List<XBGetItem> xbResultlist = XBModel.GetXbResultDict().Values.ToList(); List<XBGetItem> xbResultlist = XBModel.rangelist; if (xbResultlist.Count < 2) return; luckDesObj.SetActive(false); @@ -284,8 +284,19 @@ if (index < xbResultItemBasiclist.Count) { xbResultItemBasiclist[index].gameObject.SetActive(true); xbResultItemBasiclist[index].transform.DOScale(new Vector3(1, 1, 1), scaleTime); xbResultItemBasiclist[index].transform.DOScale(new Vector3(1, 1, 1), scaleTime).OnComplete(()=> { if (index == xbResultItemBasiclist.Count - 1) { RestXBItemState(); } }); if (xbResultItemBasiclist[index].itemConfig != null) { XBModel.GetNotifyResult(xbResultItemBasiclist[index].itemConfig.ID, int.Parse(xbResultItemBasiclist[index].countText.text)); } XBModel.GetNotifyResult(xbResultItemBasiclist[index].itemConfig.ID, int.Parse(xbResultItemBasiclist[index].countText.text)); } } @@ -353,7 +364,14 @@ yield return new WaitForSeconds(stopTime); if(isEndXB) { RestXBItemState(); if(targetIndexs.Count > 1) { ShowXBResultCtrl(targetIndexs.Count - 1); } else { RestXBItemState(); } } else { System/HappyXB/HappyXBGetItemWin.cs
@@ -169,7 +169,7 @@ DestroyGetItemlist(); GetItemlist.Clear(); getItemBasiclist.Clear(); xbItemlist = XBModel.GetXbResultDict().Values.ToList(); xbItemlist = XBModel.rangelist; for (int i = 0; i < xbItemlist.Count; i++) { XBGetItem xbItem = xbItemlist[i]; System/HappyXB/HappyXBModel.cs
@@ -101,7 +101,16 @@ public void GetNotifyResult(int itemId, int itemCount) { DesignDebug.Log("GetNotifyResult" + XBNotifyParms.Count); int notifyIndex = 0; if(CheckNotifyItemByIdAndCnt(itemId,itemCount,out notifyIndex)) { SysNotifyMgr.Instance.ShowTip("HappyXB", XBNotifyParms[notifyIndex].ToArray()); } } private bool CheckNotifyItemByIdAndCnt(int itemId,int itemCnt,out int notifyIndex) { notifyIndex = 0; for (int i = 0; i < XBNotifyParms.Count; i++) { if (XBNotifyParms[i] != null && XBNotifyParms[i].Count > 3) @@ -110,13 +119,14 @@ int.TryParse(XBNotifyParms[i][1].ToString(), out notifyItemId); int notifyItemCnt = 0; int.TryParse(XBNotifyParms[i][3].ToString(), out notifyItemCnt); if (notifyItemId == itemId && notifyItemCnt == itemCount) if (notifyItemId == itemId && notifyItemCnt == itemCnt) { SysNotifyMgr.Instance.ShowTip("HappyXB", XBNotifyParms[i].ToArray()); break; notifyIndex = i; return true; } } } return false; } private void SetXBFuncDict(int type,FuncConfigConfig xbSet) @@ -306,16 +316,17 @@ } } } if(RefreshXBResultAct != null) SetXBResultRecord(); if (RefreshXBResultAct != null) { RefreshXBResultAct(); } SetXBResultRecord(); } List<string> itemGetTimeArray = new List<string>(); List<string> getNewItemLoglist = new List<string>(); List<XBGetItem> xbItemRecordlist = new List<XBGetItem>(); public void SetXBResultRecord() { if (PlayerPrefs.HasKey(HAPPYXBITEMKEY)) @@ -326,22 +337,22 @@ { itemGetTimeArray.Clear(); } xbItemRecordlist.Clear(); getNewItemLoglist.Clear(); List<XBGetItem> xbItemlist = GetXbResultDict().Values.ToList(); if (xbItemlist != null) xbItemRecordlist.AddRange(GetXBResultlist()); if (xbItemRecordlist != null) { int remianLogNum = (itemGetTimeArray.Count + xbItemlist.Count) - 30; int remianLogNum = (itemGetTimeArray.Count + xbItemRecordlist.Count) - 30; if (remianLogNum > 0) { int startIndex = itemGetTimeArray.Count - remianLogNum; itemGetTimeArray.RemoveRange(startIndex, remianLogNum); } xbItemlist.Sort(CompareByTime); for (int i = 0; i < xbItemlist.Count; i++) xbItemRecordlist.Sort(CompareByTime); for (int i = 0; i < xbItemRecordlist.Count; i++) { string log = Language.Get("HappyXBGetItemTime", xbItemlist[i].createTimeStr, UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.PlayerName), xbItemlist[i].itemId, xbItemlist[i].count); string log = Language.Get("HappyXBGetItemTime", xbItemRecordlist[i].createTimeStr, UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.PlayerName), xbItemRecordlist[i].itemId, xbItemRecordlist[i].count); getNewItemLoglist.Add(log); } if (getNewItemLoglist.Count > 0) @@ -362,6 +373,37 @@ return 0; } public List<XBGetItem> rangelist = new List<XBGetItem>(); List<int> index = new List<int>(); public List<XBGetItem> GetXBResultlist() { rangelist.Clear(); index.Clear(); List<XBGetItem> xbItemlist = xbResultDict.Values.ToList(); for(int i = 0; i < xbItemlist.Count; i++) { index.Add(i); } SetRandomList(xbItemlist); return rangelist; } public void SetRandomList(List<XBGetItem> xbItemlist) { int currentRandom = UnityEngine.Random.Range(0,index.Count); XBGetItem current = xbItemlist[index[currentRandom]]; if (!rangelist.Contains(current)) { rangelist.Add(current); index.Remove(index[currentRandom]); } if(index.Count > 0) { SetRandomList(xbItemlist); } } public Dictionary<int, XBGetItem> GetXbResultDict() { return xbResultDict; System/HappyXB/RuneXBWin.cs
@@ -254,13 +254,13 @@ private void RefreshXBResult() { CreateGetItem(); targetIndexs = XBModel.GetXbResultDict().Values.ToList(); targetIndexs = XBModel.rangelist; StartCoroutine(PlayXBAni(0,0)); } private void CreateGetItem() { List<XBGetItem> xbResultlist = XBModel.GetXbResultDict().Values.ToList(); List<XBGetItem> xbResultlist = XBModel.rangelist; if (xbResultlist.Count < 2) return; luckDesObj.SetActive(false); getXBItemParent.gameObject.SetActive(true); @@ -292,7 +292,13 @@ if (index < xbResultItemBasiclist.Count) { xbResultItemBasiclist[index].gameObject.SetActive(true); xbResultItemBasiclist[index].transform.DOScale(new Vector3(1, 1, 1), scaleTime); xbResultItemBasiclist[index].transform.DOScale(new Vector3(1, 1, 1), scaleTime).OnComplete(() => { if (index == xbResultItemBasiclist.Count - 1) { RestXBItemState(); } }); ; if(xbResultItemBasiclist[index].itemConfig != null) { XBModel.GetNotifyResult(xbResultItemBasiclist[index].itemConfig.ID, int.Parse(xbResultItemBasiclist[index].countText.text)); @@ -364,7 +370,14 @@ yield return new WaitForSeconds(stopTime); if (isEndXB) { RestXBItemState(); if (targetIndexs.Count > 1) { ShowXBResultCtrl(targetIndexs.Count - 1); } else { RestXBItemState(); } } else { System/Redpoint/RedpointBehaviour.cs
@@ -47,6 +47,9 @@ [SerializeField] Transform m_FullRedpoint; [SerializeField] Transform m_GetRewardRedpoint; bool m_Show = false; public bool show { get { return m_Show; } @@ -98,6 +101,11 @@ m_FullRedpoint.gameObject.SetActive(state == RedPointState.Full); } if (m_GetRewardRedpoint != null) { m_GetRewardRedpoint.gameObject.SetActive(state == RedPointState.GetReward); } if (state == RedPointState.Quantity && m_Quantity != null) { var count = RedpointCenter.Instance.GetRedpointCount(redpointId); System/Vip/FairyJadeInvestmentModel.cs
@@ -228,7 +228,7 @@ int IsReceive = InfoSeriors[indexID]; if (IsReceive == 0) { redPointStre1.state = RedPointState.Simple; redPointStre1.state = RedPointState.GetReward; JumpInedx = type; return; } @@ -244,7 +244,7 @@ } if (fairyJadeInvestmentItem[0].item.count > AtPresentNumber) { redPointStre1.state = RedPointState.Simple; redPointStre1.state = RedPointState.GetReward; JumpInedx = type; return; } System/Welfare/OperationTimeHepler.cs
@@ -15,6 +15,7 @@ public event Action<Operation> operationServerCloseEvent;//特殊情况下触发 public event Action<Operation, int> operationEndEvent;//活动结束时间触发 第二个参数0--过活动时间触发 1--过活动天触发 public event Action<Operation, int> operationStartEvent;//活动开始时间并且满足开启条件触发 第二个参数0--活动时间触发 1--活动天触发 public event Action<Operation> operationAdvanceEvent;//活动提前开放事件 public OperationTimeHepler() { DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerDataInitializeEvent; @@ -63,6 +64,7 @@ { operation.inTimeNotify = true; operation.stepTimeNotify = false; operation.inAdvanceNotify = false; DesignDebug.LogFormat("{0} 活动时间开始", (Operation)i); if (operationStartEvent != null) { @@ -77,6 +79,15 @@ if (operationEndEvent != null) { operationEndEvent((Operation)i, 0); } } if (!operation.inAdvanceNotify && operation.InAdvanceTime(TimeUtility.ServerNow)) { operation.inAdvanceNotify = true; if (operationAdvanceEvent != null) { operationAdvanceEvent((Operation)i); } } } @@ -631,6 +642,40 @@ } } public class OperationDateEnumerator : IEnumerable, IEnumerator { OperationDate start; OperationDate end; public int index = 0; public object Current { get { var date = start; date.day += index; return date; } } public IEnumerator GetEnumerator() { return (IEnumerator)this; } public bool MoveNext() { index++; return index <= (start - end); } public void Reset() { index = 0; } } public struct OperationDate { public int year; @@ -657,6 +702,13 @@ { var yearString = StringUtility.Contact(year, Language.Get("Year")); return StringUtility.Contact(showYear ? yearString : string.Empty, month, Language.Get("Month"), day, Language.Get("Day")); } public static int operator -(OperationDate x, OperationDate y) { DateTime _x = new DateTime(x.year, x.month, x.day); DateTime _y = new DateTime(y.year, y.month, y.day); return (int)(_y - _x).TotalDays; } } @@ -712,6 +764,7 @@ public OperationDate startDate; public OperationDate endDate; public List<OperationTime> times = new List<OperationTime>(); public OperationDateEnumerator dateEnumerator; public bool allDay = false; @@ -720,6 +773,10 @@ public bool inTimeNotify = false; public bool inDateNotify = false; public bool inAdvanceNotify = false; public int inAdvanceSeconds = 0; public int limitLv; @@ -837,6 +894,57 @@ return -1; } public bool InAdvanceTime(DateTime time) { if (InTime(time) || inAdvanceSeconds <= 0) { return false; } var seconds = 0; if (TryGetInAdvanceSurplusSecond(time, out seconds)) { return seconds < inAdvanceSeconds; } return false; } public bool TryGetInAdvanceSurplusSecond(DateTime time, out int seconds) { seconds = 0; if (InTime(time)) { return false; } if (allDay) { var startTime = new DateTime(startDate.year, startDate.month, startDate.day); seconds = (int)(startTime - time).TotalSeconds; } else { if (dateEnumerator != null) { foreach (OperationDate date in dateEnumerator) { for (int i = 0; i < times.Count; i++) { var startTime = new DateTime(date.year, date.month, date.day, times[i].startHour, times[i].startMinute, 0); seconds = (int)(startTime - time).TotalSeconds; if (seconds > 0) { break; } } if (seconds > 0) { break; } } } } return seconds > 0; } public int GetSurplusTime(DateTime time) { var seconds = 0; @@ -871,7 +979,9 @@ stepDateNotify = false; inTimeNotify = false; inDateNotify = false; inAdvanceNotify = false; allDay = false; inAdvanceSeconds = 0; limitLv = 0; times.Clear(); } @@ -890,12 +1000,6 @@ { var textBuilder = OperationTimeHepler.textBuilder; textBuilder.Length = 0; //textBuilder.Append(startDate.ToDisplay()); //if (startDate != endDate) //{ // textBuilder.Append("—"); // textBuilder.Append(endDate.ToDisplay(startDate.year != endDate.year)); //} if (allDay) { textBuilder.Append(Language.Get("OpenAllDay")); System/Welfare/WelfareCenter.cs
@@ -71,7 +71,7 @@ WindowCenter.Instance.Open<WelfareWin>(false, 7); return; } if (fairyJadeInvestmentModel.redPointStre1.state == RedPointState.Simple) if (fairyJadeInvestmentModel.redPointStre1.state == RedPointState.Simple || fairyJadeInvestmentModel.redPointStre1.state == RedPointState.GetReward) { WindowCenter.Instance.Close<MainInterfaceWin>(); WindowCenter.Instance.Open<WelfareWin>(false, 8); @@ -122,7 +122,7 @@ { return 7; } if (fairyJadeInvestmentModel.redPointStre1.state == RedPointState.Simple) if (fairyJadeInvestmentModel.redPointStre1.state == RedPointState.Simple || fairyJadeInvestmentModel.redPointStre1.state == RedPointState.GetReward) { return 8; } Utility/EnumHelper.cs
@@ -1039,6 +1039,7 @@ Simple = 1, Quantity = 2, Full = 3, GetReward = 4, } public enum TeamInviteType