From 8bbced312e5b16dcd288ff1a42c598be6abd17be Mon Sep 17 00:00:00 2001
From: Client_PangDeRong <593317293@qq.com>
Date: 星期一, 13 八月 2018 21:01:49 +0800
Subject: [PATCH] 【2454】转移N倍修行点
---
System/OpenServerActivity/ImpactRankModel.cs | 12 ++++++
System/OpenServerActivity/OpenServerActivityWin.cs | 48 +++++++++++++++++++-----
System/Welfare/WelfareWin.cs | 38 -------------------
System/Welfare/NPracticePointWin.cs | 2 +
System/Welfare/MultipleRealmPointModel.cs | 13 +++++-
5 files changed, 63 insertions(+), 50 deletions(-)
diff --git a/System/OpenServerActivity/ImpactRankModel.cs b/System/OpenServerActivity/ImpactRankModel.cs
index 79d3a83..b2be60b 100644
--- a/System/OpenServerActivity/ImpactRankModel.cs
+++ b/System/OpenServerActivity/ImpactRankModel.cs
@@ -637,6 +637,8 @@
MultipleExpModel multipleExpModel { get { return ModelCenter.Instance.GetModel<MultipleExpModel>(); } }
+ MultipleRealmPointModel multipleRealmModel { get { return ModelCenter.Instance.GetModel<MultipleRealmPointModel>(); } }
+
public event Action openServerActivityStateChange;
public OpenServerActivityCenter()
@@ -722,6 +724,11 @@
_functionOrder = 5;
return true;
}
+ if (IsMultipleRealmOpen())
+ {
+ _functionOrder = 8;
+ return true;
+ }
return false;
}
@@ -768,6 +775,11 @@
return multipleExpModel.Open();
}
+ public bool IsMultipleRealmOpen()
+ {
+ return multipleRealmModel.IsOpen;
+ }
+
public void ProcessErrorTip()
{
SysNotifyMgr.Instance.ShowTip("ActiveOutTime");
diff --git a/System/OpenServerActivity/OpenServerActivityWin.cs b/System/OpenServerActivity/OpenServerActivityWin.cs
index 2a38f16..b1a9880 100644
--- a/System/OpenServerActivity/OpenServerActivityWin.cs
+++ b/System/OpenServerActivity/OpenServerActivityWin.cs
@@ -49,6 +49,8 @@
MultipleExpModel multipleExpModel { get { return ModelCenter.Instance.GetModel<MultipleExpModel>(); } }
+ MultipleRealmPointModel multipleRealmPointModel { get { return ModelCenter.Instance.GetModel<MultipleRealmPointModel>(); } }
+
List<int> openActivitys = new List<int>();
List<int> activityReds = new List<int>();
List<int> alreadyOpenActivitys = new List<int>();
@@ -189,7 +191,14 @@
activityReds.Add(5);
}
}
-
+ if (OpenServerActivityCenter.Instance.IsMultipleRealmOpen())
+ {
+ openActivitys.Add(8);
+ if (multipleRealmPointModel.multipleRed.state == RedPointState.Simple)
+ {
+ activityReds.Add(8);
+ }
+ }
if (activityReds.Count > 0)
{
activityReds.Sort(Compare);
@@ -229,6 +238,10 @@
{
alreadyOpenActivitys.Add(5);
}
+ if (OpenServerActivityCenter.Instance.IsMultipleRealmOpen())
+ {
+ alreadyOpenActivitys.Add(8);
+ }
}
private void OnOpenServerActivityRefresh(ScrollerDataType type, CellView cell)
@@ -246,13 +259,19 @@
private void RefreshOpenActivityCell(OpenServerActivityCell _cell)
{
+ OperationBase operationBase;
switch (_cell.index)
{
case 5:
- OperationBase operationBase;
if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.MultipleExp, out operationBase))
{
_cell.title.text = Language.Get("ExpActivity_Text5", (operationBase as OperationMultiExp).GetMultipleCHS());
+ }
+ break;
+ case 8:
+ if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.MultipRealmPoint, out operationBase))
+ {
+ _cell.title.text = Language.Get("MultipleRealmPoint", Language.Get(StringUtility.Contact("Num_CHS_", (operationBase as OperationMultipleRealmPoint).multiplePractice)));
}
break;
default:
@@ -340,12 +359,9 @@
m_ActivityCtrl.AddCell(ScrollerDataType.Normal, sort * 100 + 2);
break;
case 3:
- m_ActivityCtrl.AddCell(ScrollerDataType.Header, sort);
- break;
case 4:
- m_ActivityCtrl.AddCell(ScrollerDataType.Header, sort);
- break;
case 5:
+ case 8:
m_ActivityCtrl.AddCell(ScrollerDataType.Header, sort);
break;
}
@@ -437,6 +453,16 @@
WindowCenter.Instance.Open<MultipleExpWin>(true);
}
break;
+ case 8:
+ if (windowState == WindowState.Opened)
+ {
+ WindowCenter.Instance.OpenWithoutAnimation<NPracticePointWin>();
+ }
+ else
+ {
+ WindowCenter.Instance.Open<NPracticePointWin>(true);
+ }
+ break;
}
}
@@ -464,6 +490,7 @@
WindowCenter.Instance.CloseImmediately<FlashSaleWin>();
WindowCenter.Instance.CloseImmediately<ConsumeRebateWin>();
WindowCenter.Instance.CloseImmediately<MultipleExpWin>();
+ WindowCenter.Instance.CloseImmediately<NPracticePointWin>();
}
private int Compare(int x, int y)
@@ -510,11 +537,12 @@
break;
case Operation.GiftPackage:
break;
- case Operation.FairyCeremony:
- break;
case Operation.MultipRealmPoint:
- break;
- case Operation.max:
+ if (state == 0 && !alreadyOpenActivitys.Contains(8))
+ {
+ alreadyOpenActivitys.Add(8);
+ UpdateFunctionBtns();
+ }
break;
}
}
diff --git a/System/Welfare/MultipleRealmPointModel.cs b/System/Welfare/MultipleRealmPointModel.cs
index f34af24..faf147b 100644
--- a/System/Welfare/MultipleRealmPointModel.cs
+++ b/System/Welfare/MultipleRealmPointModel.cs
@@ -5,8 +5,7 @@
{
public class MultipleRealmPointModel : Model,IBeforePlayerDataInitialize,IAfterPlayerDataInitialize,IPlayerLoginOk
{
- public const int MULTIPLEREALM_KEY = 20109;
- public Redpoint multipleRed = new Redpoint(201,MULTIPLEREALM_KEY);
+ public Redpoint multipleRed = new Redpoint(MainRedDot.REDPOINT_OPENSERVER, 20908);
public string LocalRecord_Key = "MultipleRealmRecord";
bool isNewDay = false;
public override void Init()
@@ -41,6 +40,16 @@
}
+ public bool IsOpen
+ {
+ get
+ {
+ OperationBase operation;
+ OperationTimeHepler.Instance.TryGetOperationTime(Operation.MultipRealmPoint, out operation);
+ return operation != null && operation.SatisfyOpenCondition() && operation.InDay(TimeUtility.ServerNow);
+ }
+ }
+
private void RefreshOperationClose(Operation type)
{
if (type != Operation.MultipRealmPoint) return;
diff --git a/System/Welfare/NPracticePointWin.cs b/System/Welfare/NPracticePointWin.cs
index 29c1a46..e254f6d 100644
--- a/System/Welfare/NPracticePointWin.cs
+++ b/System/Welfare/NPracticePointWin.cs
@@ -12,6 +12,7 @@
[SerializeField] Image multipleRealmImg;
[SerializeField] Text activeRuleText;
OperationBase operation;
+ MultipleRealmPointModel multipleRealm { get { return ModelCenter.Instance.GetModel<MultipleRealmPointModel>(); } }
protected override void BindController()
{
@@ -24,6 +25,7 @@
protected override void OnPreOpen()
{
+ multipleRealm.CheckShowRed(true);
GlobalTimeEvent.Instance.secondEvent += RefreshSecond;
InitUI();
}
diff --git a/System/Welfare/WelfareWin.cs b/System/Welfare/WelfareWin.cs
index bf1dd59..320717a 100644
--- a/System/Welfare/WelfareWin.cs
+++ b/System/Welfare/WelfareWin.cs
@@ -20,14 +20,10 @@
[SerializeField] FunctionButton m_LevelGiftBtn;
[SerializeField] FunctionButton m_ExchangeBtn;
[SerializeField] FunctionButton m_BossReornBtn;
- [SerializeField] FunctionButton m_NpracticeBtn;
[SerializeField] FunctionButton m_FairyJadeInvestment;
[SerializeField] FunctionButtonGroup buttonGroup;
[SerializeField] Button closeBtn;
- [SerializeField] Text m_MultipleRealmPointTitle;
-
- MultipleRealmPointModel multipleRealmModel { get { return ModelCenter.Instance.GetModel<MultipleRealmPointModel>(); } }
InSevenDayModel m_InSevenDayModel;
InSevenDayModel inSevenDay { get { return m_InSevenDayModel ?? (m_InSevenDayModel = ModelCenter.Instance.GetModel<InSevenDayModel>()); } }
@@ -46,7 +42,6 @@
Btn_InSeven.AddListener(InSeven);
m_LevelGiftBtn.onClick.AddListener(OnLevelGift);
m_ExchangeBtn.onClick.AddListener(OnExchange);
- m_NpracticeBtn.AddListener(OnNPractice);
closeBtn.onClick.AddListener(CloseClick);
m_BossReornBtn.AddListener(BossRebornBtn);
m_FairyJadeInvestment.AddListener(FairyJade);
@@ -135,22 +130,6 @@
WindowCenter.Instance.Open<AwardExchangeWin>();
}
functionOrder = 6;
- }
-
-
- private void OnNPractice()
- {
- CloseChildWin();
- if (windowState == WindowState.Opened)
- {
- WindowCenter.Instance.OpenWithoutAnimation<NPracticePointWin>();
- }
- else
- {
- WindowCenter.Instance.Open<NPracticePointWin>();
- }
- multipleRealmModel.CheckShowRed(true);
- functionOrder = 8;
}
private void OnSignIn()
@@ -265,10 +244,6 @@
{
WindowCenter.Instance.CloseImmediately<AwardExchangeWin>();
}
- if (WindowCenter.Instance.CheckOpen<NPracticePointWin>())
- {
- WindowCenter.Instance.CloseImmediately<NPracticePointWin>();
- }
if (WindowCenter.Instance.CheckOpen<FairyJadeInvestmentWin>())
{
WindowCenter.Instance.CloseImmediately<FairyJadeInvestmentWin>();
@@ -283,12 +258,7 @@
private void OperationEndEvent(Operation type, int state)
{
- OperationBase operation;
if (type == Operation.BossReborn && !bossRebornModel.IsOpen() && WindowCenter.Instance.CheckOpen<BossRebornWin>())
- {
- buttonGroup.TriggerByOrder(WelfareCenter.Instance.GetWelfareFuncOrder());
- }
- else if (type == Operation.MultipRealmPoint && !Open(Operation.MultipRealmPoint, out operation) && WindowCenter.Instance.CheckOpen<NPracticePointWin>())
{
buttonGroup.TriggerByOrder(WelfareCenter.Instance.GetWelfareFuncOrder());
}
@@ -297,14 +267,6 @@
void CheckOperationOpen()
{
m_BossReornBtn.gameObject.SetActive(bossRebornModel.IsOpen());
-
- OperationBase operation = null;
- bool isOpen = Open(Operation.MultipRealmPoint, out operation);
- m_NpracticeBtn.gameObject.SetActive(isOpen);
- if (isOpen)
- {
- m_MultipleRealmPointTitle.text = Language.Get("MultipleRealmPoint", Language.Get(StringUtility.Contact("Num_CHS_", (operation as OperationMultipleRealmPoint).multiplePractice)));
- }
}
public bool Open(Operation type,out OperationBase operation)
--
Gitblit v1.8.0