少年修仙传客户端代码仓库
Client_PangDeRong
2019-01-23 2d33b5a669a927d444e095d2b5cb118b20403440
5930 子 【开发】【1.5.100】诛仙装备开发 / 【前端】【1.5.100】诛仙装备开发
8个文件已修改
2个文件已添加
387 ■■■■■ 已修改文件
System/JadeDynastyKnapSack/JadeDynastyEquipBeh.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/JadeDynastyKnapSack/JadeDynastyEquipGetPathsWin.cs 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/JadeDynastyKnapSack/JadeDynastyEquipGetPathsWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/JadeDynastyKnapSack/JadeDynastyEquipModel.cs 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/JadeDynastyKnapSack/JadeDynastyEquipWin.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/JadeDynastyKnapSack/JadeDynastyItemBeh.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/BetterItemGetBehaviour.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/EquipTip.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/PackModelInterface.cs 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowJump/WindowJumpMgr.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/JadeDynastyKnapSack/JadeDynastyEquipBeh.cs
@@ -42,6 +42,7 @@
            if(islock)
            {
                itemCell.gameObject.SetActive(false);
                equipBtn.AddListener(ClickEquipBtn);
            }
            else
            {
@@ -55,6 +56,11 @@
            }
        }
        private void ClickEquipBtn()
        {
            equipModel.SetLookEquipGetPath((int)equipType);
        }
        private void PutOffEquip(PackType type, int index, int id)
        {
            int equipIndex = 0;
System/JadeDynastyKnapSack/JadeDynastyEquipGetPathsWin.cs
New file
@@ -0,0 +1,153 @@
using System;
using UnityEngine;
using UnityEngine.UI;
using System.Collections.Generic;
using TableConfig;
using System.Collections;
namespace Snxxz.UI
{
    public class JadeDynastyEquipGetPathsWin : Window
    {
        [SerializeField] RectTransform container;
        [SerializeField] CanvasGroup alpha;
        [SerializeField] List<Path> paths = new List<Path>();
        JadeDynastyEquipModel equipModel { get { return ModelCenter.Instance.GetModel<JadeDynastyEquipModel>(); } }
        #region Built-in
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
        }
        protected override void OnPreOpen()
        {
            SetDisplay();
        }
        protected override void OnActived()
        {
            base.OnActived();
            StartCoroutine(DelayShow());
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
        private void SetDisplay()
        {
            alpha.alpha = 0;
            container.gameObject.SetActive(false);
            UpdatePath();
        }
        IEnumerator DelayShow()
        {
            yield return null;
            container.gameObject.SetActive(true);
            container.localPosition = equipModel.targetPos;
            StartCoroutine(DelayAlpha());
        }
        IEnumerator DelayAlpha()
        {
            yield return null;
            alpha.alpha = 1;
        }
        private void UpdatePath()
        {
            int towerLayer = 0;
            bool isLock = equipModel.TryGetLockTowerLayer(equipModel.targetEquipPlace,out towerLayer);
            if(isLock)
            {
                for (int i = 0; i < paths.Count; i++)
                {
                    var path = paths[i];
                    if(i == 0)
                    {
                        path.pathObj.SetActive(true);
                        path.SetDisPlay(0,towerLayer);
                    }
                    else
                    {
                        path.pathObj.SetActive(false);
                    }
                }
            }
            else
            {
                List<int> pathIds = null;
                bool isPath = equipModel.TryGetEquipPaths(equipModel.targetEquipPlace,out pathIds);
                if(isPath)
                {
                    for(int i = 0; i < paths.Count; i++)
                    {
                        var path = paths[i];
                        if(i < pathIds.Count)
                        {
                            var pathId = pathIds[i];
                            path.pathObj.SetActive(true);
                            path.SetDisPlay(pathId,0);
                        }
                        else
                        {
                            path.pathObj.SetActive(false);
                        }
                    }
                }
            }
        }
        [Serializable]
        public class Path
        {
            [SerializeField] public GameObject pathObj;
            [SerializeField] Text pathText;
            [SerializeField] Button pathBtn;
            public void SetDisPlay(int pathId,int towerLayer)
            {
                pathBtn.RemoveAllListeners();
                if (towerLayer == 0)
                {
                    var pathConfig = Config.Instance.Get<GetItemWaysConfig>(pathId);
                    if (pathConfig == null) return;
                    pathText.text = pathConfig.name;
                    pathBtn.AddListener(()=>
                    {
                        WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)pathConfig.OpenpanelId);
                        WindowCenter.Instance.CloseImmediately<JadeDynastyEquipGetPathsWin>();
                    });
                }
                else
                {
                    pathText.text = Language.Get("JadeDynastyEquip2",towerLayer);
                    pathBtn.AddListener(() =>
                    {
                        WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.JadeDynastyTower288);
                        WindowCenter.Instance.CloseImmediately<JadeDynastyEquipGetPathsWin>();
                    });
                }
            }
        }
    }
}
System/JadeDynastyKnapSack/JadeDynastyEquipGetPathsWin.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 2f33faa6ffe19c3488cdb1f273751e8c
timeCreated: 1548247759
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/JadeDynastyKnapSack/JadeDynastyEquipModel.cs
@@ -4,6 +4,7 @@
using System.Text;
using TableConfig;
using LitJson;
using UnityEngine;
namespace Snxxz.UI
{
@@ -46,6 +47,7 @@
        #region 解析表数据
        public Dictionary<int, int> lockEquipLayerDict { get; private set; }
        public Dictionary<int, List<int>> suitTypeDict { get; private set;}
        public Dictionary<int, List<int>> equipGetPathDict { get; private set;}
        public void ParseFuncConfig()
        {
            lockEquipLayerDict = new Dictionary<int, int>();
@@ -75,6 +77,27 @@
                    }
                }
            }
            equipGetPathDict = new Dictionary<int, List<int>>();
            var jadeDynastyEquipGetPaths = Config.Instance.Get<FuncConfigConfig>("JadeDynastyEquipGetPaths");
            var equipGetPathData = JsonMapper.ToObject(jadeDynastyEquipGetPaths.Numerical1);
            foreach(var key in equipGetPathData.Keys)
            {
                var pathData = equipGetPathData[key];
                int equipPlace = int.Parse(key);
                List<int> pathIds = new List<int>();
                equipGetPathDict.Add(equipPlace,pathIds);
                if(pathData.IsArray)
                {
                    for(int i = 0; i < pathData.Count; i++)
                    {
                        int pathId = int.Parse(pathData[i].ToString());
                        pathIds.Add(pathId);
                    }
                }
            }
        }
        public Dictionary<int, Dictionary<int, JadeDynastySuitAttrData>> suitAttrDict { get; private set; }
