From b0a2949af127986559cf510d7193e1bb06ff37d4 Mon Sep 17 00:00:00 2001
From: client_Zxw <826696702@qq.com>
Date: 星期三, 31 十月 2018 16:42:55 +0800
Subject: [PATCH] 4435 子 【开发】【1.2.0】功能预告界面修改,新增可领取奖励 / 【前端】【1.2.0】功能预告界面修改,新增可领取奖励
---
System/MainInterfacePanel/FeatureNoticeModel.cs | 358 +++++++++++++++++++++++++++++++++--------------------------
1 files changed, 202 insertions(+), 156 deletions(-)
diff --git a/System/MainInterfacePanel/FeatureNoticeModel.cs b/System/MainInterfacePanel/FeatureNoticeModel.cs
index 0737c98..39db298 100644
--- a/System/MainInterfacePanel/FeatureNoticeModel.cs
+++ b/System/MainInterfacePanel/FeatureNoticeModel.cs
@@ -15,7 +15,8 @@
{
public List<FunctionForecastConfig> FunctionList = new List<FunctionForecastConfig>();
public Dictionary<int, ImpactRankModel.RankAwardItem> DicAwardItem = new Dictionary<int, ImpactRankModel.RankAwardItem>();//濂栧姳鐗╁搧
- public Dictionary<int, OpenFuncState> DicOpenFuncState = new Dictionary<int, OpenFuncState>();
+ public Dictionary<int, OpenFuncState> DicOpenFuncState = new Dictionary<int, OpenFuncState>();
+ public Dictionary<int, Redpoint> DicRedPoint = new Dictionary<int, Redpoint>();//绾㈢偣
public event Action UpdateAwarfItem;
private const int Redpoint_key1 = 38;
public Redpoint redPointStre1 = new Redpoint(Redpoint_key1);
@@ -27,28 +28,30 @@
{
AddList();
AddAwardItem();
+ AddRedPoint();
}
public void OnBeforePlayerDataInitialize()
{
- PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= OnPlayersUpLV;
- FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
- treasureModel.treasureStateChangeEvent -= treasureStateChangeEvent;
- treasureModel.treasureStageUpEvent -= treasureStageUpEvent;
+ //PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= OnPlayersUpLV;
+ //FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
+ //treasureModel.treasureStateChangeEvent -= treasureStateChangeEvent;
+ //treasureModel.treasureStageUpEvent -= treasureStageUpEvent;
}
public void OnPlayerLoginOk()
- {
- FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
- PlayerDatas.Instance.PlayerDataRefreshInfoEvent += OnPlayersUpLV;
- treasureModel.treasureStateChangeEvent += treasureStateChangeEvent;
- treasureModel.treasureStageUpEvent += treasureStageUpEvent;
+ {
+ //FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
+ //PlayerDatas.Instance.PlayerDataRefreshInfoEvent += OnPlayersUpLV;
+ //treasureModel.treasureStateChangeEvent += treasureStateChangeEvent;
+ //treasureModel.treasureStageUpEvent += treasureStageUpEvent;
StageManager.Instance.onStageLoadFinish -= OnStageLoadFinish;
StageManager.Instance.onStageLoadFinish += OnStageLoadFinish;
- RedDotStatus();
+ RedPoint_State();
+ // RedDotStatus();
}
-
+
public override void UnInit()
{
@@ -62,29 +65,29 @@
RedPointChange = false;
IsRedPoint = false;
}
- }
- private void treasureStageUpEvent(int obj)
- {
- RedDotStatus();
}
+ //private void treasureStageUpEvent(int obj)
+ //{
+ // RedDotStatus();
+ //}
- private void treasureStateChangeEvent(int obj)
- {
- RedDotStatus();
- }
+ //private void treasureStateChangeEvent(int obj)
+ //{
+ // RedDotStatus();
+ //}
- private void OnFuncStateChangeEvent(int obj)
- {
- RedDotStatus();
- }
+ //private void OnFuncStateChangeEvent(int obj)
+ //{
+ // RedDotStatus();
+ //}
- private void OnPlayersUpLV(PlayerDataRefresh obj)
- {
- if (obj == PlayerDataRefresh.LV)
- {
- RedDotStatus();
- }
- }
+ //private void OnPlayersUpLV(PlayerDataRefresh obj)
+ //{
+ // if (obj == PlayerDataRefresh.LV)
+ // {
+ // RedDotStatus();
+ // }
+ //}
private void AddList()//娣诲姞鍒楄〃淇℃伅
{
if (FunctionList.Count <= 0)
@@ -109,7 +112,7 @@
foreach (var key in configs)
{
var functionForecastConfig = Config.Instance.Get<FunctionForecastConfig>(key);
- if (!DicAwardItem.ContainsKey(functionForecastConfig.FuncId) && functionForecastConfig.Display==1)
+ if (!DicAwardItem.ContainsKey(functionForecastConfig.FuncId) && functionForecastConfig.Display == 1)
{
ImpactRankModel.RankAwardItem _award = new ImpactRankModel.RankAwardItem();
if (functionForecastConfig.Award == string.Empty)
@@ -133,148 +136,182 @@
DicAwardItem.Add(functionForecastConfig.FuncId, _award);
}
}
- // DebugEx.LogError(DicAwardItem);
+ // DebugEx.LogError(DicAwardItem);
}
}
- private void RedDotStatus()
+ private void AddRedPoint()
{
- for (int i = 0; i < FunctionList.Count; i++)
+ if (DicRedPoint.Count <= 0)
{
- if (!FuncOpen.Instance.IsFuncOpen(FunctionList[i].FuncId))
+ var configs = Config.Instance.GetAllKeys<FunctionForecastConfig>();
+ foreach (var key in configs)
{
- redPointStre1.state = RedPointState.None;
- if (OpenFuncId != FunctionList[i].FuncId)
+ var functionForecastConfig = Config.Instance.Get<FunctionForecastConfig>(key);
+ if (!DicRedPoint.ContainsKey(functionForecastConfig.FuncId) && functionForecastConfig.Display == 1)
{
- RedPointChange = false;
+ int RedPointkey = Redpoint_key1 * 10000 + functionForecastConfig.FuncId;
+ Redpoint redPointMountStare = new Redpoint(Redpoint_key1, RedPointkey);
+ DicRedPoint.Add(functionForecastConfig.FuncId, redPointMountStare);
}
- if (OpenFuncId != FunctionList[i].FuncId || !RedPointChange)
- {
- OpenFuncId = FunctionList[i].FuncId;
- IsRedPoint = false;
- TrailerClassification(FunctionList[i].FuncId);
- }
- return;
}
}
}
- private void TrailerClassification(int funcID)
+ private void RedPoint_State()
{
- FuncOpenLVConfig funcoPenConfig = Config.Instance.Get<FuncOpenLVConfig>(funcID);
- var functionForecastConfig = Config.Instance.Get<FunctionForecastConfig>(funcID);
- if (funcoPenConfig.LimitMagicWeapon != 0 || funcoPenConfig.LimitMissionID != 0)
+ var configs = Config.Instance.GetAllKeys<FunctionForecastConfig>();
+ foreach (var key in DicRedPoint.Keys)
{
- if (funcoPenConfig.LimitMagicWeapon != 0)//娉曞疂
- {
- int faBaoID = funcoPenConfig.LimitMagicWeapon / 100;
- MagicWeapon(faBaoID, funcID);
- return;
- }
- else if (funcoPenConfig.LimitMissionID != 0)//浠诲姟
- {
- if (functionForecastConfig.RedPointLV <= 0)
- {
- return;
- }
- if (PlayerDatas.Instance.baseData.LV >= functionForecastConfig.RedPointLV)
- {
- RedPointChange = true;
- IsRedPoint = true;
- }
- if (IsRedPoint)
- {
- redPointStre1.state = RedPointState.Simple;
- }
- else
- {
- redPointStre1.state = RedPointState.None;
- }
- return;
- }
+ DicRedPoint[key].state=RedPointState.None;
}
- else//绛夌骇
+ foreach (var _key in DicOpenFuncState.Keys)
{
- if (functionForecastConfig.RedPointLV <= 0)
+ if (DicRedPoint.ContainsKey(_key) && DicOpenFuncState[_key].State==1
+ && DicOpenFuncState[_key].AwardState==0)
{
- return;
+ DicRedPoint[_key].state = RedPointState.Simple;
}
- if (PlayerDatas.Instance.baseData.LV >= functionForecastConfig.RedPointLV)
- {
- RedPointChange = true;
- IsRedPoint = true;
- }
- if (IsRedPoint)
- {
- redPointStre1.state = RedPointState.Simple;
- }
- else
- {
- redPointStre1.state = RedPointState.None;
- }
- return;
}
}
+ //private void RedDotStatus()//绾㈢偣1
+ //{
+ // for (int i = 0; i < FunctionList.Count; i++)
+ // {
+ // if (!FuncOpen.Instance.IsFuncOpen(FunctionList[i].FuncId))
+ // {
+ // redPointStre1.state = RedPointState.None;
+ // if (OpenFuncId != FunctionList[i].FuncId)
+ // {
+ // RedPointChange = false;
+ // }
+ // if (OpenFuncId != FunctionList[i].FuncId || !RedPointChange)
+ // {
+ // OpenFuncId = FunctionList[i].FuncId;
+ // IsRedPoint = false;
+ // TrailerClassification(FunctionList[i].FuncId);
+ // }
+ // return;
+ // }
+ // }
+ //}
+
+ //private void TrailerClassification(int funcID)//绾㈢偣1
+ //{
+ // FuncOpenLVConfig funcoPenConfig = Config.Instance.Get<FuncOpenLVConfig>(funcID);
+ // var functionForecastConfig = Config.Instance.Get<FunctionForecastConfig>(funcID);
+ // if (funcoPenConfig.LimitMagicWeapon != 0 || funcoPenConfig.LimitMissionID != 0)
+ // {
+ // if (funcoPenConfig.LimitMagicWeapon != 0)//娉曞疂
+ // {
+ // int faBaoID = funcoPenConfig.LimitMagicWeapon / 100;
+ // MagicWeapon(faBaoID, funcID);
+ // return;
+ // }
+ // else if (funcoPenConfig.LimitMissionID != 0)//浠诲姟
+ // {
+ // if (functionForecastConfig.RedPointLV <= 0)
+ // {
+ // return;
+ // }
+ // if (PlayerDatas.Instance.baseData.LV >= functionForecastConfig.RedPointLV)
+ // {
+ // RedPointChange = true;
+ // IsRedPoint = true;
+ // }
+ // if (IsRedPoint)
+ // {
+ // redPointStre1.state = RedPointState.Simple;
+ // }
+ // else
+ // {
+ // redPointStre1.state = RedPointState.None;
+ // }
+ // return;
+ // }
+ // }
+ // else//绛夌骇
+ // {
+ // if (functionForecastConfig.RedPointLV <= 0)
+ // {
+ // return;
+ // }
+ // if (PlayerDatas.Instance.baseData.LV >= functionForecastConfig.RedPointLV)
+ // {
+ // RedPointChange = true;
+ // IsRedPoint = true;
+ // }
+ // if (IsRedPoint)
+ // {
+ // redPointStre1.state = RedPointState.Simple;
+ // }
+ // else
+ // {
+ // redPointStre1.state = RedPointState.None;
+ // }
+ // return;
+ // }
+ //}
TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
- private void MagicWeapon(int fabaoID, int funcID)
- {
- var functionForecastConfig = Config.Instance.Get<FunctionForecastConfig>(funcID);
- if (functionForecastConfig.RedPointLV > 0)//鏍规嵁濉殑绛夌骇鏉�
- {
- if (PlayerDatas.Instance.baseData.LV >= functionForecastConfig.RedPointLV)
- {
- RedPointChange = true;
- IsRedPoint = true;
- }
- if (IsRedPoint)
- {
- redPointStre1.state = RedPointState.Simple;
- }
- else
- {
- redPointStre1.state = RedPointState.None;
- }
- return;
- }
- Treasure treasure;//鏍规嵁瑙i攣娉曞疂鐨勭櫨鍒嗘瘮
+ //private void MagicWeapon(int fabaoID, int funcID)//绾㈢偣1
+ //{
+ // var functionForecastConfig = Config.Instance.Get<FunctionForecastConfig>(funcID);
+ // if (functionForecastConfig.RedPointLV > 0)//鏍规嵁濉殑绛夌骇鏉�
+ // {
+ // if (PlayerDatas.Instance.baseData.LV >= functionForecastConfig.RedPointLV)
+ // {
+ // RedPointChange = true;
+ // IsRedPoint = true;
+ // }
+ // if (IsRedPoint)
+ // {
+ // redPointStre1.state = RedPointState.Simple;
+ // }
+ // else
+ // {
+ // redPointStre1.state = RedPointState.None;
+ // }
+ // return;
+ // }
+ // Treasure treasure;//鏍规嵁瑙i攣娉曞疂鐨勭櫨鍒嗘瘮
- if (treasureModel.TryGetTreasure(fabaoID, out treasure)
- && treasure.state == TreasureState.Collected)
- {
- var list = treasure.treasureStages;
- var funcStage = 0;
- for (int i = 0; i < list.Count; i++)
- {
- if (list[i].unlockType == TreasureStageUnlock.Func &&
- list[i].func == funcID)
- {
- funcStage = i;
- break;
- }
- }
- if (treasure.stage == funcStage - 1 || funcStage == 0)
- {
- float exp = ((float)treasure.exp / treasure.treasureStages[funcStage].exp) * 100;
- if (functionForecastConfig.RedPointPercentage > -1)
- {
- if (exp >= functionForecastConfig.RedPointPercentage)
- {
- RedPointChange = true;
- IsRedPoint = true;
- }
- if (IsRedPoint)
- {
- redPointStre1.state = RedPointState.Simple;
- }
- }
- else
- {
- redPointStre1.state = RedPointState.None;
- }
- }
- }
- }
+ // if (treasureModel.TryGetTreasure(fabaoID, out treasure)
+ // && treasure.state == TreasureState.Collected)
+ // {
+ // var list = treasure.treasureStages;
+ // var funcStage = 0;
+ // for (int i = 0; i < list.Count; i++)
+ // {
+ // if (list[i].unlockType == TreasureStageUnlock.Func &&
+ // list[i].func == funcID)
+ // {
+ // funcStage = i;
+ // break;
+ // }
+ // }
+ // if (treasure.stage == funcStage - 1 || funcStage == 0)
+ // {
+ // float exp = ((float)treasure.exp / treasure.treasureStages[funcStage].exp) * 100;
+ // if (functionForecastConfig.RedPointPercentage > -1)
+ // {
+ // if (exp >= functionForecastConfig.RedPointPercentage)
+ // {
+ // RedPointChange = true;
+ // IsRedPoint = true;
+ // }
+ // if (IsRedPoint)
+ // {
+ // redPointStre1.state = RedPointState.Simple;
+ // }
+ // }
+ // else
+ // {
+ // redPointStre1.state = RedPointState.None;
+ // }
+ // }
+ // }
+ //}
public IEnumerator WhetherToPlayTheBox()
{
@@ -305,11 +342,11 @@
if (PlayerDatas.Instance.baseData.LV >= functionForecastConfig.FrameLevel && type == 0)
{
LocalSave.SetInt(strKey, functionForecastConfig.FrameLevel);
- var IsOpenFeatureNotice = WindowCenter.Instance.IsOpen<FeatureNoticeWin>();
+ var IsOpenFeatureNotice = WindowCenter.Instance.IsOpen<FeatureNotice2Win>();
if (!IsOpenFeatureNotice)
{
WindowCenter.Instance.Close<MainInterfaceWin>();
- WindowCenter.Instance.Open<FeatureNoticeWin>();
+ WindowCenter.Instance.Open<FeatureNotice2Win>();
}
}
}
@@ -352,21 +389,30 @@
{
OpenFuncState openFuncState = new OpenFuncState();
openFuncState.State = info.FuncStateList[i].State;
- openFuncState.AwardState = info.FuncStateList[i].State;
+ openFuncState.AwardState = info.FuncStateList[i].AwardState;
DicOpenFuncState.Add(FuncID, openFuncState);
}
else
{
DicOpenFuncState[FuncID].State= info.FuncStateList[i].State;
- DicOpenFuncState[FuncID].AwardState = info.FuncStateList[i].State;
+ DicOpenFuncState[FuncID].AwardState = info.FuncStateList[i].AwardState;
}
}
if (UpdateAwarfItem != null)
{
UpdateAwarfItem();
}
+ RedPoint_State();
}
-
+ public void SendGetAward(int OpenFuncId)
+ {
+ CA504_tagCMPlayerGetReward getReward = new CA504_tagCMPlayerGetReward();
+ getReward.RewardType = (byte)GotServerRewardType.Def_RewardType_OpenFunc;
+ getReward.DataEx = (uint)OpenFuncId;
+ getReward.DataExStrLen = 0;
+ getReward.DataExStr = string.Empty;
+ GameNetSystem.Instance.SendInfo(getReward);
+ }
}
--
Gitblit v1.8.0