From c2d55dd16eaf067194666b50d30cf247b5259000 Mon Sep 17 00:00:00 2001 From: Soar Qin Date: Mon, 30 Sep 2024 19:10:04 +0800 Subject: [PATCH] WIP --- UXAssist/CHANGELOG.md | 8 ++++++++ UXAssist/Patches/LogisticsPatch.cs | 19 +++++++++++++------ UXAssist/UXAssist.csproj | 2 +- UXAssist/package/manifest.json | 2 +- 4 files changed, 23 insertions(+), 8 deletions(-) diff --git a/UXAssist/CHANGELOG.md b/UXAssist/CHANGELOG.md index 2ad9d4c..80fe6fb 100644 --- a/UXAssist/CHANGELOG.md +++ b/UXAssist/CHANGELOG.md @@ -1,5 +1,9 @@ ## Changlog +* 1.2.8 + + `Real-time logistic stations info panel`: Fix a bug that item status bar appears unexpectedly. +* 1.2.7 + + Fix some minor issues * 1.2.6 + `Remember window position and size on last exit` - Fix a bug that window position is restored even the option is disabled. @@ -206,6 +210,10 @@ ## 更新日志 +* 1.2.8 + + `物流运输站实时信息面板`:修复了一个物品状态条意外显示的问题 +* 1.2.7 + + 修复了一些小问题 * 1.2.6 + `记住上次退出时的窗口位置和大小` - 修复了即使选项被禁用也恢复窗口位置的问题 diff --git a/UXAssist/Patches/LogisticsPatch.cs b/UXAssist/Patches/LogisticsPatch.cs index 5563961..8848c0c 100644 --- a/UXAssist/Patches/LogisticsPatch.cs +++ b/UXAssist/Patches/LogisticsPatch.cs @@ -1020,7 +1020,7 @@ public static class LogisticsPatch return sprite; } - public void SetItem(int i, StationStore storage) + public void SetItem(int i, StationStore storage, bool barEnabled) { ref var storageState = ref _storageItems[i]; var countUIText = _countTextsText[i]; @@ -1047,7 +1047,7 @@ public static class LogisticsPatch _iconLocalsImage[i].sprite = StateSprite[(int)storageState.LocalState]; _iconRemotes[i].gameObject.SetActive(CarrierEnabled[(int)_layout][1]); _iconRemotesImage[i].sprite = StateSprite[(int)storageState.RemoteState]; - _sliderBg[i].gameObject.SetActive(RealtimeLogisticsInfoPanelBarsEnabled.Value); + _sliderBg[i].gameObject.SetActive(barEnabled); switch (_layout) { case EStationTipLayout.InterstellarLogistics: @@ -1069,7 +1069,6 @@ public static class LogisticsPatch } else if (itemId <= 0) return; - var barEnabled = RealtimeLogisticsInfoPanelBarsEnabled.Value; var itemCount = storage.count; var itemLimit = _layout == EStationTipLayout.InterstellarLogistics ? _remoteStorageMaxTotal : _localStorageMaxTotal; if (storageState.ItemCount != itemCount) @@ -1229,6 +1228,10 @@ public static class LogisticsPatch break; } } + for (var i = _storageNum; i < StorageSlotCount; i++) + { + _sliderBg[i].gameObject.SetActive(false); + } _storageNum = Math.Min(StorageNums[(int)layout], stationComponent.storage.Length); rectTransform.sizeDelta = new Vector2(TipWindowWidths[(int)layout], TipWindowExtraHeights[(int)layout] + 35f * _storageNum); @@ -1250,10 +1253,11 @@ public static class LogisticsPatch } var storageArray = stationComponent.storage; + var barEnabled = RealtimeLogisticsInfoPanelBarsEnabled.Value; for (var j = _storageNum - 1; j >= 0; j--) { var storage = storageArray[j]; - SetItem(j, storage); + SetItem(j, storage, barEnabled); } int currentCount, totalCount; @@ -1289,8 +1293,11 @@ public static class LogisticsPatch { for (var i = _storageNum - 1; i >= 0; i--) { - var bg = _sliderBg[i]; - bg.gameObject.SetActive(on && _storageItems[i].ItemId > 0); + _sliderBg[i].gameObject.SetActive(on && _storageItems[i].ItemId > 0); + } + for (var i = _storageNum; i < StorageSlotCount; i++) + { + _sliderBg[i].gameObject.SetActive(false); } } } diff --git a/UXAssist/UXAssist.csproj b/UXAssist/UXAssist.csproj index ba485f6..746b5de 100644 --- a/UXAssist/UXAssist.csproj +++ b/UXAssist/UXAssist.csproj @@ -4,7 +4,7 @@ net472 org.soardev.uxassist DSP MOD - UXAssist - 1.2.6 + 1.2.7 true latest UXAssist diff --git a/UXAssist/package/manifest.json b/UXAssist/package/manifest.json index 652dbbf..3ee3637 100644 --- a/UXAssist/package/manifest.json +++ b/UXAssist/package/manifest.json @@ -1,6 +1,6 @@ { "name": "UXAssist", - "version_number": "1.2.6", + "version_number": "1.2.7", "website_url": "https://github.com/soarqin/DSP_Mods/tree/master/UXAssist", "description": "Some functions and patches for better user experience / 一些提升用户体验的功能和补丁", "dependencies": [