| System/BlastFurnace/BlastFurnaceModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/BlastFurnace/MakeDrugSortCell.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/BlastFurnace/MakeDrugSortCell.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/BlastFurnace/SortMakeDrugTable.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/BlastFurnace/SortMakeDrugTable.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/KnapSack/Logic/RoleElixirTipWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/BlastFurnace/BlastFurnaceModel.cs
@@ -323,6 +323,51 @@ } } #region 丹药筛选 public List<int> sortDruglist = new List<int>(); public void SetSortDruglist(int lv,bool isAdd,int sumNum) { if (lv != 0) { if (isAdd) { if (!sortDruglist.Contains(lv)) { sortDruglist.Add(lv); } if(sortDruglist.Count >= sumNum - 1) { if(!sortDruglist.Contains(0)) { sortDruglist.Add(0); } } } else { if (sortDruglist.Contains(lv)) { sortDruglist.Remove(lv); } if(sortDruglist.Contains(0)) { sortDruglist.Remove(0); } } } else { sortDruglist.Clear(); if(isAdd) { sortDruglist.Add(lv); } } } #endregion #region 灵丹和玄丹的逻辑处理 /// <summary> System/BlastFurnace/MakeDrugSortCell.cs
New file @@ -0,0 +1,35 @@ using UnityEngine; using UnityEngine.UI; namespace EnhancedUI.EnhancedScroller { public class MakeDrugSortCell : CellView { [SerializeField] Text m_SortTypeTxt; public Text sortTypeTxt { get { return m_SortTypeTxt; } } [SerializeField] Button m_SortBtn; public Button SortBtn { get { return m_SortBtn; } } [SerializeField] Image m_SelectImg; public Image SelectImg { get { return m_SelectImg; } } } } System/BlastFurnace/MakeDrugSortCell.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 72a55ad4703bfce4581562317b65cb84 timeCreated: 1539609831 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/BlastFurnace/SortMakeDrugTable.cs
New file @@ -0,0 +1,134 @@ using EnhancedUI.EnhancedScroller; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class SortMakeDrugTable : MonoBehaviour { [SerializeField] List<SortElement> m_SortElements; [SerializeField] ScrollerController m_Controller; [SerializeField] ClickScreenOtherSpace m_ClickOtherSpace; public event Action onSelectSortEvent; public event Action onSortCloseEvent; BlastFurnaceModel blastModel { get { return ModelCenter.Instance.GetModel<BlastFurnaceModel>(); } } private void Awake() { m_Controller.OnRefreshCell += OnRefreshCell; } private void OnEnable() { m_Controller.Refresh(); if (m_SortElements != null) { for (int i = 0; i < m_SortElements.Count; i++) { m_Controller.AddCell(ScrollerDataType.Header, i); } } m_Controller.Restart(); if (m_ClickOtherSpace != null) { m_ClickOtherSpace.RemoveAllListeners(); m_ClickOtherSpace.AddListener(() => { if (onSortCloseEvent != null) { onSortCloseEvent(); } }); } } private void OnSortSelect(CellView _cell) { var _sortCell = _cell as MakeDrugSortCell; var _index = _cell.index; var type = m_SortElements[_index].type; if(!_sortCell.SelectImg.gameObject.activeInHierarchy) { if(type != 0) { blastModel.SetSortDruglist(type, true,m_SortElements.Count); } else { for (int i = 0; i < m_SortElements.Count; i++) { blastModel.SetSortDruglist(m_SortElements[i].type, true,m_SortElements.Count); } } } else { if (type != 0) { blastModel.SetSortDruglist(type, false,m_SortElements.Count); } else { for (int i = 0; i < m_SortElements.Count; i++) { blastModel.SetSortDruglist(m_SortElements[i].type,false,m_SortElements.Count); } } } if (onSelectSortEvent != null) { onSelectSortEvent(); } if (onSortCloseEvent != null) { onSortCloseEvent(); } m_Controller.m_Scorller.RefreshActiveCellViews(); } private void OnRefreshCell(ScrollerDataType type, CellView cell) { var _sortCell = cell as MakeDrugSortCell; var stringKey = m_SortElements[cell.index].textKey; var lv = m_SortElements[cell.index].type; if (lv !=0) { _sortCell.sortTypeTxt.text = Language.Get(stringKey,lv); } else { _sortCell.sortTypeTxt.text = Language.Get(stringKey); } if(blastModel.sortDruglist.Contains(lv)) { _sortCell.SelectImg.gameObject.SetActive(true); } else { _sortCell.SelectImg.gameObject.SetActive(false); } _sortCell.SortBtn.RemoveAllListeners(); _sortCell.SortBtn.AddListener(()=> { OnSortSelect(cell); }); } public void SetDefault() { if (m_SortElements != null && m_SortElements.Count > 0) { for(int i = 0; i < m_SortElements.Count; i++) { blastModel.SetSortDruglist(m_SortElements[i].type,true,m_SortElements.Count); } } } } } System/BlastFurnace/SortMakeDrugTable.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: d20c2050da516eb4a8277bd42cd7ace3 timeCreated: 1539608307 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/KnapSack/Logic/RoleElixirTipWin.cs
@@ -11,32 +11,62 @@ { [SerializeField] ScrollerController ctrl; [SerializeField] CanvasGroup canvas; [SerializeField] SortMakeDrugTable drugTable; [SerializeField] Transform tableArrow; [SerializeField] Button selectBtn; PlayerPackModel _playerPack; PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } } BlastFurnaceModel blastModel { get { return ModelCenter.Instance.GetModel<BlastFurnaceModel>(); } } List<AttrFruitConfig> fruitlist; public static int makeUseId = 0; [SerializeField] float offest = 50; int presentIndex = 0; private void Awake() { selectBtn.AddListener(ClickDrugSelect); } private void OnEnable() { blastModel.sortDruglist.Clear(); ctrl.OnRefreshCell += RefreshMakeDrugCell; drugTable.onSortCloseEvent += CloseDrugSort; drugTable.onSelectSortEvent += CreateCell; ctrl.lockType = EnhanceLockType.KeepVertical; canvas.alpha = 0; presentIndex = 0; drugTable.gameObject.SetActive(false); drugTable.SetDefault(); CreateCell(); CheckJumpToModel(); ModelCenter.Instance.GetModel<BlastFurnaceModel>().IsMakeDrugWin = true; CloseDrugSort(); } private void OnDisable() { drugTable.onSortCloseEvent -= CloseDrugSort; ctrl.OnRefreshCell -= RefreshMakeDrugCell; drugTable.onSelectSortEvent -= CreateCell; ModelCenter.Instance.GetModel<BlastFurnaceModel>().IsMakeDrugWin = false; } private void ClickDrugSelect() { tableArrow.localRotation = Quaternion.Euler(0, 0, 0); if (!drugTable.gameObject.activeInHierarchy) { drugTable.gameObject.SetActive(true); } } private void CloseDrugSort() { tableArrow.localRotation = Quaternion.Euler(0, 0, 180); } private void CheckJumpToModel() @@ -125,19 +155,24 @@ private void CreateCell() { fruitlist = playerPack.GetDrugOrderByCnt(); if (ctrl.GetNumberOfCells(ctrl.m_Scorller) > 0) { ctrl.m_Scorller.RefreshActiveCellViews(); } else { ctrl.Refresh(); for (int i = 0; i < fruitlist.Count; i++) { int[] recipeLvs = fruitlist[i].RecipeLv; if(recipeLvs != null) { for(int j= 0; j < recipeLvs.Length; j++) { if(blastModel.sortDruglist.Contains(recipeLvs[j])) { ctrl.AddCell(ScrollerDataType.Header, i); break; } } } } ctrl.Restart(); } }