| System/Treasure/KingTreasureModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/KingTreasureWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/TreasureBaseWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/UI3DTreasureSelectStage.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/Treasure/KingTreasureModel.cs
@@ -15,6 +15,11 @@ public int wearCountLimit { get; private set; } TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } } public override void Init() { ParseConfig(); @@ -37,7 +42,7 @@ void ParseConfig() { var config = Config.Instance.Get<FuncConfigConfig>("KingTreasure"); var config = Config.Instance.Get<FuncConfigConfig>("MagicWeaponOfKing"); if (config != null) { treasureSeasonDict = ConfigParse.GetDic<int, int>(config.Numerical1); @@ -83,6 +88,26 @@ return treasureSeasonDict.TryGetValue(treasureId, out season); } public List<int> GetDisplayList() { var displays = new List<int>(); var list = treasureModel.GetTreasureCategory(TreasureCategory.King); for (int i = 0; i < list.Count; i++) { var season = 0; if (TryGetSeason(list[i], out season)) { if (season <= CrossServerOneVsOnePKSeason.Instance.SeasonID || season == CrossServerOneVsOnePKSeason.Instance.SeasonID + 1) { displays.Add(list[i]); } } } return displays; } public void OnReceivePackage(HA352_tagMCMagicWeaponLVInfo package) { for (int i = 0; i < package.Count; i++) System/Treasure/KingTreasureWin.cs
@@ -17,7 +17,6 @@ { [SerializeField] PositionTween m_PositionTween; [SerializeField] Image m_TreasureNameIcon; [SerializeField] Text m_TreasureStory; [SerializeField] RectTransform m_ContainerOnGoing; [SerializeField] Text m_SeasonOnGoingRemind; [SerializeField] RectTransform m_ContainerEnd; @@ -62,9 +61,20 @@ { UI3DTreasureSelectStage.Instance.SetStartState(); model.treasureSelectedEvent += TreasureSelectedEvent; TreasureBaseWin.allowSelectTreasure += AllowSelectTreasure; Display(); m_Remind.text = Language.Get("KingTreasureLimitRemind", kingTreasureModel.wearCountLimit); var countDisplay = string.Empty; if (kingTreasureModel.wearCountLimit == 2) { countDisplay = Language.Get("Num_CHS_Two"); } else { countDisplay = Language.Get(StringUtility.Contact("Num_CHS_", kingTreasureModel.wearCountLimit)); } m_Remind.text = Language.Get("KingTreasureLimitRemind", countDisplay); } protected override void OnActived() @@ -80,6 +90,7 @@ protected override void OnPreClose() { model.treasureSelectedEvent -= TreasureSelectedEvent; TreasureBaseWin.allowSelectTreasure -= AllowSelectTreasure; } protected override void OnAfterClose() @@ -91,6 +102,7 @@ { DisplayBase(); DisplayState(); DisplayGoto(); } void DisplayBase() @@ -99,7 +111,6 @@ if (config != null) { m_TreasureNameIcon.SetSprite(config.NameIcon); m_TreasureStory.text = config.Story; } } @@ -111,13 +122,19 @@ m_ContainerOnGoing.gameObject.SetActive(false); if (model.TryGetTreasure(model.selectedTreasure, out treasure)) { var season = 0; kingTreasureModel.TryGetSeason(model.selectedTreasure, out season); if (treasure.state == TreasureState.Collected) { DisplayGot(); } else if (season < CrossServerOneVsOnePKSeason.Instance.SeasonID) { DisplayEnd(); } else { DisplayOnGoing(); } } } @@ -132,7 +149,12 @@ if (kingTreasureModel.TryGetSeason(model.selectedTreasure, out session) && crossServerOneVsOneModel.TryGetOneVsOneHistory(session, out history)) { //--todo 显示段位等级 var divisionConfig = Config.Instance.Get<CrossServerArenaConfig>(history.division); if (divisionConfig != null) { m_DivisionIcon.SetSprite(divisionConfig.IconKey); m_Division.text = divisionConfig.Name; } KingTreasureModel.Division division; if (kingTreasureModel.TryGetDivision(model.selectedTreasure, history.division, out division)) { @@ -182,11 +204,20 @@ void DisplayEnd() { m_ContainerEnd.gameObject.SetActive(true); m_SeasonEndRemind.text = UIHelper.ReplaceNewLine(Language.Get("KingTreasureEndRemind")); } void DisplayOnGoing() { m_ContainerOnGoing.gameObject.SetActive(true); m_SeasonOnGoingRemind.text = Language.Get("KingTreasureOnGoingRemind"); } void DisplayGoto() { var season = 0; kingTreasureModel.TryGetSeason(model.selectedTreasure, out season); m_Goto.gameObject.SetActive(CrossServerOneVsOnePKSeason.Instance.SeasonID == season); } void DisplayTween() @@ -200,6 +231,21 @@ Display(); } private bool AllowSelectTreasure(int id) { var list = kingTreasureModel.GetDisplayList(); var season = 0; if (kingTreasureModel.TryGetSeason(id, out season)) { if (season == CrossServerOneVsOnePKSeason.Instance.SeasonID + 1) { SysNotifyMgr.Instance.ShowTip("TreasureOneVsOneSeasonNotStart"); return false; } } return list.Contains(id); } private void Goto() { //--todo 跳转至赛季目标 System/Treasure/TreasureBaseWin.cs
@@ -33,6 +33,11 @@ { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } } KingTreasureModel kingTreasureModel { get { return ModelCenter.Instance.GetModel<KingTreasureModel>(); } } #region Built-in protected override void BindController() { @@ -151,9 +156,9 @@ WindowCenter.Instance.Open<FairyTreasureWin>(); break; case TreasureCategory.King: m_TreasureTitle.SetSprite("XT_FB_46"); m_Left.image.SetSprite("XT_FB_35"); m_Right.image.SetSprite("XT_FB_36"); m_TreasureTitle.SetSprite("KingTreasureTitle"); m_Left.image.SetSprite("KingTreasureLeftSelect"); m_Right.image.SetSprite("KingTreasureRightSelect"); WindowCenter.Instance.Open<KingTreasureWin>(); break; } @@ -162,10 +167,26 @@ private void DisplaySelects() { var leftRifht = Config.Instance.Get<TreasureConfig>(model.selectedTreasure + 1); m_Right.gameObject.SetActive(leftRifht != null); leftRifht = Config.Instance.Get<TreasureConfig>(model.selectedTreasure - 1); m_Left.gameObject.SetActive(leftRifht != null); switch (model.currentCategory) { case TreasureCategory.King: { var list = kingTreasureModel.GetDisplayList(); var leftRifht = list.Contains(model.selectedTreasure + 1); m_Right.gameObject.SetActive(leftRifht); leftRifht = list.Contains(model.selectedTreasure - 1); m_Left.gameObject.SetActive(leftRifht); } break; default: { var leftRifht = Config.Instance.Get<TreasureConfig>(model.selectedTreasure + 1); m_Right.gameObject.SetActive(leftRifht != null); leftRifht = Config.Instance.Get<TreasureConfig>(model.selectedTreasure - 1); m_Left.gameObject.SetActive(leftRifht != null); } break; } } private void OnCameraBackComplete() System/Treasure/UI3DTreasureSelectStage.cs
@@ -704,6 +704,23 @@ { return; } switch (currentCategory) { case TreasureCategory.King: { var model = ModelCenter.Instance.GetModel<KingTreasureModel>(); var season = 0; if (model.TryGetSeason(_treasureId, out season)) { if (season == CrossServerOneVsOnePKSeason.Instance.SeasonID + 1) { SysNotifyMgr.Instance.ShowTip("TreasureOneVsOneSeasonNotStart"); return; } } } break; } var _list = m_Treasures[currentCategory]; var _index = _list.FindIndex((x) => { @@ -1185,6 +1202,13 @@ var list = model.GetTreasureCategory(category); switch (category) { case TreasureCategory.King: { var model = ModelCenter.Instance.GetModel<KingTreasureModel>(); var displays = model.GetDisplayList(); displayTreasures.AddRange(displays); } break; default: displayTreasures.AddRange(list); break;