@@ -141,8 +164,53 @@
        }
        #endregion
        #region 封包
        #region 查看物品
        public string lookGuid { get; private set; }
        public int jumpIndex { get; private set;}
        public void SetLookItemModel(string guid)
        {
            jumpIndex = -1;
            lookGuid = string.Empty;
            if (string.IsNullOrEmpty(guid)) return;
            var model = playerPack.GetItemModelByGUID(guid);
            if(model != null)
            {
                lookGuid = guid;
                int itemIndex = model.itemInfo.ItemPlace;
                jumpIndex = itemIndex / 5;
                WindowCenter.Instance.CloseImmediately<MainInterfaceWin>();
                WindowCenter.Instance.Open<JadeDynastyKnapSackWin>(false,0);
            }
        }
        public void ClearLookItemModel()
        {
            lookGuid = string.Empty;
            jumpIndex = -1;
        }
        #endregion
        #region 查看装备栏获取途径
        public Vector2 targetPos;
        public int targetEquipPlace { get; private set; }
        public void SetLookEquipGetPath(int equipPlace)
        {
            this.targetEquipPlace = equipPlace;
            RectTransformUtility.ScreenPointToLocalPointInRectangle(WindowCenter.Instance.uiRoot.tipsCanvas, Input.mousePosition, WindowCenter.Instance.uiRoot.uicamera, out targetPos);
            if(!WindowCenter.Instance.IsOpen<JadeDynastyEquipGetPathsWin>())
            {
                WindowCenter.Instance.Open<JadeDynastyEquipGetPathsWin>();
            }
        }
        #endregion
        public bool TryGetEquipPaths(int equipPlace, out List<int> pathIds)
        {
            pathIds = null;
            return equipGetPathDict.TryGetValue(equipPlace,out pathIds);
        }
        public bool TryGetJadeDynastyEquipIndex(int equipPlace,out int equipIndex)
        {
@@ -304,7 +372,7 @@
                case PackType.rptJadeDynastyItem:
                    if(isMax)
                    {
                        curSuitLv = maxSuitLv;
                        nextSuitLV = maxSuitLv;
                        return true;
                    }
                    break;
System/JadeDynastyKnapSack/JadeDynastyEquipWin.cs
@@ -23,6 +23,8 @@
        PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
        RoleParticularModel particularModel { get { return ModelCenter.Instance.GetModel<RoleParticularModel>(); } }
        PackModelInterface modelInterface { get { return ModelCenter.Instance.GetModel<PackModelInterface>(); } }
        JadeDynastyEquipModel equipModel { get { return ModelCenter.Instance.GetModel<JadeDynastyEquipModel>(); } }
        #region Built-in
        protected override void BindController()
        {
@@ -53,6 +55,7 @@
            particularModel.PowerUpdate -= UpdateFightPower;
            playerPack.RefreshItemCountAct -= UpdateJadeDynastyItem;
            UI3DModelExhibition.Instance.StopShow();
            equipModel.ClearLookItemModel();
        }
        protected override void OnAfterClose()
@@ -66,6 +69,7 @@
            CreateItemLine();
            UpdatePlayerUI3DModel();
            UpdateFightPower();
            UpdateLookItem();
            TimeDownMgr.CoolTimeData data;
            if (TimeDownMgr.Instance.Get(TimeDownMgr.CoolTimeType.BagSort, out data))
            {
@@ -80,6 +84,16 @@
                sortText.text = Language.Get("BagWin_Sortbtn_Text_1");
                sortBtn.enabled = true;
            }
        }
        public void UpdateLookItem()
        {
            if (equipModel.jumpIndex < 0) return;
            int jumpIndex = equipModel.jumpIndex;
            jumpIndex = jumpIndex > 2 ? jumpIndex - 2 : jumpIndex;
            itemCtrl.JumpIndex(jumpIndex);
            itemCtrl.m_Scorller.RefreshActiveCellViews();
        }
        private void CreateItemLine()
