| System/Treasure/KingTreasureModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/KingTreasureModel.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/KingTreasureWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/KingTreasureWin.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/TreasureBaseWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/TreasureComponent.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/TreasureModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/TreasureSelectWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/UI3DTreasureSelectStage.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/WindowBase/ModelCenter.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Utility/EnumHelper.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/Treasure/KingTreasureModel.cs
New file @@ -0,0 +1,41 @@ using System.Collections; using System.Collections.Generic; using TableConfig; using UnityEngine; namespace Snxxz.UI { public class KingTreasureModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk { public int wearCountLimit { get; private set; } public override void Init() { } public void OnBeforePlayerDataInitialize() { } public void OnPlayerLoginOk() { } public override void UnInit() { } void ParseConfig() { var config = Config.Instance.Get<FuncConfigConfig>("KingTreasure"); if (config != null) { wearCountLimit = int.Parse(config.Numerical1); } } } } System/Treasure/KingTreasureModel.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 82bdcc464a4a975409f3766d8c73fd67 timeCreated: 1545703511 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/Treasure/KingTreasureWin.cs
New file @@ -0,0 +1,151 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Monday, December 24, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using TableConfig; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { [XLua.Hotfix] public class KingTreasureWin : Window { [SerializeField] PositionTween m_PositionTween; [SerializeField] Image m_TreasureNameIcon; [SerializeField] Text m_TreasureStory; [SerializeField] RectTransform m_ContainerOnGoing; [SerializeField] Text m_SeasonOnGoingRemind; [SerializeField] RectTransform m_ContainerEnd; [SerializeField] Text m_SeasonEndRemind; [SerializeField] RectTransform m_ContainerGot; [SerializeField] Text m_Division; [SerializeField] Text m_Score; [SerializeField] PropertyBehaviour[] m_BasePropertys; [SerializeField] PropertyBehaviour[] m_SpecialPropertys; [SerializeField] Text m_Remind; [SerializeField] Button m_Goto; TreasureModel model { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } } KingTreasureModel kingTreasureModel { get { return ModelCenter.Instance.GetModel<KingTreasureModel>(); } } #region Built-in protected override void BindController() { m_Goto.onClick.AddListener(Goto); } protected override void AddListeners() { } protected override void OnPreOpen() { UI3DTreasureSelectStage.Instance.SetStartState(); model.treasureSelectedEvent += TreasureSelectedEvent; Display(); m_Remind.text = Language.Get("KingTreasureLimitRemind", kingTreasureModel.wearCountLimit); } protected override void OnActived() { base.OnActived(); DisplayTween(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { model.treasureSelectedEvent -= TreasureSelectedEvent; } protected override void OnAfterClose() { } #endregion public void Display() { DisplayBase(); DisplayState(); } void DisplayBase() { var config = Config.Instance.Get<TreasureConfig>(model.selectedTreasure); if (config != null) { m_TreasureNameIcon.SetSprite(config.NameIcon); m_TreasureStory.text = config.Story; } } void DisplayState() { Treasure treasure; if (model.TryGetTreasure(model.selectedTreasure, out treasure)) { if (treasure.state == TreasureState.Collected) { DisplayGot(); } else { } } } void DisplayGot() { } void DisplayEnd() { } void DisplayOnGoing() { } void DisplayTween() { m_PositionTween.Play(); } private void TreasureSelectedEvent(int id) { m_PositionTween.SetEndState(); Display(); } private void Goto() { } } } System/Treasure/KingTreasureWin.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: cb43d91c7863116469cbad13ba3bf116 timeCreated: 1545656062 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/Treasure/TreasureBaseWin.cs
@@ -150,6 +150,12 @@ m_Right.image.SetSprite("XT_FB_34"); 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"); WindowCenter.Instance.Open<KingTreasureWin>(); break; } DisplaySelects(); } System/Treasure/TreasureComponent.cs
@@ -175,17 +175,11 @@ treasure.LookAt(UI3DTreasureSelectStage.Instance.showCamera.transform); treasure.gameObject.SetActive(true); Treasure _treasure; if (!model.TryGetTreasure(treasureId, out _treasure)) { return; } bool requireGraySkin = RequireGrayTreasureSkin(); treasureSkin = treasure.GetComponentInChildren<SkinnedMeshRenderer>(); if (treasureSkin != null) { bool _unlock = _treasure.state == TreasureState.Collected || _treasure.state == TreasureState.Collecting; treasureSkin.material.SetFloat("_Gray", _unlock ? 0 : 1); treasureSkin.material.SetFloat("_Gray", requireGraySkin ? 1 : 0); } } @@ -297,20 +291,21 @@ public void UpdateTreasureState() { Treasure _treasure; if (!model.TryGetTreasure(treasureId, out _treasure)) { return; } if (treasure == null) { return; } Treasure _treasure; if (!model.TryGetTreasure(treasureId, out _treasure)) { return; } bool requireGraySkin = RequireGrayTreasureSkin(); if (treasureSkin != null) { treasureSkin.material.SetFloat("_Gray", _treasure.state == TreasureState.Collected || _treasure.state == TreasureState.Collecting ? 0 : 1); treasureSkin.material.SetFloat("_Gray", requireGraySkin ? 1 : 0); if (model.GetTreasureUnlockShow(UI3DTreasureSelectStage.Instance.currentCategory) == _treasure.id && !UI3DTreasureSelectStage.Instance.CloserComplete) { @@ -425,6 +420,10 @@ private void RequestLockEffect() { RecycleLockEffect(); if (category == TreasureCategory.King) { return; } var _id = category == TreasureCategory.Human ? 5132 : 5157; lockEffect = SFXPlayUtility.Instance.Play(_id, treasureRoot); if (lockEffect != null) @@ -988,6 +987,21 @@ } UI3DTreasureSelectStage.Instance.ReCheckTreasureHighest(); } bool RequireGrayTreasureSkin() { if (category == TreasureCategory.King) { return false; } Treasure _treasure; if (!model.TryGetTreasure(treasureId, out _treasure)) { return true; } return _treasure.state != TreasureState.Collected && _treasure.state != TreasureState.Collecting; } } } System/Treasure/TreasureModel.cs
@@ -29,7 +29,7 @@ Redpoint humanRedpoint = new Redpoint(TREASURE_REDPOINTID, CATEGORY_REDPOINTIDS[(int)TreasureCategory.Human - 1]); Redpoint demonRedpoint = new Redpoint(TREASURE_REDPOINTID, CATEGORY_REDPOINTIDS[(int)TreasureCategory.Demon - 1]); Redpoint fairypoint = new Redpoint(TREASURE_REDPOINTID, CATEGORY_REDPOINTIDS[(int)TreasureCategory.Fairy - 1]); Redpoint elderGodRedpoint = new Redpoint(TREASURE_REDPOINTID, CATEGORY_REDPOINTIDS[(int)TreasureCategory.ElderGod - 1]); Redpoint elderGodRedpoint = new Redpoint(TREASURE_REDPOINTID, CATEGORY_REDPOINTIDS[(int)TreasureCategory.King - 1]); Redpoint zergRedpoint = new Redpoint(TREASURE_REDPOINTID, CATEGORY_REDPOINTIDS[(int)TreasureCategory.Zerg - 1]); public Redpoint stoveRedpoint { get; private set; } System/Treasure/TreasureSelectWin.cs
@@ -19,6 +19,7 @@ [SerializeField] FunctionButton m_HumanBtn; [SerializeField] FunctionButton m_DemonBtn; [SerializeField] FunctionButton m_FairyBtn; [SerializeField] FunctionButton m_KingBtn; [SerializeField] Button m_BackBtn; [SerializeField] RectTransform m_ContainerNewGuide; @@ -75,6 +76,16 @@ } UI3DTreasureSelectStage.Instance.SelectTreasureCategory(TreasureCategory.Fairy); }); m_KingBtn.onClick.AddListener(() => { if (UI3DTreasureSelectStage.Instance.currentCategory == TreasureCategory.King || UI3DTreasureSelectStage.Instance.UnlockShowing || UI3DTreasureSelectStage.Instance.IsCloser || UI3DTreasureSelectStage.Instance.treasureFinishShowing) { return; } UI3DTreasureSelectStage.Instance.SelectTreasureCategory(TreasureCategory.King); }); m_BackBtn.onClick.AddListener(() => { if (UI3DTreasureSelectStage.Instance.UnlockShowing || UI3DTreasureSelectStage.Instance.treasureFinishShowing) @@ -95,6 +106,10 @@ m_FairyBtn.repeatClickFunc += () => { ReclickSelect(TreasureCategory.Fairy); }; m_KingBtn.repeatClickFunc += () => { ReclickSelect(TreasureCategory.King); }; } @@ -203,6 +218,10 @@ { m_FairyBtn.state = model.currentCategory == TreasureCategory.Fairy ? TitleBtnState.Click : TitleBtnState.Normal; } if (m_KingBtn.state != TitleBtnState.Locked) { m_KingBtn.state = model.currentCategory == TreasureCategory.King ? TitleBtnState.Click : TitleBtnState.Normal; } } private void UpdateButtonState() @@ -222,6 +241,7 @@ m_HumanBtn.gameObject.SetActive(!_closer); m_DemonBtn.gameObject.SetActive(!_closer); m_FairyBtn.gameObject.SetActive(!_closer); m_KingBtn.gameObject.SetActive(!_closer); } private void StartAnimation() System/Treasure/UI3DTreasureSelectStage.cs
@@ -230,6 +230,7 @@ Load(TreasureCategory.Human); Load(TreasureCategory.Demon); Load(TreasureCategory.Fairy); Load(TreasureCategory.King); } void Load(TreasureCategory _type) System/WindowBase/ModelCenter.cs
@@ -215,6 +215,7 @@ RegisterModel<VirtualPackModel>(); RegisterModel<GatherSoulComposeModel>(); RegisterModel<GatherSoulDungeonModel>(); RegisterModel<KingTreasureModel>(); inited = true; } Utility/EnumHelper.cs
@@ -1051,7 +1051,7 @@ Human = 1, Demon = 2, Fairy = 3, ElderGod = 4, King = 4, Zerg = 5, }