少年修仙传客户端代码仓库
client_Wu Xijin
2018-10-16 c940b82c9ba6010ff06f31f43576f5e3718a9e44
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
2个文件已修改
4个文件已添加
287 ■■■■■ 已修改文件
System/BlastFurnace/BlastFurnaceModel.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/MakeDrugSortCell.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/MakeDrugSortCell.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/SortMakeDrugTable.cs 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/SortMakeDrugTable.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/RoleElixirTipWin.cs 49 ●●●● 补丁 | 查看 | 原始文档 | 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();
            }
           
        }