| System/BossReborn/BossRebornModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/OpenServerActivity/FlashSaleModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/OpenServerActivity/ImpactRankModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/OpenServerActivity/OSRedEnvelopeModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/OpenServerActivity/OpenServerActivityWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Vip/OSTimeLimitGiftModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Welfare/ConsumeRebateModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Welfare/MultipleExpModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/WindowJump/WindowJumpMgr.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/BossReborn/BossRebornModel.cs
@@ -6,7 +6,7 @@ namespace Snxxz.UI { public class BossRebornModel : Model public class BossRebornModel : Model, IOpenServerActivity { int m_BossRebornIntegral = 0; public int bossRebornIntegral { @@ -31,8 +31,18 @@ public int surplusSecond { get { return OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.BossReborn); } } public bool priorityOpen { get { return bossRebornPoint.state == RedPointState.Simple; } } public event Action bossRebornIntergralEvent; public event Action<int> bossTaskStateChangeEvent; public event Action<int> onStateUpate; Dictionary<int, BossRebornTask> bossRebornTasks = new Dictionary<int, BossRebornTask>(); const int bossRebornPointId = 20909; @@ -41,15 +51,19 @@ public override void Init() { ParseConfig(); OpenServerActivityCenter.Instance.Register(9, this); } public override void UnInit() { } public bool IsOpen() public bool IsOpen { return OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.BossReborn); get { return OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.BossReborn); } } public void UpdateTaskBaseInfos(HAB04_tagMCBossRebornInfo.tagMCBossRebornTaskInfo[] _tasks) @@ -113,7 +127,7 @@ private void UpdateRedpoint() { if (!IsOpen()) if (!IsOpen) { bossRebornPoint.state = RedPointState.None; } System/OpenServerActivity/FlashSaleModel.cs
@@ -4,7 +4,7 @@ using UnityEngine; namespace Snxxz.UI { public class FlashSaleModel : Model, IPlayerLoginOk, IBeforePlayerDataInitialize public class FlashSaleModel : Model, IPlayerLoginOk, IBeforePlayerDataInitialize, IOpenServerActivity { StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } } public override void Init() @@ -12,6 +12,7 @@ OperationTimeHepler.Instance.operationStartEvent += OperationStartEvent; OperationTimeHepler.Instance.operationEndEvent += OperationEndEvent; TimeMgr.Instance.OnDayEvent += OnDayEvent; OpenServerActivityCenter.Instance.Register(4, this); } public void OnBeforePlayerDataInitialize() @@ -35,6 +36,10 @@ if (type == Operation.FlashSale && state == 0) { UpdateRedpoint(); if (onStateUpate != null) { onStateUpate(4); } } } @@ -43,6 +48,10 @@ if (type == Operation.FlashSale && state == 0) { UpdateRedpoint(); if (onStateUpate != null) { onStateUpate(4); } } } @@ -77,6 +86,14 @@ OperationBase operationBase; OperationTimeHepler.Instance.TryGetOperationTime(Operation.FlashSale, out operationBase); return operationBase != null && operationBase.SatisfyOpenCondition() && operationBase.InAdvanceTime(TimeUtility.ServerNow); } } public bool priorityOpen { get { return flashSaleRedpoint.state == RedPointState.Simple; } } @@ -185,6 +202,9 @@ } public Redpoint flashSaleRedpoint = new Redpoint(MainRedDot.REDPOINT_OPENSERVER, 20904); public event Action<int> onStateUpate; private void UpdateRedpoint() { flashSaleRedpoint.state = RedPointState.None; System/OpenServerActivity/ImpactRankModel.cs
@@ -7,7 +7,7 @@ namespace Snxxz.UI { public class ImpactRankModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk public class ImpactRankModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk, IOpenServerActivity { public override void Init() { @@ -15,6 +15,7 @@ PlayerDatas.Instance.rank.OnRefreshRank += OnRefreshRank; TimeUtility.OnServerOpenDayRefresh += OnServerOpenDayRefresh; FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent; OpenServerActivityCenter.Instance.Register(0, this); } public override void UnInit() @@ -49,6 +50,10 @@ if (_id == 125) { UpdateRedpoint(); if (onStateUpate != null) { onStateUpate(0); } } } @@ -416,6 +421,8 @@ #region 协议 public event Action OnAwardGetEvent; public event Action<int> onStateUpate; private Dictionary<int, OpenServerPlayerData> impactAwardGetDict = new Dictionary<int, OpenServerPlayerData>(); public void UpdateGetState(HAB17_tagMCOpenServerCampaignAwardList _package) { @@ -619,59 +626,65 @@ #region 主界面特效 public bool OSCEffectOpen { get; set; } public bool IsOpen { get { return TimeUtility.OpenDay < openServerActivityDays && FuncOpen.Instance.IsFuncOpen(125); } } public bool priorityOpen { get { var state = impactRankRedpoint.state; return state == RedPointState.Simple || state == RedPointState.GetReward; } } #endregion } public class OpenServerActivityCenter : Singleton<OpenServerActivityCenter> { ImpactRankModel impactRankModel { get { return ModelCenter.Instance.GetModel<ImpactRankModel>(); } } OSRedEnvelopeModel envelopeModel { get { return ModelCenter.Instance.GetModel<OSRedEnvelopeModel>(); } } OSTimeLimitGiftModel timeLimitGiftModel { get { return ModelCenter.Instance.GetModel<OSTimeLimitGiftModel>(); } } FlashSaleModel flashSaleModel { get { return ModelCenter.Instance.GetModel<FlashSaleModel>(); } } ConsumeRebateModel consumeRebateModel { get { return ModelCenter.Instance.GetModel<ConsumeRebateModel>(); } } MultipleExpModel multipleExpModel { get { return ModelCenter.Instance.GetModel<MultipleExpModel>(); } } BossRebornModel bossRebornModel { get { return ModelCenter.Instance.GetModel<BossRebornModel>(); } } MultipleRealmPointModel multipleRealmModel { get { return ModelCenter.Instance.GetModel<MultipleRealmPointModel>(); } } public event Action openServerActivityStateChange; Dictionary<int, IOpenServerActivity> openServerActivitys = new Dictionary<int, IOpenServerActivity>(); public OpenServerActivityCenter() { TimeUtility.OnServerOpenDayRefresh += OnServerOpenDayRefresh; FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent; OperationTimeHepler.Instance.operationStartEvent += OperationStartEvent; OperationTimeHepler.Instance.operationEndEvent += OperationEndEvent; OperationTimeHepler.Instance.operationAdvanceEvent += OperationAdvanceEvent; } private void OperationAdvanceEvent(Operation type) public void Register(int funcOrder, IOpenServerActivity activity) { if (type == Operation.FlashSale) if (!openServerActivitys.ContainsKey(funcOrder)) { if (openServerActivityStateChange != null) { openServerActivityStateChange(); } openServerActivitys.Add(funcOrder, activity); activity.onStateUpate += OnStateUpate; } } private void OnStateUpate(int _order) { if (openServerActivityStateChange != null) { openServerActivityStateChange(); } } private void OperationEndEvent(Operation type, int state) { if ((type == Operation.FlashSale || type == Operation.BossReborn || type == Operation.ConsumeRebate || type == Operation.GiftPackage if ((type == Operation.BossReborn|| type == Operation.GiftPackage || type == Operation.MultipRealmPoint) && state == 0) { if (openServerActivityStateChange != null) { openServerActivityStateChange(); } } if ((type == Operation.MultipleExp) && state == 1) { if (openServerActivityStateChange != null) { @@ -682,30 +695,9 @@ private void OperationStartEvent(Operation type, int state) { if ((type == Operation.FlashSale || type == Operation.BossReborn || type == Operation.ConsumeRebate || type == Operation.GiftPackage if ((type == Operation.BossReborn|| type == Operation.GiftPackage || type == Operation.MultipRealmPoint) && state == 0) { if (openServerActivityStateChange != null) { openServerActivityStateChange(); } } if ((type == Operation.MultipleExp) && state == 1) { if (openServerActivityStateChange != null) { openServerActivityStateChange(); } } } private void OnFuncStateChangeEvent(int _id) { if (_id == 125 || _id == (int)FuncOpenEnum.OpenServerRedEnvelope || _id == 132) { if (openServerActivityStateChange != null) { @@ -725,35 +717,13 @@ public bool IsAnyActivityOpen(out int _functionOrder) { _functionOrder = 0; if (IsImpactRankOpen()) foreach (var _order in openServerActivitys.Keys) { _functionOrder = 0; return true; } if (IsConsumeRebateOpen()) { _functionOrder = 1; return true; } if (IsRedEnvelopeOpen()) { _functionOrder = 2; return true; } if (IsTimeLimitGiftOpen()) { _functionOrder = 3; return true; } if (IsFlashSaleOpen()) { _functionOrder = 4; return true; } if (IsMultipleExpOpen()) { _functionOrder = 5; return true; if (openServerActivitys[_order].IsOpen) { _functionOrder = _order; return true; } } if (IsMultipleRealmOpen()) { @@ -769,34 +739,22 @@ return false; } public bool IsImpactRankOpen() public bool IsActivityOpen(int _funcOrder) { return TimeUtility.OpenDay < impactRankModel.openServerActivityDays && FuncOpen.Instance.IsFuncOpen(125); if (openServerActivitys.ContainsKey(_funcOrder)) { return openServerActivitys[_funcOrder].IsOpen; } return false; } public bool IsRedEnvelopeOpen() public bool IsPriorityOpenOpen(int _funcOrder) { return TimeUtility.OpenDay < envelopeModel.openDays && FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.OpenServerRedEnvelope); } public bool IsTimeLimitGiftOpen() { return TimeUtility.CreateDays <= timeLimitGiftModel.openDays && FuncOpen.Instance.IsFuncOpen(132); } public bool IsFlashSaleOpen() { return flashSaleModel.IsOpen || flashSaleModel.InAdvanceOpen; } public bool IsConsumeRebateOpen() { return consumeRebateModel.IsOpen; } public bool IsMultipleExpOpen() { return multipleExpModel.Open(); if (openServerActivitys.ContainsKey(_funcOrder)) { return openServerActivitys[_funcOrder].priorityOpen; } return false; } public bool IsMultipleRealmOpen() @@ -811,9 +769,17 @@ public bool IsBossRebornOpen() { return bossRebornModel.IsOpen(); return bossRebornModel.IsOpen; } } public interface IOpenServerActivity { bool IsOpen { get; } bool priorityOpen { get; } event Action<int> onStateUpate; } } System/OpenServerActivity/OSRedEnvelopeModel.cs
@@ -5,7 +5,7 @@ using TableConfig; namespace Snxxz.UI { public class OSRedEnvelopeModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk public class OSRedEnvelopeModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk, IOpenServerActivity { AchievementModel m_AchievementModel; AchievementModel achieveModel @@ -37,6 +37,7 @@ envelopeModel.EnvelopeUpdateEvent += EnvelopeUpdateEvent; envelopeModel.EnvelopeDelEvent += EnvelopeUpdateEvent; envelopeModel.EnvelopeGetEvent += EnvelopeGetEvent; OpenServerActivityCenter.Instance.Register(2, this); } public override void UnInit() @@ -62,6 +63,10 @@ if (OSRedEnvelopeUpdateEvent != null) { OSRedEnvelopeUpdateEvent(); } if (onStateUpate != null) { onStateUpate(2); } } } @@ -407,7 +412,26 @@ public int totalJadeGet { get; private set; } public int getEnvelopeTimes { get; private set; } public bool IsOpen { get { return TimeUtility.OpenDay < openDays && FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.OpenServerRedEnvelope); } } public bool priorityOpen { get { return m_RedAchieveRedpoint.state == RedPointState.Simple || m_OpenServerGetRedpin.state == RedPointState.Simple; } } public event Action OSRedEnvelopeInfoEnvent; public event Action<int> onStateUpate; public void UpdateOSRedEnvelope(HAB24_tagMCOpenServerRedPacketInfo _pak) { totalJadeGet = (int)_pak.MoneyNum; System/OpenServerActivity/OpenServerActivityWin.cs
@@ -135,50 +135,23 @@ { openActivitys.Clear(); activityReds.Clear(); if (OpenServerActivityCenter.Instance.IsTimeLimitGiftOpen()) for (int i = 0; i < m_SortArray.Count; i++) { openActivitys.Add(3); if (timeLimitGiftModel.redpoint.state == RedPointState.Simple) if (OpenServerActivityCenter.Instance.IsActivityOpen(m_SortArray[i])) { activityReds.Add(3); } } if (OpenServerActivityCenter.Instance.IsFlashSaleOpen()) { openActivitys.Add(4); if (flashSaleModel.flashSaleRedpoint.state == RedPointState.Simple) { activityReds.Add(4); } } if (OpenServerActivityCenter.Instance.IsImpactRankOpen()) { openActivitys.Add(0); if (impactRankModel.HasRedpoint()) { activityReds.Add(0); } } if (OpenServerActivityCenter.Instance.IsRedEnvelopeOpen()) { openActivitys.Add(2); if (envelopeModel.m_RedAchieveRedpoint.state == RedPointState.Simple) { activityReds.Add(2); envelopeModel.selectType = 1; } else if (envelopeModel.m_OpenServerGetRedpin.state == RedPointState.Simple) { activityReds.Add(2); envelopeModel.selectType = 2; } } if (OpenServerActivityCenter.Instance.IsConsumeRebateOpen()) { openActivitys.Add(1); if (consumeRebateModel.consumeRebateRedpoint.state == RedPointState.Simple) { activityReds.Add(1); openActivitys.Add(m_SortArray[i]); if (OpenServerActivityCenter.Instance.IsPriorityOpenOpen(m_SortArray[i])) { activityReds.Add(m_SortArray[i]); switch (m_SortArray[i]) { case 2: envelopeModel.selectType = envelopeModel.m_RedAchieveRedpoint.state == RedPointState.Simple ? 1 : 2; break; } } } } if (OpenServerActivityCenter.Instance.IsBossRebornOpen()) @@ -187,15 +160,6 @@ if (bossRebornModel.bossRebornPoint.state == RedPointState.Simple) { activityReds.Add(9); } } if (OpenServerActivityCenter.Instance.IsMultipleExpOpen()) { openActivitys.Add(5); if (multipleExpModel.multipleExpRedpoint.state == RedPointState.Simple) { activityReds.Add(5); } } if (OpenServerActivityCenter.Instance.IsMultipleRealmOpen()) @@ -221,29 +185,12 @@ void CheckAlreadyOpen() { alreadyOpenActivitys.Clear(); if (OpenServerActivityCenter.Instance.IsTimeLimitGiftOpen()) for (int i = 0; i < m_SortArray.Count; i++) { alreadyOpenActivitys.Add(3); } if (OpenServerActivityCenter.Instance.IsFlashSaleOpen()) { alreadyOpenActivitys.Add(4); } if (OpenServerActivityCenter.Instance.IsImpactRankOpen()) { alreadyOpenActivitys.Add(0); } if (OpenServerActivityCenter.Instance.IsRedEnvelopeOpen()) { alreadyOpenActivitys.Add(2); } if (OpenServerActivityCenter.Instance.IsConsumeRebateOpen()) { alreadyOpenActivitys.Add(1); } if (OpenServerActivityCenter.Instance.IsMultipleExpOpen()) { alreadyOpenActivitys.Add(5); if (OpenServerActivityCenter.Instance.IsActivityOpen(m_SortArray[i])) { alreadyOpenActivitys.Add(m_SortArray[i]); } } if (OpenServerActivityCenter.Instance.IsMultipleRealmOpen()) { System/Vip/OSTimeLimitGiftModel.cs
@@ -5,7 +5,7 @@ using UnityEngine; namespace Snxxz.UI { public class OSTimeLimitGiftModel : Model, IPlayerLoginOk, IBeforePlayerDataInitialize public class OSTimeLimitGiftModel : Model, IPlayerLoginOk, IBeforePlayerDataInitialize, IOpenServerActivity { Dictionary<int, List<StoreConfig>> m_OSTimeLimitGifts = new Dictionary<int, List<StoreConfig>>(); @@ -16,11 +16,30 @@ public Redpoint redpoint { get; private set; } StoreModel m_StoreModel; public event Action<int> onStateUpate; StoreModel storeModel { get { return m_StoreModel ?? (m_StoreModel = ModelCenter.Instance.GetModel<StoreModel>()); } } public bool IsOpen { get { return TimeUtility.CreateDays <= openDays && FuncOpen.Instance.IsFuncOpen(132); } } public bool priorityOpen { get { return redpoint.state == RedPointState.Simple; } } @@ -50,6 +69,7 @@ TimeUtility.OnCreateRoleTimeRefresh += OnCreateRoleTimeRefresh; storeModel.RefreshBuyShopLimitEvent += UpdateRedpoint; FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent; OpenServerActivityCenter.Instance.Register(3, this); } public override void UnInit() @@ -85,6 +105,10 @@ if (_id == 132) { UpdateRedpoint(); if (onStateUpate != null) { onStateUpate(3); } } } System/Welfare/ConsumeRebateModel.cs
@@ -4,15 +4,18 @@ using UnityEngine; namespace Snxxz.UI { public class ConsumeRebateModel : Model, IPlayerLoginOk, IBeforePlayerDataInitialize public class ConsumeRebateModel : Model, IPlayerLoginOk, IBeforePlayerDataInitialize, IOpenServerActivity { public event Action consumeRebateUpdateEvent; public event Action<int> onStateUpate; public override void Init() { PlayerDatas.Instance.PlayerDataRefreshInfoEvent += PlayerDataRefreshInfoEvent; OperationTimeHepler.Instance.operationStartEvent += OperationStartEvent; OperationTimeHepler.Instance.operationEndEvent += OperationEndEvent; GlobalTimeEvent.Instance.secondEvent += SecondEvent; OpenServerActivityCenter.Instance.Register(1, this); } public void OnBeforePlayerDataInitialize() @@ -49,6 +52,14 @@ public int costTotal { get; private set; } private uint consumeGotRecord { get; set; } public bool priorityOpen { get { return consumeRebateRedpoint.state == RedPointState.Simple; } } int rebateOpenDayIndex = -1; @@ -93,6 +104,10 @@ if (type == Operation.ConsumeRebate && state == 0) { UpdateRedpoint(); if (onStateUpate != null) { onStateUpate(1); } } } @@ -101,6 +116,10 @@ if (type == Operation.ConsumeRebate && state == 0) { UpdateRedpoint(); if (onStateUpate != null) { onStateUpate(1); } } } System/Welfare/MultipleExpModel.cs
@@ -4,17 +4,18 @@ using UnityEngine; namespace Snxxz.UI { public class MultipleExpModel : Model, IPlayerLoginOk, IBeforePlayerDataInitialize public class MultipleExpModel : Model, IPlayerLoginOk, IBeforePlayerDataInitialize, IOpenServerActivity { private bool showTip = false; private bool todayRemind = false; public override void Init() { OperationTimeHepler.Instance.operationStartEvent += OperationStartEvent; OperationTimeHepler.Instance.operationEndEvent += OperationEndEvent; OperationTimeHepler.Instance.operationTimeUpdateEvent += OperationTimeUpdateEvent; WindowCenter.Instance.windowAfterOpenEvent += WindowAfterOpenEvent; StageManager.Instance.onStageLoadFinish += OnStageLoadFinish; OpenServerActivityCenter.Instance.Register(5, this); } private void OnStageLoadFinish() @@ -70,6 +71,7 @@ public override void UnInit() { OperationTimeHepler.Instance.operationStartEvent -= OperationStartEvent; OperationTimeHepler.Instance.operationEndEvent -= OperationEndEvent; OperationTimeHepler.Instance.operationTimeUpdateEvent -= OperationTimeUpdateEvent; WindowCenter.Instance.windowAfterOpenEvent -= WindowAfterOpenEvent; } @@ -79,6 +81,22 @@ if (type == Operation.MultipleExp && state == 1) { UpdateRedpoint(); if (onStateUpate != null) { onStateUpate(5); } } } private void OperationEndEvent(Operation type, int state) { if (type == Operation.MultipleExp && state == 1) { UpdateRedpoint(); if (onStateUpate != null) { onStateUpate(5); } } } @@ -92,6 +110,24 @@ public Redpoint multipleExpRedpoint = new Redpoint(MainRedDot.REDPOINT_OPENSERVER, 20905); public event Action<int> onStateUpate; public bool IsOpen { get { return Open(); } } public bool priorityOpen { get { return multipleExpRedpoint.state == RedPointState.Simple; } } public void SetDayRemind() { if (multipleExpRedpoint.state == RedPointState.Simple) System/WindowJump/WindowJumpMgr.cs
@@ -258,7 +258,7 @@ break; case JumpUIType.OSTimeLimitGift: if (!OpenServerActivityCenter.Instance.IsTimeLimitGiftOpen()) if (!OpenServerActivityCenter.Instance.IsActivityOpen(3)) { SysNotifyMgr.Instance.ShowTip("ActiveOutTime"); return;