| System/Equip/EquipFrameWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Equip/EquipModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Equip/EquipSuitPropertyWidget.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Equip/RealmEquipWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/Equip/EquipFrameWin.cs
@@ -63,7 +63,6 @@ protected override void OnAfterClose() { model.ResetOperateParams(); } protected override void OnActived() System/Equip/EquipModel.cs
@@ -24,6 +24,8 @@ public readonly LogicList<CandidateEquip> candidateEquips = new LogicList<CandidateEquip>(); public readonly LogicList<int> getWays = new LogicList<int>(); public readonly LogicBool isAppearanceLevel = new LogicBool(); public readonly LogicList<int> suitPlaces = new LogicList<int>(); public readonly LogicStruct<EquipSuitProperty> suitProperty = new LogicStruct<EquipSuitProperty>(); static Dictionary<int, string> equipSetNames = new Dictionary<int, string>(); Dictionary<int, EquipSet> equipSets = new Dictionary<int, EquipSet>(); @@ -124,6 +126,14 @@ } UpdateAppearanceState(level); UpdateSuitPlaces(level); UpdateSuitProperty(level, selectedStarLevel.value); } public void SelectSuitStarLevel(int star) { selectedStarLevel.value = star; UpdateSuitProperty(selectedLevel.value, star); } public void ResetOperateParams() @@ -132,6 +142,8 @@ selectedStarLevel.value = 0; fightPoint.value = 0; appearance.value = default(EquipAppearance); suitProperty.value = default(EquipSuitProperty); suitPlaces.Clear(); candidateEquips.Clear(); getWays.Clear(); } @@ -485,6 +497,8 @@ appearance.value = GetAppearance(selectedLevel.value); fightPoint.value = GetFightPoint(selectedLevel.value); RefreshCandidateEquips(selectedLevel.value); UpdateSuitPlaces(selectedLevel.value); UpdateSuitProperty(selectedLevel.value, selectedStarLevel.value); } break; default: @@ -494,7 +508,8 @@ private void OnItemCountRefresh(PackType type, int index, int itemId) { var dirty = false; var itemDirty = false; var equipDirty = false; switch (type) { case PackType.Item: @@ -510,7 +525,7 @@ if (selectedLevel.value > 0) { dirty = true; itemDirty = true; } } break; @@ -521,6 +536,12 @@ appearance.value = GetAppearance(selectedLevel.value); fightPoint.value = GetFightPoint(selectedLevel.value); if (clientPlace.x == selectedLevel.value) { equipDirty = true; } if (clientPlace.x == PlayerDatas.Instance.baseData.equipShowSwitch / 10) { if (appearanceChangeEvent != null) @@ -532,10 +553,16 @@ break; } if (dirty) if (itemDirty) { RefreshCandidateEquips(selectedLevel.value); UpdateRedpoint(selectedLevel.value); } if (equipDirty) { UpdateSuitPlaces(selectedLevel.value); UpdateSuitProperty(selectedLevel.value, selectedStarLevel.value); } } @@ -599,6 +626,41 @@ private void UpdateAppearanceState(int level) { isAppearanceLevel.value = level == PlayerDatas.Instance.baseData.equipShowSwitch / 10; } private void UpdateSuitPlaces(int level) { suitPlaces.Clear(); for (int i = 1; i <= 8; i++) { var equip = packModel.GetItemByGuid(GetEquip(new Int2(level, i))); var hasSuit = equip != null && equip.config.SuiteiD > 0; if (hasSuit) { suitPlaces.Add(i); } } } private void UpdateSuitProperty(int level, int star) { var property = new EquipSuitProperty(); property.twoSuit = GetEquipSuitEntry(level, star, EquipSuitType.TwoSuit); property.fiveSuit = GetEquipSuitEntry(level, star, EquipSuitType.FiveSuit); var configs = EquipSuitConfig.GetConfigs(PlayerDatas.Instance.baseData.Job, level, EquipSuitType.EightSuit); for (int i = 0; i < configs.Count; i++) { var config = configs[i]; if (config.star == star) { property.eightSuitId = config.id; } } property.eightActived = GetSuitLevel(level, EquipSuitType.EightSuit) >= star; this.suitProperty.value = property; } private void ParseConfig() @@ -690,5 +752,13 @@ public List<Int2> properties; } public struct EquipSuitProperty { public EquipSuitPropertyEntry twoSuit; public EquipSuitPropertyEntry fiveSuit; public int eightSuitId; public bool eightActived; } } System/Equip/EquipSuitPropertyWidget.cs
@@ -21,21 +21,9 @@ [SerializeField] Text m_EightSuitTitle; [SerializeField] Text m_EightSuitDescription; EquipModel model { get { return ModelCenter.Instance.GetModel<EquipModel>(); } } EquipStarModel starModel { get { return ModelCenter.Instance.GetModel<EquipStarModel>(); } } PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } } public void Init(int level) { m_SuitName.text = EquipSuitConfig.GetConfigs(PlayerDatas.Instance.baseData.Job, level, EquipSuitType.TwoSuit)[0].name; for (int i = 1; i <= 8; i++) { var equip = packModel.GetItemByGuid(model.GetEquip(new Int2(level, i))); var hasSuit = equip != null && equip.config.SuiteiD > 0; m_SuitEquipNames[i - 1].color = UIHelper.GetUIColor(hasSuit ? TextColType.Green : TextColType.White, true); m_SuitEquipNames[i - 1].text = UIHelper.GetEquipPlaceName(i); } var maxLevel = EquipStarModel.GetMaxStarLevel(level); m_StarToggles[3].SetActive(maxLevel >= 9); m_StarToggles[2].SetActive(maxLevel >= 6); @@ -43,13 +31,22 @@ m_StarToggles[0].SetActive(true); } public void Display(int level, int star) public void DisplaySuitPlaces(List<int> places) { m_TwoSuit.Display(model.GetEquipSuitEntry(level, star, EquipSuitType.TwoSuit)); m_FiveSuit.Display(model.GetEquipSuitEntry(level, star, EquipSuitType.FiveSuit)); m_EightSuitDescription.text = GetEightSuitDescription(level, star); var eightSuitLevel = model.GetSuitLevel(level, EquipSuitType.EightSuit); var color = UIHelper.GetUIColor(eightSuitLevel >= star ? TextColType.Green : TextColType.White, true); for (int i = 1; i <= 8; i++) { var hasSuit = places.Contains(i); m_SuitEquipNames[i - 1].color = UIHelper.GetUIColor(hasSuit ? TextColType.Green : TextColType.White, true); m_SuitEquipNames[i - 1].text = UIHelper.GetEquipPlaceName(i); } } public void DisplayProperty(EquipSuitProperty property) { m_TwoSuit.Display(property.twoSuit); m_FiveSuit.Display(property.fiveSuit); m_EightSuitDescription.text = GetEightSuitDescription(property.eightSuitId); var color = UIHelper.GetUIColor(property.eightActived ? TextColType.Green : TextColType.White, true); m_EightSuitTitle.color = color; m_EightSuitDescription.color = color; } @@ -59,31 +56,17 @@ } private string GetEightSuitDescription(int level, int star) private string GetEightSuitDescription(int suitId) { var configs = EquipSuitConfig.GetConfigs(PlayerDatas.Instance.baseData.Job, level, EquipSuitType.EightSuit); for (int i = 0; i < configs.Count; i++) var config = EquipSuitConfig.Get(suitId); if (config.skillID > 0) { var config = configs[i]; if (config.star == star) { var description = string.Empty; if (config.skillID > 0) { description = config.description; } else { var propertyConfig = PlayerPropertyConfig.Get(config.attr[0].x); var propertyDescription = PlayerPropertyConfig.GetValueDescription(config.attr[0].x, config.attr[0].y); description = StringUtility.Contact(propertyConfig.Name, " +", propertyDescription); } return description; } return config.description; } return string.Empty; else { return PlayerPropertyConfig.GetFullDescription(config.attr[0]); } } [System.Serializable] @@ -114,7 +97,7 @@ { if (value) { model.selectedStarLevel.value = star; model.SelectSuitStarLevel(star); } } System/Equip/RealmEquipWin.cs
@@ -110,9 +110,14 @@ m_CandidateEquipWidget.Display(model.selectedLevel.value, candidates); } if (force || model.selectedStarLevel.dirty) if (force || model.suitPlaces.dirty) { m_SuitPropertyWidget.Display(model.selectedLevel.value, model.selectedStarLevel.Fetch()); m_SuitPropertyWidget.DisplaySuitPlaces(model.suitPlaces.Fetch()); } if (force || model.suitProperty.dirty) { m_SuitPropertyWidget.DisplayProperty(model.suitProperty.Fetch()); } if (force || model.getWays.dirty)