From b2ded28299cd907a9d3fd8025fda968b57b6eaab Mon Sep 17 00:00:00 2001
From: client_Zxw <826696702@qq.com>
Date: 星期二, 30 十月 2018 21:30:13 +0800
Subject: [PATCH] 4435 子 【开发】【1.2.0】功能预告界面修改,新增可领取奖励 / 【前端】【1.2.0】功能预告界面修改,新增可领取奖励
---
System/MainInterfacePanel/FeaturesType3.cs | 75 ++++++++++++
System/MainInterfacePanel/FeatureNotice2Win.cs | 145 ++++++++++++++++++++++++
System/MainInterfacePanel/FeaturesType3.cs.meta | 12 ++
System/MainInterfacePanel/FunctionForecastTip.cs | 2
System/MainInterfacePanel/FeatureNotice2Win.cs.meta | 12 ++
System/MainInterfacePanel/FeatureNoticeModel.cs | 39 ++++++
Core/GameEngine/Model/Config/FunctionForecastConfig.cs | 33 +++--
Core/GameEngine/Model/Config/FunctionForecastConfig.cs.meta | 2
8 files changed, 303 insertions(+), 17 deletions(-)
diff --git a/Core/GameEngine/Model/Config/FunctionForecastConfig.cs b/Core/GameEngine/Model/Config/FunctionForecastConfig.cs
index 3e8880f..f89cfe9 100644
--- a/Core/GameEngine/Model/Config/FunctionForecastConfig.cs
+++ b/Core/GameEngine/Model/Config/FunctionForecastConfig.cs
@@ -1,6 +1,6 @@
锘�//--------------------------------------------------------
// [Author]: 绗簩涓栫晫
-// [ Date ]: Monday, September 17, 2018
+// [ Date ]: Tuesday, October 30, 2018
//--------------------------------------------------------
using UnityEngine;
@@ -12,6 +12,7 @@
public partial class FunctionForecastConfig : ConfigBase {
public int FuncId { get ; private set ; }
+ public string Award { get ; private set; }
public string FuncName { get ; private set; }
public int OpenLevel { get ; private set ; }
public string Describe { get ; private set; }
@@ -37,33 +38,35 @@
{
FuncId=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0;
- FuncName = rawContents[1].Trim();
+ Award = rawContents[1].Trim();
- OpenLevel=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0;
+ FuncName = rawContents[2].Trim();
- Describe = rawContents[3].Trim();
+ OpenLevel=IsNumeric(rawContents[3]) ? int.Parse(rawContents[3]):0;
- FuncIconKey = rawContents[4].Trim();
+ Describe = rawContents[4].Trim();
- DetailDescribe = rawContents[5].Trim();
+ FuncIconKey = rawContents[5].Trim();
- OpenDescribe = rawContents[6].Trim();
+ DetailDescribe = rawContents[6].Trim();
- Icon = rawContents[7].Trim();
+ OpenDescribe = rawContents[7].Trim();
- Content = rawContents[8].Trim();
+ Icon = rawContents[8].Trim();
- DisplayLevel=IsNumeric(rawContents[9]) ? int.Parse(rawContents[9]):0;
+ Content = rawContents[9].Trim();
- Display=IsNumeric(rawContents[10]) ? int.Parse(rawContents[10]):0;
+ DisplayLevel=IsNumeric(rawContents[10]) ? int.Parse(rawContents[10]):0;
- RedPointLV=IsNumeric(rawContents[11]) ? int.Parse(rawContents[11]):0;
+ Display=IsNumeric(rawContents[11]) ? int.Parse(rawContents[11]):0;
- RedPointPercentage=IsNumeric(rawContents[12]) ? int.Parse(rawContents[12]):0;
+ RedPointLV=IsNumeric(rawContents[12]) ? int.Parse(rawContents[12]):0;
- FrameLevel=IsNumeric(rawContents[13]) ? int.Parse(rawContents[13]):0;
+ RedPointPercentage=IsNumeric(rawContents[13]) ? int.Parse(rawContents[13]):0;
- OpenNumber=IsNumeric(rawContents[14]) ? int.Parse(rawContents[14]):0;
+ FrameLevel=IsNumeric(rawContents[14]) ? int.Parse(rawContents[14]):0;
+
+ OpenNumber=IsNumeric(rawContents[15]) ? int.Parse(rawContents[15]):0;
}
catch (Exception ex)
{
diff --git a/Core/GameEngine/Model/Config/FunctionForecastConfig.cs.meta b/Core/GameEngine/Model/Config/FunctionForecastConfig.cs.meta
index 4278008..be28ba2 100644
--- a/Core/GameEngine/Model/Config/FunctionForecastConfig.cs.meta
+++ b/Core/GameEngine/Model/Config/FunctionForecastConfig.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: bced258647f0fa940b752dd56e6a27e0
-timeCreated: 1537175111
+timeCreated: 1540903620
licenseType: Free
MonoImporter:
serializedVersion: 2
diff --git a/System/MainInterfacePanel/FeatureNotice2Win.cs b/System/MainInterfacePanel/FeatureNotice2Win.cs
new file mode 100644
index 0000000..263f8b5
--- /dev/null
+++ b/System/MainInterfacePanel/FeatureNotice2Win.cs
@@ -0,0 +1,145 @@
+锘�//--------------------------------------------------------
+// [Author]: 绗簩涓栫晫
+// [ Date ]: Tuesday, October 30, 2018
+//--------------------------------------------------------
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+using TableConfig;
+using EnhancedUI.EnhancedScroller;
+
+namespace Snxxz.UI
+{
+
+ public class FeatureNotice2Win : Window
+ {
+
+ [SerializeField] ScrollerController m_ScrollerController;
+ [SerializeField] Button m_CloseButton;
+ [SerializeField] FeatureNoticeTip m_FeatureNoticeTip;
+ [SerializeField] ScaleTween m_ScaleTween;
+ FeatureNoticeModel featureNoticeModel { get { return ModelCenter.Instance.GetModel<FeatureNoticeModel>(); } }
+ private bool IsJump = false;
+ #region Built-in
+ protected override void BindController()
+ {
+ m_ScrollerController.OnRefreshCell += OnRefreshGridCell;
+ }
+
+ protected override void AddListeners()
+ {
+ m_CloseButton.AddListener(OnClickBtn);
+ }
+
+ protected override void OnPreOpen()
+ {
+ UnopenedFirst();
+ m_ScaleTween.SetStartState();
+ IsJump = WindowJumpMgr.Instance.IsJumpState;
+ m_FeatureNoticeTip.Init();
+ OnCreateGridLineCell(m_ScrollerController);
+ }
+
+ protected override void OnAfterOpen()
+ {
+ if (!IsJump)//鏄惁缁忓巻璺宠浆鎵撳紑
+ {
+ m_ScaleTween.Play(false, IsOpen);
+ }
+ else
+ {
+ m_ScaleTween.SetEndState();
+ }
+ }
+
+ protected override void OnPreClose()
+ {
+ }
+
+ protected override void OnAfterClose()
+ {
+ }
+
+ private void OnClickBtn()
+ {
+ if (!WindowJumpMgr.Instance.IsJumpState)//鏄惁缁忓巻璺�
+ {
+ m_FeatureNoticeTip.FeatureNoticeTipObj.SetActive(true);
+ m_ScaleTween.Play(true, IsClose);
+ }
+ else
+ {
+ Close();
+ WindowCenter.Instance.Open<MainInterfaceWin>();
+ }
+ }
+ void OnCreateGridLineCell(ScrollerController gridCtrl)
+ {
+ gridCtrl.Refresh();
+ for (int i = 0; i < featureNoticeModel.FunctionList.Count; i++)
+ {
+ gridCtrl.AddCell(ScrollerDataType.Header, featureNoticeModel.FunctionList[i].FuncId);
+ }
+ gridCtrl.Restart();
+ }
+ private void OnRefreshGridCell(ScrollerDataType type, CellView cell)
+ {
+ int funcId = cell.index;
+ Transform Tran = cell.transform;
+ GameObject Tran1 = Tran.Find("FeaturesTypeOne").gameObject;
+ GameObject Tran2 = Tran.Find("FeaturesTypeTwo").gameObject;
+ if (funcId == featureNoticeModel.FunctionForecastIndex)
+ {
+
+ Tran1.SetActive(false);
+ Tran2.SetActive(true);
+ FeaturesType3 featuresType3 = Tran2.GetComponent<FeaturesType3>();
+ featuresType3.GetTheFeatureID(funcId);
+ return;
+ }
+ else
+ {
+ Tran1.SetActive(true);
+ Tran2.SetActive(false);
+ FeaturesType3 featuresType3 = Tran1.GetComponent<FeaturesType3>();
+ featuresType3.GetTheFeatureID(funcId);
+ return;
+ }
+
+ }
+ private void IsOpen()
+ {
+ m_FeatureNoticeTip.FeatureNoticeTipObj.SetActive(false);
+ }
+ private void IsClose()
+ {
+ Close();
+ WindowCenter.Instance.Open<MainInterfaceWin>();
+ }
+
+ private void UnopenedFirst()
+ {
+ var configs = Config.Instance.GetAllValues<FunctionForecastConfig>();
+ foreach (var config in configs)
+ {
+ int openTag = config.FuncId;
+ if (!FuncOpen.Instance.IsFuncOpen(openTag))
+ {
+ featureNoticeModel.FunctionForecastIndex = config.OpenNumber;
+ return;
+ }
+ }
+ }
+
+ #endregion
+
+ }
+
+}
+
+
+
+
diff --git a/System/MainInterfacePanel/FeatureNotice2Win.cs.meta b/System/MainInterfacePanel/FeatureNotice2Win.cs.meta
new file mode 100644
index 0000000..8a61acd
--- /dev/null
+++ b/System/MainInterfacePanel/FeatureNotice2Win.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b0f88c388c36a6942b7d00ae54cbfd11
+timeCreated: 1540882386
+licenseType: Free
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/System/MainInterfacePanel/FeatureNoticeModel.cs b/System/MainInterfacePanel/FeatureNoticeModel.cs
index eb7263c..e93ac03 100644
--- a/System/MainInterfacePanel/FeatureNoticeModel.cs
+++ b/System/MainInterfacePanel/FeatureNoticeModel.cs
@@ -14,6 +14,7 @@
public class FeatureNoticeModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
{
public List<FunctionForecastConfig> FunctionList = new List<FunctionForecastConfig>();
+ public Dictionary<int, ImpactRankModel.RankAwardItem> DicAwardItem = new Dictionary<int, ImpactRankModel.RankAwardItem>();//濂栧姳鐗╁搧
private const int Redpoint_key1 = 38;
public Redpoint redPointStre1 = new Redpoint(Redpoint_key1);
private int OpenFuncId = 0;
@@ -23,6 +24,7 @@
public override void Init()
{
AddList();
+ AddAwardItem();
}
public void OnBeforePlayerDataInitialize()
@@ -97,6 +99,43 @@
}
}
+ private void AddAwardItem()
+ {
+ if (DicAwardItem.Count <= 0)
+ {
+ var configs = Config.Instance.GetAllKeys<FunctionForecastConfig>();
+ foreach (var key in configs)
+ {
+ var functionForecastConfig = Config.Instance.Get<FunctionForecastConfig>(key);
+ if (!DicAwardItem.ContainsKey(functionForecastConfig.FuncId) && functionForecastConfig.Display==1)
+ {
+ ImpactRankModel.RankAwardItem _award = new ImpactRankModel.RankAwardItem();
+ if (functionForecastConfig.Award == string.Empty)
+ {
+ continue;
+ }
+ var _jsonData = LitJson.JsonMapper.ToObject(functionForecastConfig.Award);
+ foreach (string _key in _jsonData.Keys)
+ {
+ var _job = int.Parse(key);
+ var _itemArray = LitJson.JsonMapper.ToObject<int[][]>(_jsonData[_key].ToJson());
+ for (int j = 0; j < _itemArray.Length; j++)
+ {
+ _award.Add(_job, new AwardItem()
+ {
+ item = new Item(_itemArray[j][0], _itemArray[j][1]),
+ isBind = 1,
+ });
+ }
+ }
+ DicAwardItem.Add(functionForecastConfig.FuncId, _award);
+ }
+ }
+ // DebugEx.LogError(DicAwardItem);
+ }
+
+ }
+
private void RedDotStatus()
{
for (int i = 0; i < FunctionList.Count; i++)
diff --git a/System/MainInterfacePanel/FeaturesType3.cs b/System/MainInterfacePanel/FeaturesType3.cs
new file mode 100644
index 0000000..46a37a2
--- /dev/null
+++ b/System/MainInterfacePanel/FeaturesType3.cs
@@ -0,0 +1,75 @@
+锘�//--------------------------------------------------------
+// [Author]: 绗簩涓栫晫
+// [ Date ]: Tuesday, October 30, 2018
+//--------------------------------------------------------
+using UnityEngine;
+using System.Collections;
+using UnityEngine.UI;
+using TableConfig;
+
+namespace Snxxz.UI {
+ //鍔熻兘棰勫憡绗笁閮�
+
+ public class FeaturesType3:MonoBehaviour {
+ [SerializeField] ImageEx m_Image_Selected;//搴曟澘
+ [SerializeField] ImageEx m_Img_Circle;//Icon妗�
+ [SerializeField] ImageEx m_FeaturesTypeIcon;//Icon
+ [SerializeField] Text m_FunctionName;//鍔熻兘鍚�
+ [SerializeField] Text m_FunctionalLevel;//鍔熻兘绛夌骇
+ [SerializeField] Text m_Content;//鍐呭
+ FeatureNoticeModel featureNoticeModel { get { return ModelCenter.Instance.GetModel<FeatureNoticeModel>(); } }
+ public void GetTheFeatureID(int funcId)
+ {
+ var functionForecastConfig = Config.Instance.Get<FunctionForecastConfig>(funcId);
+ if (functionForecastConfig == null)
+ {
+ return;
+ }
+ m_FunctionalLevel.text = functionForecastConfig.DisplayLevel.ToString() + Language.Get("Z1041");
+ bool Type = false;
+ int NeedLv = 0;
+ int playerLv = PlayerDatas.Instance.baseData.LV;
+ if (functionForecastConfig.OpenNumber - 2 >= featureNoticeModel.FunctionForecastIndex)
+ {
+ Type = true;
+ NeedLv = featureNoticeModel.GetOpenLv(functionForecastConfig.OpenNumber - 2);
+ }
+ if (!FuncOpen.Instance.IsFuncOpen(funcId) && Type && NeedLv > playerLv)
+ {
+ m_FunctionName.text = "?";
+ m_FeaturesTypeIcon.SetSprite("UnKnowIcon");
+ m_Content.text= string.Format(Language.Get("YGFuncLevel"), NeedLv, PlayerDatas.Instance.baseData.LV, NeedLv);
+ }
+ else
+ {
+ m_FunctionName.text = functionForecastConfig.FuncName;
+ m_FeaturesTypeIcon.SetSprite(functionForecastConfig.FuncIconKey);
+ m_Content.text = functionForecastConfig.Content;
+ }
+ if (PlayerDatas.Instance.baseData.LV >= functionForecastConfig.DisplayLevel)
+ {
+ m_FunctionalLevel.color = new Color32(141, 220, 17, 255);
+ }
+ else
+ {
+ m_FunctionalLevel.color = new Color32(255, 244, 205, 255);
+ }
+ if (FuncOpen.Instance.IsFuncOpen(funcId))
+ {
+ m_Image_Selected.gray = false;
+ m_Img_Circle.gray = false;
+ m_FeaturesTypeIcon.gray = false;
+ }
+ else
+ {
+ m_Image_Selected.gray = true;
+ m_Img_Circle.gray = true;
+ m_FeaturesTypeIcon.gray = true;
+ }
+ }
+ }
+
+}
+
+
+
diff --git a/System/MainInterfacePanel/FeaturesType3.cs.meta b/System/MainInterfacePanel/FeaturesType3.cs.meta
new file mode 100644
index 0000000..044cb81
--- /dev/null
+++ b/System/MainInterfacePanel/FeaturesType3.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 724340e684b4c0a469bfb9b4a362747a
+timeCreated: 1540887239
+licenseType: Free
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/System/MainInterfacePanel/FunctionForecastTip.cs b/System/MainInterfacePanel/FunctionForecastTip.cs
index 1dacb9a..710767d 100644
--- a/System/MainInterfacePanel/FunctionForecastTip.cs
+++ b/System/MainInterfacePanel/FunctionForecastTip.cs
@@ -118,7 +118,7 @@
void FunctionIconBtn()//闈㈡澘寮�鍚�
{
WindowCenter.Instance.Close<MainInterfaceWin>();
- WindowCenter.Instance.Open<FeatureNoticeWin>();
+ WindowCenter.Instance.Open<FeatureNotice2Win>();
// WindowCenter.Instance.Open<ZXWTestWin>();
}
}
--
Gitblit v1.8.0