@@ -106,6 +120,7 @@
            {
                case PackType.rptJadeDynastyItem:
                    UpdateItemLine();
                    equipModel.ClearLookItemModel();
                    break;
                case PackType.rptJadeDynastyEquip:
                    UpdatePlayerUI3DModel();
System/JadeDynastyKnapSack/JadeDynastyItemBeh.cs
@@ -7,9 +7,11 @@
    {
        [SerializeField] ItemCell itemCell;
        [SerializeField] Button lockBtn;
        [SerializeField] UIEffect effect;
        ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
        PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
        JadeDynastyEquipModel equipModel { get { return ModelCenter.Instance.GetModel<JadeDynastyEquipModel>(); } }
        public void SetDisplay(int index)
        {
@@ -29,12 +31,36 @@
                    tipsModel.SetBagTipsBtn(tipsModel.curAttrData);
                    tipsModel.ShowUICtrl();
                });
                UpdatePlayerEffect(itemModel.itemInfo.ItemGUID);
            }
            else
            {
                bool isLock = index > (singlePack.openGridCount - 1);
                lockBtn.gameObject.SetActive(isLock);
                UpdatePlayerEffect(null);
            }
        }
        private void UpdatePlayerEffect(string guid)
        {
            if (effect == null) return;
            if(string.IsNullOrEmpty(guid))
            {
                if(effect.IsPlaying)
                {
                    effect.Stop();
                }
            }
            else
            {
                if(guid == equipModel.lookGuid)
                {
                    if (!effect.IsPlaying)
                    {
                        effect.Play();
                    }
                }
            }
        }
    }
System/KnapSack/BetterItemGetBehaviour.cs
@@ -90,6 +90,22 @@
            ItemModel betterEquip;
            if (model.TryGetBetterEquip(model.currentEquipGuid, out betterEquip))
            {
                switch(betterEquip.packType)
                {
                    case PackType.rptItem:
                        ToOpenRoleKanpsack(betterEquip);
                        break;
                    case PackType.rptJadeDynastyItem:
                        ToOpenJadeDynastyKnapsack(betterEquip);
                        break;
                }
            }
        }
        private void ToOpenRoleKanpsack(ItemModel betterEquip)
        {
                var itemConfig = Config.Instance.Get<ItemConfig>(betterEquip.itemInfo.ItemID);
                if (NewBieCenter.Instance.inGuiding)
                {
@@ -125,6 +141,10 @@
            }
        private void ToOpenJadeDynastyKnapsack(ItemModel betterEquip)
        {
            var model = ModelCenter.Instance.GetModel<JadeDynastyEquipModel>();
            model.SetLookItemModel(betterEquip.itemInfo.ItemGUID);
        }
        private void ShowBetterEquipDetails()
System/KnapSack/Logic/EquipTip.cs
@@ -971,7 +971,37 @@
            source.jobTitleText.text = Language.Get("EquipWin_JobTitleText_1");
            source.jobText.text = itemTipsModel.GetEquipJobName(itemAttrData);
            source.partTitleText.text = Language.Get("EquipWin_PartTitleText_1");
            int equipPlace = itemAttrData.itemConfig.EquipPlace;
            switch(equipPlace)
            {
                case 1:
                case 2:
                case 3:
                case 4:
                case 5:
                case 6:
                case 7:
                case 8:
                case 9:
                case 10:
                case 12:
            source.partText.text = StringUtility.Contact(FuncConfigConfig.GetEquipTipsAreaName(itemAttrData.itemConfig.EquipPlace), itemAttrData.itemConfig.LV,Language.Get("L1047"));
                    break;
                case 121:
                case 122:
                case 123:
                case 124:
                case 125:
                case 126:
                case 127:
                case 128:
                case 129:
                case 130:
                case 131:
                case 132:
                    source.partText.text = StringUtility.Contact(Language.Get(((RoleEquipType)equipPlace).ToString()), itemAttrData.itemConfig.LV, Language.Get("L1047"));
                    break;
            }
        }
        private void CreateFuncBtn()
