少年修仙传客户端代码仓库
client_Wu Xijin
2019-03-15 8f2f39fef270fa2b395b769d98c93b06beaf9515
3335 修改装备界面物品来源操作。
2个文件已添加
5个文件已修改
168 ■■■■■ 已修改文件
Lua/Gen/SnxxzUIEquipModelWrap.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Equip/CandidateEquipWidget.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Equip/EquipGetWayWidget.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Equip/EquipGetWayWidget.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Equip/EquipModel.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Equip/EquipSlotBehaviour.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Equip/RealmEquipWin.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | 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]