From 09f7b1855f384da2c4796f25dc85e1d3e0f87743 Mon Sep 17 00:00:00 2001 From: Soar Qin Date: Wed, 25 Oct 2023 18:47:03 +0800 Subject: [PATCH] CompressSave 1.3.3 --- CompressSave/CompressSave.csproj | 2 +- CompressSave/PatchUISaveGame.cs | 46 +++++++++++++++++++++++------- CompressSave/README.md | 6 ++++ CompressSave/package/manifest.json | 2 +- 4 files changed, 44 insertions(+), 12 deletions(-) diff --git a/CompressSave/CompressSave.csproj b/CompressSave/CompressSave.csproj index 8e5c97c..85951a0 100644 --- a/CompressSave/CompressSave.csproj +++ b/CompressSave/CompressSave.csproj @@ -5,7 +5,7 @@ CompressSave org.soardev.compresssave DSP MOD - CompressSave - 1.3.2 + 1.3.3 true latest net472 diff --git a/CompressSave/PatchUISaveGame.cs b/CompressSave/PatchUISaveGame.cs index 49ba771..f96d685 100644 --- a/CompressSave/PatchUISaveGame.cs +++ b/CompressSave/PatchUISaveGame.cs @@ -118,15 +118,28 @@ static class PatchUISaveGame _context.ManualSaveTypeComboBox = gameObj; if (created) { - _context.ManualSaveTypeComboBox.name = "manual-save-type-combobox"; - rtrans = (RectTransform)_context.ManualSaveTypeComboBox.transform; + gameObj.name = "manual-save-type-combobox"; + rtrans = (RectTransform)gameObj.transform; var rtrans2 = (RectTransform)_context.ButtonCompress.transform; pos = rtrans2.anchoredPosition3D; rtrans.anchorMin = rtrans2.anchorMin; rtrans.anchorMax = rtrans2.anchorMax; rtrans.pivot = rtrans2.pivot; rtrans.anchoredPosition3D = new Vector3(pos.x + 100, pos.y + 45, pos.z); - var cb = rtrans.transform.Find("ComboBox").GetComponent(); + var cbctrl = rtrans.transform.Find("ComboBox"); + var content = cbctrl.Find("Dropdown List ScrollBox")?.Find("Mask")?.Find("Content Panel"); + if (content != null) + { + for (var i = content.childCount - 1; i >= 0; i--) + { + var theTrans = content.GetChild(i); + if (theTrans.name == "Item Button(Clone)") + { + Object.Destroy(theTrans.gameObject); + } + } + } + var cb = cbctrl.GetComponent(); cb.onSubmit.RemoveAllListeners(); cb.onItemIndexChange.RemoveAllListeners(); cb.Items = new List { "Store".Translate(), "LZ4", "Zstd" }; @@ -141,9 +154,9 @@ static class PatchUISaveGame rtrans.anchoredPosition3D = new Vector3(pos.x - 50, pos.y, pos.z); var size = rtrans.sizeDelta; rtrans.sizeDelta = new Vector2(150f, size.y); - var txt = _context.ManualSaveTypeComboBox.GetComponent(); + var txt = gameObj.GetComponent(); txt.text = "Compression for manual saves".Translate(); - var localizer = _context.ManualSaveTypeComboBox.GetComponent(); + var localizer = gameObj.GetComponent(); if (localizer != null) { localizer.stringKey = "Compression for manual saves"; @@ -161,15 +174,28 @@ static class PatchUISaveGame _context.AutoSaveTypeComboBox = gameObj; if (created) { - _context.AutoSaveTypeComboBox.name = "auto-save-type-combobox"; - rtrans = (RectTransform)_context.AutoSaveTypeComboBox.transform; + gameObj.name = "auto-save-type-combobox"; + rtrans = (RectTransform)gameObj.transform; var rtrans2 = (RectTransform)_context.ButtonCompress.transform; pos = rtrans2.anchoredPosition3D; rtrans.anchorMin = rtrans2.anchorMin; rtrans.anchorMax = rtrans2.anchorMax; rtrans.pivot = rtrans2.pivot; rtrans.anchoredPosition3D = new Vector3(pos.x + 510, pos.y + 45, pos.z); - var cb = rtrans.transform.Find("ComboBox").GetComponent(); + var cbctrl = rtrans.transform.Find("ComboBox"); + var content = cbctrl.Find("Dropdown List ScrollBox")?.Find("Mask")?.Find("Content Panel"); + if (content != null) + { + for (var i = content.childCount - 1; i >= 0; i--) + { + var theTrans = content.GetChild(i); + if (theTrans.name == "Item Button(Clone)") + { + Object.Destroy(theTrans.gameObject); + } + } + } + var cb = cbctrl.GetComponent(); cb.onSubmit.RemoveAllListeners(); cb.onItemIndexChange.RemoveAllListeners(); cb.Items = new List { "已停用".Translate(), "Store".Translate(), "LZ4", "Zstd" }; @@ -193,9 +219,9 @@ static class PatchUISaveGame rtrans.anchoredPosition3D = new Vector3(pos.x - 50, pos.y, pos.z); var size = rtrans.sizeDelta; rtrans.sizeDelta = new Vector2(150f, size.y); - var txt = _context.AutoSaveTypeComboBox.GetComponent(); + var txt = gameObj.GetComponent(); txt.text = "Compression for auto saves".Translate(); - var localizer = _context.AutoSaveTypeComboBox.GetComponent(); + var localizer = gameObj.GetComponent(); if (localizer != null) { localizer.stringKey = "Compression for auto saves"; diff --git a/CompressSave/README.md b/CompressSave/README.md index bb0a63e..260a3ae 100644 --- a/CompressSave/README.md +++ b/CompressSave/README.md @@ -7,6 +7,9 @@ ## Changelog +### 1.3.3 +* Fix a display issue on combobox of compression type. + ### 1.3.2 * Add config UI on Save Game dialog, to set compression types. * Change button text to `Save (Compress)` for better understanding. @@ -134,6 +137,9 @@ ## 更新日志 +### 1.3.3 +* 修复压缩类型下拉框显示问题。 + ### 1.3.2 * 在保存面板上增加设置压缩方式的UI。 * 将按钮文本改为`压缩保存`以区分功能。 diff --git a/CompressSave/package/manifest.json b/CompressSave/package/manifest.json index 5a3b343..5543d08 100644 --- a/CompressSave/package/manifest.json +++ b/CompressSave/package/manifest.json @@ -1,6 +1,6 @@ { "name": "CompressSave", - "version_number": "1.3.2", + "version_number": "1.3.3", "website_url": "https://github.com/soarqin/DSP_Mods/tree/master/CompressSave", "description": "Compress game saves to reduce space use and boost save speed / 压缩游戏存档以降低空间使用并提升保存速度", "dependencies": ["xiaoye97-BepInEx-5.4.17"]