System/KnapSack/Logic/PackModelInterface.cs
@@ -817,18 +817,44 @@
        public event Action<string> RefreshGetBetterEquipEvent; //得到更好的装备 value 物品的实例ID
        public void OnGetEquip(ItemModel model)
        public bool IsSameJob(int jobLimit)
        {
            if (model.packType != PackType.rptItem
                || (model.chinItemModel.EquipPlace <= 0 || model.chinItemModel.EquipPlace > 12)
                || (model.chinItemModel.JobLimit / 100 != PlayerDatas.Instance.baseData.Job
                    && model.chinItemModel.Type != (int)ItemType.Necklaces
                    && model.chinItemModel.Type != (int)ItemType.FairyEquip
                    && model.chinItemModel.Type != (int)ItemType.SpiritAnimal))
            {
                return;
            return jobLimit == 0 || jobLimit / 100 == PlayerDatas.Instance.baseData.Job;
            }
        public void OnGetEquip(ItemModel model)
        {
            if (model == null) return;
            if (model.packType != PackType.rptItem && model.packType != PackType.rptJadeDynastyItem) return;
            if (!IsSameJob(model.chinItemModel.JobLimit)) return;
            int equipPlace = model.chinItemModel.EquipPlace;
            switch ((RoleEquipType)equipPlace)
            {
                case RoleEquipType.retWeapon:
                case RoleEquipType.retWeapon2:
                case RoleEquipType.retHat:
                case RoleEquipType.retClothes:
                case RoleEquipType.retBelt:
                case RoleEquipType.retTrousers:
                case RoleEquipType.retShoes:
                case RoleEquipType.retNeck:
                case RoleEquipType.retFairyCan:
                case RoleEquipType.retFairyCan2:
                case RoleEquipType.retWing:
                case RoleEquipType.retSpiritAnimal:
                case RoleEquipType.JadeDynasty_Cloak:
                case RoleEquipType.JadeDynasty_FaceMask:
                case RoleEquipType.JadeDynasty_Glove1:
                case RoleEquipType.JadeDynasty_Glove2:
                case RoleEquipType.JadeDynasty_Ruyi:
                case RoleEquipType.JadeDynasty_Pendant:
                case RoleEquipType.JadeDynasty_Ring1:
                case RoleEquipType.JadeDynasty_Ring2:
                case RoleEquipType.JadeDynasty_Sword1:
                case RoleEquipType.JadeDynasty_Sword2:
                case RoleEquipType.JadeDynasty_Sword3:
                case RoleEquipType.JadeDynasty_Sword4:
            if (betterEquipExceptDungeonDict.ContainsKey(PlayerDatas.Instance.baseData.MapID))
            {
                if (betterEquipExceptDungeonDict[PlayerDatas.Instance.baseData.MapID].Contains(model.itemInfo.ItemID))
@@ -836,8 +862,9 @@
                    return;
                }
            }
            SetGetBetterEquipEvent(model);
                    break;
            }
        }
        private void SetGetBetterEquipEvent(ItemModel model)
System/WindowJump/WindowJumpMgr.cs
@@ -703,6 +703,9 @@
            case JumpUIType.PrayforDrug:
                SetJumpLogic<PrayforDrugWin>(_tagWinSearchModel.TABID);
                break;
            case JumpUIType.JadeDynastyTower288:
                SetJumpLogic<TowerWin>(_tagWinSearchModel.TABID);
                break;
            case JumpUIType.JadeDynastyTowerRank:
                var rankModel = ModelCenter.Instance.GetModel<RankModel>();
                rankModel.jumpRankType = int.Parse(_tagWinSearchModel.SelectActive);
@@ -1598,6 +1601,7 @@
    SevenDaysTour285 = 285, //七日巡礼
    SevenDaysTour286 = 286, //七日巡礼
    SevenDaysTour287 = 287, //七日巡礼
    JadeDynastyTower288 = 288,//诛仙塔
    JadeDynastyTowerRank = 289,//排行榜-诛仙塔
    DhszTs = 1001,//定海神针功法提升界面