| System/JadeDynastyKnapSack/JadeDynastyEquipBeh.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/JadeDynastyKnapSack/JadeDynastyEquipGetPathsWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/JadeDynastyKnapSack/JadeDynastyEquipGetPathsWin.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/JadeDynastyKnapSack/JadeDynastyEquipModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/JadeDynastyKnapSack/JadeDynastyEquipWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/JadeDynastyKnapSack/JadeDynastyItemBeh.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/KnapSack/BetterItemGetBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/KnapSack/Logic/EquipTip.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/KnapSack/Logic/PackModelInterface.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/WindowJump/WindowJumpMgr.cs | ●●●●● 补丁 | 查看 | 原始文档 | 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,//定海神针功法提升界面