| Lua/Gen/SnxxzUIEquipModelWrap.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Equip/CandidateEquipWidget.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Equip/EquipGetWayWidget.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Equip/EquipGetWayWidget.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Equip/EquipModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Equip/EquipSlotBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Equip/RealmEquipWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Lua/Gen/SnxxzUIEquipModelWrap.cs
@@ -589,11 +589,6 @@ int _level = LuaAPI.xlua_tointeger(L, 2); int _place = LuaAPI.xlua_tointeger(L, 3); System.Collections.Generic.List<int> gen_ret = gen_to_be_invoked.GetGetWays( _level, _place ); translator.Push(L, gen_ret); return 1; } System/Equip/CandidateEquipWidget.cs
@@ -11,11 +11,6 @@ [SerializeField] RectTransform m_CandidateContainer; [SerializeField] CyclicScroll m_CandidateEquipScroll; [SerializeField] RectTransform m_GetWayContainer; [SerializeField] WayCell[] m_GetWayCells; EquipModel model { get { return ModelCenter.Instance.GetModel<EquipModel>(); } } int place = 0; public void Display(int place, List<CandidateEquip> candidates) { @@ -33,51 +28,16 @@ if (!candidates.IsNullOrEmpty()) { m_CandidateContainer.gameObject.SetActive(true); m_GetWayContainer.gameObject.SetActive(false); m_CandidateEquipScroll.Init(candidates); } else { m_CandidateContainer.gameObject.SetActive(false); m_GetWayContainer.gameObject.SetActive(true); DisplayGetWays(); } } public void Dispose() { } private void DisplayGetWays() { var getWays = model.GetGetWays(model.selectedLevel.value, place); if (getWays == null) { return; } for (var i = 0; i < m_GetWayCells.Length; i++) { var behaviour = m_GetWayCells[i]; if (i < getWays.Count) { behaviour.gameObject.SetActive(true); var config = GetItemWaysConfig.Get(getWays[i]); behaviour.icon.SetSprite(config.Icon); behaviour.wayName.text = config.Text; behaviour.funcName.text = config.name; behaviour.wayButton.SetListener(() => { WindowCenter.Instance.Close<EquipFrameWin>(); ModelCenter.Instance.GetModel<GetItemPathModel>().ClickGetWay(config.ID); }); } else { behaviour.gameObject.SetActive(false); } } } System/Equip/EquipGetWayWidget.cs
New file @@ -0,0 +1,57 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Friday, March 15, 2019 //-------------------------------------------------------- using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityEngine.UI; namespace Snxxz.UI { public class EquipGetWayWidget : MonoBehaviour { [SerializeField] WayCell[] m_GetWayCells; [SerializeField] Button m_Close; EquipModel model { get { return ModelCenter.Instance.GetModel<EquipModel>(); } } public void DisplayGetWays(List<int> getWays) { if (getWays == null) { return; } for (var i = 0; i < m_GetWayCells.Length; i++) { var behaviour = m_GetWayCells[i]; if (i < getWays.Count) { behaviour.gameObject.SetActive(true); var config = GetItemWaysConfig.Get(getWays[i]); behaviour.icon.SetSprite(config.Icon); behaviour.wayName.text = config.Text; behaviour.funcName.text = config.name; behaviour.wayButton.SetListener(() => { WindowCenter.Instance.Close<EquipFrameWin>(); ModelCenter.Instance.GetModel<GetItemPathModel>().ClickGetWay(config.ID); }); } else { behaviour.gameObject.SetActive(false); } } m_Close.SetListener(() => { model.ClearGetWays(); }); } } } System/Equip/EquipGetWayWidget.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 602053f2cbe793442bfa13172d15babf timeCreated: 1552619751 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/Equip/EquipModel.cs
@@ -24,6 +24,7 @@ public readonly LogicInt selectedStarLevel = new LogicInt(); public readonly LogicStruct<EquipAppearance> appearance = new LogicStruct<EquipAppearance>(); public readonly LogicList<CandidateEquip> candidateEquips = new LogicList<CandidateEquip>(); public readonly LogicList<int> getWays = new LogicList<int>(); Dictionary<int, EquipSet> equipSets = new Dictionary<int, EquipSet>(); List<int> sortedLevels = new List<int>(); @@ -100,6 +101,7 @@ selectedStarLevel.value = 0; appearance.value = default(EquipAppearance); candidateEquips.Clear(); getWays.Clear(); } private void RefreshCandidateEquips(int level, int place) @@ -306,35 +308,24 @@ return equipSets[level].GetFightPoint(); } public List<int> GetGetWays(int level, int place) public void RefreshGetWays(int level, int place) { getWays.Clear(); if (level == 0) { return null; return; } if (place != 0) { var config = EquipControlConfig.Get(level, place); return new List<int>(config.getWays); getWays.AddRange(config.getWays); } else { var getWays = new List<int>(); for (int i = 1; i <= 12; i++) { var config = EquipControlConfig.Get(level, i); foreach (int getWay in config.getWays) { if (!getWays.Contains(getWay)) { getWays.Add(getWay); } } } } return getWays; } public void ClearGetWays() { getWays.Clear(); } public void PutOn(string equipGuid) System/Equip/EquipSlotBehaviour.cs
@@ -128,6 +128,11 @@ { model.SelectSet(this.level, slot.place); } if (string.IsNullOrEmpty(slot.equip.value)) { model.RefreshGetWays(slot.level, slot.place); } } } System/Equip/RealmEquipWin.cs
@@ -23,6 +23,7 @@ [SerializeField] EquipSuitPropertyWidget m_SuitPropertyWidget; [SerializeField] CandidateEquipWidget m_CandidateEquipWidget; [SerializeField] EquipGetWayWidget m_GetWayWidget; List<EquipLevelSelectBehaviour> levelSelectBehaviours = new List<EquipLevelSelectBehaviour>(); List<GameObject> emptyFillers = new List<GameObject>(); @@ -109,6 +110,12 @@ { m_SuitPropertyWidget.Display(model.selectedLevel.value, model.selectedStarLevel.Fetch()); } if (force || model.getWays.dirty) { DisplayGetWays(model.getWays.Fetch()); } } private void DisplayLevels() @@ -179,6 +186,19 @@ m_FightPoint.text = model.GetFightPoint(level).ToString(); } private void DisplayGetWays(List<int> getWays) { if (getWays.IsNullOrEmpty()) { m_GetWayWidget.gameObject.SetActive(false); } else { m_GetWayWidget.gameObject.SetActive(true); m_GetWayWidget.DisplayGetWays(getWays); } } #endregion [System.Serializable]