| Lua/Gen/SnxxzUIEquipModelWrap.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Equip/EquipFrameWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Equip/EquipModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Equip/EquipSetSelect.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Equip/EquipSetSelect.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Equip/RealmEquipWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/EquipGem/EquipStrengthModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/EquipGem/EquipStrengthWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Lua/Gen/SnxxzUIEquipModelWrap.cs
@@ -652,7 +652,7 @@ { System.Collections.Generic.List<int> gen_ret = gen_to_be_invoked.GetViewableEquipSets( ); System.Collections.Generic.List<int> gen_ret = gen_to_be_invoked.GetUnLockedEquipSets( ); translator.Push(L, gen_ret); System/Equip/EquipFrameWin.cs
@@ -13,7 +13,26 @@ { public class EquipFrameWin : OneLevelWin { { protected Image m_LeftTop; protected override void BindController() { base.BindController(); m_LeftTop = this.GetComponent<Image>("Pivot/Container_Decorate/Img_LeftTop"); m_LeftTop.gameObject.SetActive(false); m_Left.SetActive(false); m_Right.SetActive(false); } protected override void OnActived() { base.OnActived(); m_Left.gameObject.SetActive(false); m_Right.gameObject.SetActive(false); } protected override void AddListeners() { base.AddListeners(); System/Equip/EquipModel.cs
@@ -44,7 +44,7 @@ public event Action appearanceChangeEvent; public event Action<int> OnSelectSetEvent; public event Action<int> OnSelectFuncSetEvent; // 装备功能选中阶(如锻造) public void OnPlayerLoginOk() { @@ -198,7 +198,15 @@ return -1; } public void SelectSet(int level) // 装备功能选中阶(如锻造) // 20191126 装备阶标签独立提取出来方便操作 public void SelectFuncSet(int level) { if (OnSelectFuncSetEvent != null) OnSelectFuncSetEvent(level); } public void SelectSet(int level) { selectedLevel.value = level; if (selectedLevel.dirty) @@ -406,26 +414,7 @@ return new List<int>(equipSets.Keys); } public List<int> GetViewableEquipSets() { var sets = new List<int>(); var index = 0; for (index = 0; index < sortedLevels.Count; index++) { var level = sortedLevels[index]; var set = equipSets[level]; if (set.unLocked) { sets.Add(set.level); } else { break; } } return sets; } public List<int> GetUnLockedEquipSets() { @@ -451,7 +440,7 @@ { var sets = new List<int>(); int limitLevel = 0; if (EquipLevelFuncID != null) if (EquipLevelFuncID != null && EquipLevelFuncID.ContainsKey(funcID)) limitLevel = EquipLevelFuncID[funcID]; for (var i = 0; i < sortedLevels.Count; i++) System/Equip/EquipSetSelect.cs
New file @@ -0,0 +1,64 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Monday, March 11, 2019 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class EquipSetSelect : MonoBehaviour { [SerializeField] Text m_EquipHeadName; [SerializeField] Transform m_ContainerSelect; [SerializeField] Button m_Select; [SerializeField] RedpointBehaviour m_Redpoint; EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } } int equipLevel = 0; public void Display(int level, bool isSelect, int repointID) { this.equipLevel = level; var equipSet = equipModel.GetEquipSet(level); if (equipSet != null) { var realmConfig = RealmConfig.Get(equipSet.realm); if (realmConfig != null) { m_EquipHeadName.text = realmConfig.Name; } } m_ContainerSelect.gameObject.SetActive(isSelect); m_Select.SetListener(OnSelect); m_Redpoint.redpointId = repointID; } private void OnSelect() { equipModel.SelectFuncSet(equipLevel); //if (strengthModel.SelectLevel == equipLevel) //{ // strengthModel.SelectLevel = -1; //} //else //{ // strengthModel.SelectLevel = equipLevel; //} } } } System/Equip/EquipSetSelect.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: d37ecc79f6400664bb548ee0085c09c7 timeCreated: 1574756015 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/Equip/RealmEquipWin.cs
@@ -76,14 +76,14 @@ protected void TriggerNext() { int index = Math.Min(model.selectedLevel.value + 1, model.GetViewableEquipSets().Count); int index = Math.Min(model.selectedLevel.value + 1, model.GetUnLockedEquipSets().Count); model.SelectSet(index); } protected void ChangeHorizontalPos(int index) { m_Group.ChangeHorizontalPos((float)(index-1) / model.GetViewableEquipSets().Count); m_Group.ChangeHorizontalPos((float)(index-1) / model.GetUnLockedEquipSets().Count); } protected override void OnPreOpen() @@ -191,7 +191,7 @@ private void DisplayLevels() { var sets = model.GetViewableEquipSets(); var sets = model.GetUnLockedEquipSets(); var behaviourCount = sets.Count; var behaviourGap = behaviourCount - levelSelectBehaviours.Count; for (var i = 0; i < behaviourGap; i++) System/EquipGem/EquipStrengthModel.cs
@@ -165,6 +165,7 @@ packModel.refreshItemCountEvent += RefreshItemCountEvent; FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent; PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefreshEvent; equipModel.OnSelectFuncSetEvent += OnSelect; } public void OnBeforePlayerDataInitialize() @@ -184,6 +185,19 @@ packModel.refreshItemCountEvent -= RefreshItemCountEvent; FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent; PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefreshEvent; equipModel.OnSelectFuncSetEvent -= OnSelect; } private void OnSelect(int equipLevel) { if (SelectLevel == equipLevel) { return; } else { SelectLevel = equipLevel; } } private void PlayerDataRefreshEvent(PlayerDataType dataType) System/EquipGem/EquipStrengthWin.cs
@@ -15,6 +15,7 @@ public class EquipStrengthWin : Window { [SerializeField] ScrollerController m_Controller; [SerializeField] RectTransform m_LevelsContainer; [SerializeField] Transform m_ContainerStrength; [SerializeField] Transform m_ContainerEmpty; @@ -85,6 +86,8 @@ List<int> m_Sorts = new List<int>(); List<EquipSetSelect> EquipSetList = new List<EquipSetSelect>(); #region Built-in protected override void BindController() { @@ -116,7 +119,7 @@ PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefreshEvent; mainModel.customDisplayPower += CustomDisplayPower; m_Controller.JumpIndex(GetJumpIndex(model.SelectLevel, model.SelectEquipPlace, selectEquip)); m_Controller.JumpIndex(GetJumpIndex(model.SelectLevel, model.SelectEquipPlace)); } @@ -174,44 +177,28 @@ return IsAutomaticBool || (Time.time - customDelayTime) < customPowerUpDelay; } int GetJumpIndex(int selectLevel, int selectPlace, bool selectEquip) int GetJumpIndex(int selectLevel, int selectPlace) { var jumpIndex = 0; var equipSets = equipModel.GetAllEquipSets(); foreach (var level in equipSets) var equipSet = equipModel.GetEquipSet(selectLevel); if (equipSet == null) { if (level > selectLevel) return jumpIndex; } foreach (var place in m_Sorts) { if (equipSet.IsSlotUnLocked(place)) { return jumpIndex; } var equipSet = equipModel.GetEquipSet(level); if (equipSet == null) { continue; } if (equipSet.unLocked) { if (selectLevel == level && !selectEquip) if (selectPlace == place) { return jumpIndex; } jumpIndex++; if (model.SelectLevel == level) { foreach (var place in m_Sorts) { if (equipSet.IsSlotUnLocked(place)) { if (selectLevel == level && selectPlace == place) { return jumpIndex; } jumpIndex++; } } } } } return 0; } @@ -263,36 +250,59 @@ m_Controller.m_Scorller.RefreshActiveCellViews(); } } void DisplayEquips() private void DisplayEquips() { m_Controller.Refresh(); var equipSets = equipModel.GetAllEquipSets(); foreach (var level in equipSets) var sets = equipModel.GetUnLockedEquipSetsByFuncID(-1); var behaviourCount = sets.Count; var behaviourGap = behaviourCount - EquipSetList.Count; for (var i = 0; i < behaviourGap; i++) { var equipSet = equipModel.GetEquipSet(level); if (equipSet == null) var instance = UIUtility.CreateWidget("EquipSetSelect", "EquipSetSelect"); instance.transform.SetParentEx(m_LevelsContainer, Vector3.zero, Quaternion.identity, Vector3.one); instance.transform.SetAsFirstSibling(); EquipSetList.Insert(0, instance.GetComponent<EquipSetSelect>()); } m_Controller.Refresh(); for (var i = 0; i < EquipSetList.Count; i++) { var behaviour = EquipSetList[i]; if (i < behaviourCount) { continue; behaviour.gameObject.SetActive(true); Redpoint redpoint; model.TryGetRedpoint(sets[i], out redpoint); behaviour.Display(sets[i], model.SelectLevel== sets[i], redpoint.id); } if (equipSet.unLocked) else { m_Controller.AddCell(ScrollerDataType.Header, level); if (model.SelectLevel == level) behaviour.gameObject.SetActive(false); } if (model.SelectLevel == sets[i]) { var equipSet = equipModel.GetEquipSet(sets[i]); if (equipSet == null) { m_Sorts.Clear(); m_Sorts.AddRange(model.equipPlaces); m_Sorts.Sort(EquipCompare); foreach (var place in m_Sorts) continue; } m_Sorts.Clear(); m_Sorts.AddRange(model.equipPlaces); m_Sorts.Sort(EquipCompare); foreach (var place in m_Sorts) { if (equipSet.IsSlotUnLocked(place)) { if (equipSet.IsSlotUnLocked(place)) { m_Controller.AddCell(ScrollerDataType.Normal, level * 1000 + place); } m_Controller.AddCell(ScrollerDataType.Header, sets[i] * 1000 + place); } } } } m_Controller.Restart(); } private int EquipCompare(int x, int y) @@ -341,10 +351,6 @@ switch (type) { case ScrollerDataType.Header: var equipGemHeadCell = cell as EquipStrengthHeadBehaviour; equipGemHeadCell.Display(cell.index); break; case ScrollerDataType.Normal: var level = cell.index / 1000; var place = cell.index % 1000; var equipSelectCell = cell as EquipStrengthSelectBehaviour; @@ -566,7 +572,7 @@ if (!m_Controller.IsDisplay(position.x * 1000 + position.y)) { m_Controller.JumpIndex(GetJumpIndex(model.SelectLevel, model.SelectEquipPlace, true)); m_Controller.JumpIndex(GetJumpIndex(model.SelectLevel, model.SelectEquipPlace)); } } }